Teleport 에이전트 Helm 차트 구성
Helm 차트의 kubernetesDiscovery
값을 설정하여 서비스 발견의 범위를 구성할 수 있습니다. 자세한 내용은
헬름 차트 문서를 참조하십시오.
values.yaml
예시:
kubernetesDiscovery:
- types: ["app"]
namespaces: [ "toronto", "porto" ]
labels:
env: staging
- types: ["app"]
namespaces: [ "seattle", "oakland" ]
labels:
env: testing
Kubernetes 앱 발견 수동 구성
teleport-kube-agent
Helm 차트가 자동으로 구성해 주지만, 필수 서비스를 수동으로 구성할 수도 있습니다.
이를 위해서는 Teleport 애플리케이션 서비스와 Teleport 발견 서비스의 구성 파일을 조정한 후,
해당 서비스를 실행하고 있는 에이전트를 다시 시작하십시오.
발견 서비스의 구성은 kubernetes
필드에 의해 제어되며, 예시는 다음과 같습니다:
# 이 섹션은 발견 서비스를 구성합니다
discovery_service:
enabled: yes
discovery_group: main-cluster
kubernetes:
- types: ["app"]
namespaces: [ "toronto", "porto" ]
labels:
env: staging
- types: ["app"]
namespaces: [ "seattle", "oakland" ]
labels:
env: testing
애플리케이션 서비스의 구성은 resources
필드에 의해 제어되며, 예시는 다음과 같습니다:
app_service:
enabled: yes
resources:
- labels:
"teleport.dev/kubernetes-cluster": "main-cluster"
"teleport.dev/origin": "discovery-kubernetes"
레이블 teleport.dev/kubernetes-cluster
는 발견 서비스 구성의 discovery_group
필드 값과 일치해야 합니다.
자세한 내용은 discovery_service
및 app_service
구성 참조를 확인하십시오.
주석
Kubernetes 서비스의 주석은 서비스를 앱으로 변환하는 세부 조정을 하는 데 사용될 수 있습니다. 모든 주석은 선택 사항이며, 기본 동작을 재정의하지만 서비스의 가져오기에 필요하지 않습니다.
teleport.dev/discovery-type
이 서비스가 어떤 유형으로 간주되는지를 제어합니다. 주석이 없으면,
기본적으로 모든 서비스는 "app" 유형으로 간주됩니다. 발견 서비스의 구성에서
일치하는 서비스 유형이 있으면 가져오기가 진행됩니다. 현재 지원되는 값은
app
이며, 이는 Teleport 애플리케이션이 이 서비스에서 가져올 것임을 의미합니다.
향후 데이터베이스 가져오기로 확장할 계획이 있습니다.
teleport.dev/protocol
우리가 생성하는 Teleport 앱의 URI 프로토콜을 제어합니다. 주석이 설정되지 않으면,
노출된 포트의 프로토콜을 결정하기 위해 휴리스틱이 사용됩니다.
모든 휴리스틱이 작동하지 않으면 포트는 건너뜁니다. tcp
프로토콜로 가져오려면,
서비스는 명시적인 주석 teleport.dev/protocol: "tcp"
를 가져야 합니다.
teleport.dev/port
Kubernetes 서비스에 대한 선호 포트를 제어하며, 서비스가 여러 노출된 포트를 가지고 있더라도 오직 이 포트만 사용됩니다. 값은 노출된 서비스 포트 중 하나여야 하며, 그렇지 않으면 앱이 가져오지지 않습니다. 값은 숫자 값 또는 서비스에서 정의된 포트의 이름으로 일치할 수 있습니다.
teleport.dev/name
결과 앱 이름을 제어합니다. 존재할 경우 기본 앱 이름 패턴
$SERVICE_NAME-$NAMESPACE-$KUBE_CLUSTER_NAME
을 재정의합니다. 여러 포트가 노출된 경우,
결과 앱에는 주석 값에 포트 이름이 접미사로 추가됩니다.
예를 들어, $APP_NAME-$PORT1_NAME
, $APP_NAME-$PORT2_NAME
등으로 나타나며,
여기서 $APP_NAME
은 주석에 의해 설정된 이름입니다.
teleport.dev/insecure-skip-verify
이 앱에 대해 TLS 인증서 검증을 건너뛸지를 제어합니다.
존재하고 true
로 설정될 경우 TLS 인증서 검증이 건너뛰어집니다.
annotations:
teleport.dev/insecure-skip-verify: "true"
teleport.dev/ignore
이 서비스가 발견 서비스에 의해 무시되어야 하는지를 제어합니다. 이 주석은 발견 서비스 구성과 일치할 때, 앱으로 가져오지 않으려는 서비스를 제외할 때 유용합니다. 예를 들어, 가져오고자 하는 앱과 동일한 레이블을 가진 서비스를 제외하려는 경우 사용할 수 있습니다.
annotations:
teleport.dev/ignore: "true"
teleport.dev/app-rewrite
필요한 경우 Teleport 앱의 재작성 구성을 제어합니다. YAML 형식의 전체 재작성 구성을 포함해야 하며, 동적 등록 구문으로 앱을 구성할 때 사용하는 것과 동일합니다. (자세한 내용은 문서를 참조하십시오).
annotations:
teleport.dev/app-rewrite: |
redirect:
- "localhost"
- "jenkins.internal.dev"
headers:
- name: "X-Custom-Header"
value: "example"
- name: "Authorization"
value: "Bearer {{internal.jwt}}"