tbot 차트 레퍼런스
Teleport v18.9이 차트는 머신 및 워크로드 아이덴티티 에이전트인 TBot 인스턴스를 Kubernetes 클러스터에 배포합니다. 기본적으로 이 차트는 kubernetes 조인 방법을 사용하도록 설계되었지만, 위임된 조인 방법을 사용하도록 사용자 지정할 수 있습니다.
이 차트는 머신 및 워크로드 아이덴티티 에이전트인 TBot 인스턴스를 Kubernetes 클러스터에 배포합니다.
사용하려면 다음을 알아야 합니다:
- Teleport Proxy Service 또는 Auth Service의 주소
- Teleport 클러스터의 이름
- Kubernetes의 머신 및 워크로드 아이덴티티 가이드에 설명된 대로 머신 및 워크로드 아이덴티티 및 Kubernetes 클러스터에 대해 구성된 조인 토큰의 이름
기본적으로 이 차트는 kubernetes 조인 방법을 사용하도록 설계되었지만,
위임된 조인 방법을 사용하도록 사용자 지정할 수 있습니다. 이 차트에서 token 조인 방법을 사용하는 것은 권장하지 않습니다.
최소 구성#
이 기본 구성은 Teleport 자격증명 파일을 배포 네임스페이스에서 <helm-release-name>-out이라는 시크릿에 씁니다. 예를 들어 tbot-out입니다.
clusterName: "test.teleport.sh"
teleportProxyAddress: "test.teleport.sh:443"
token: "my-token"
전체 레퍼런스#
image#
| 유형 | 기본값 |
|---|---|
string |
"public.ecr.aws/gravitational/tbot-distroless" |
image는 이 차트가 생성하는 tbot 파드에 사용되는 컨테이너
이미지를 설정합니다.
Teleport가 게시한 이미지 대신 직접 만든 tbot 이미지를 사용하도록 이 값을 재정의할 수 있습니다.
clusterName#
| 유형 | 기본값 |
|---|---|
string |
"" |
clusterName은 Bot이 조인할 Teleport 클러스터의 이름이어야
합니다. tctl status를 실행하여 확인할 수 있습니다.
예를 들면 다음과 같습니다: clusterName: "test.teleport.sh"
teleportProxyAddress#
| 유형 | 기본값 |
|---|---|
string |
"" |
teleportProxyAddress는 봇이 연결할 teleport Proxy Service 주소입니다.
여기에는 포트 번호가 포함되어야 하며, Proxy Service의 경우 보통 443 또는 3080입니다.
Proxy Service에 연결하는 것이 Teleport에 연결하는 가장 일반적이고 권장되는 방법입니다.
Teleport Enterprise (Cloud)에 연결하려면 이 설정이 필수입니다.
이 설정은 teleportProxyAddress와 상호 배타적이며 tbotConfig가 설정된 경우 무시됩니다.
예를 들면 다음과 같습니다:
teleportProxyAddress: "test.teleport.sh:443"
teleportAuthAddress#
| 유형 | 기본값 |
|---|---|
string |
"" |
teleportAuthAddress는 봇이 연결할 teleport Auth Service 주소입니다.
여기에는 포트 번호가 포함되어야 하며, Auth Service의 경우 보통 3025입니다. 직접 Auth Service 연결은
teleport-cluster Helm 릴리스와 동일한 Kubernetes 클러스터에 봇을 배포하고
Auth Service에 직접 접근할 수 있는 경우에 사용해야 합니다.
그렇지 않은 경우에는 Proxy Service를 통해 연결하는 것을 권장합니다.
이 설정은 teleportProxyAddress와 상호 배타적이며 tbotConfig가 설정된 경우 무시됩니다.
예를 들면 다음과 같습니다:
teleportAuthAddress: "teleport-auth.teleport-namespace.svc.cluster.local:3025"
defaultOutput#
defaultOutput은 tbot 에이전트에 구성되는 기본 출력을 제어합니다.
tbotConfig가 설정된 경우 무시됩니다.
defaultOutput.enabled#
| 유형 | 기본값 |
|---|---|
bool |
true |
defaultOutput.enabled는 기본 출력의 활성화 여부를 제어합니다.
argocd#
argocd는 Teleport가 관리하는 Kubernetes 클러스터를 Argo CD로
동기화하도록 tbot을 구성합니다.
tbotConfig가 설정된 경우 무시됩니다.
argocd.enabled#
| 유형 | 기본값 |
|---|---|
bool |
false |
argocd.enabled는 Argo CD 출력의 활성화 여부를 제어합니다.
argocd.clusterSelectors#
| 유형 | 기본값 |
|---|---|
list |
[] |
argocd.clusterSelectors는 어떤 Kubernetes 클러스터가 Argo CD로
동기화될지 결정합니다.
예를 들면 다음과 같습니다:
clusterSelectors:
- name: my-cluster-1
- labels:
environment: production
argocd.secretNamespace#
| 유형 | 기본값 |
|---|---|
string |
"" |
argocd.secretNamespace는 클러스터 시크릿이 기록될 Kubernetes
네임스페이스를 결정합니다(Argo CD가 실행 중인 네임스페이스여야 합니다).
기본값은 현재 네임스페이스입니다.
argocd.secretNamePrefix#
| 유형 | 기본값 |
|---|---|
string |
"" |
argocd.secretNamePrefix는 클러스터 시크릿 이름에 접두어로 붙는
문자열을 재정의합니다. 기본값은 "teleport.argocd-cluster"입니다.
argocd.secretLabels#
| 유형 | 기본값 |
|---|---|
object |
{} |
argocd.secretLabels는 클러스터 시크릿에 적용될 레이블 집합을
제공합니다. 레이블 값은 다음 변수를 사용하는 Go 템플릿 문자열(Helm이 아니라
tbot이 렌더링)일 수 있습니다:
- {{.ClusterName}} - Teleport 클러스터의 이름
- {{.KubeName}} - Kubernetes 클러스터 리소스의 이름
- {{.Labels}} - Kubernetes 클러스터 리소스에 적용된 레이블의 맵으로,
\{\{index .Labels "key"\}\}를 사용하여 인덱싱할 수 있습니다
레이블 값이 비어 있으면 해당 레이블은 시크릿에 추가되지 않습니다.
argocd.secretAnnotations#
| 유형 | 기본값 |
|---|---|
object |
{} |
argocd.secretAnnotations는 클러스터 시크릿에 적용될 어노테이션
집합을 제공합니다. 어노테이션 값은 다음 변수를 사용하는 Go 템플릿 문자열
(Helm이 아니라 tbot이 렌더링)일 수 있습니다:
- {{.ClusterName}} - Teleport 클러스터의 이름
- {{.KubeName}} - Kubernetes 클러스터 리소스의 이름
- {{.Labels}} - Kubernetes 클러스터 리소스에 적용된 레이블의 맵으로,
\{\{index .Labels "key"\}\}를 사용하여 인덱싱할 수 있습니다
어노테이션 값이 비어 있으면 해당 어노테이션은 시크릿에 추가되지 않습니다.
argocd.project#
| 유형 | 기본값 |
|---|---|
string |
"" |
argocd.project는 Kubernetes 클러스터가 연결될 Argo CD 프로젝트를
설정합니다.
argocd.namespaces#
| 유형 | 기본값 |
|---|---|
list |
[] |
argocd.namespaces는 Argo CD 클러스터가 어떤 Kubernetes 네임스페이스에서
동작할 수 있는지 제어합니다.
argocd.clusterResources#
| 유형 | 기본값 |
|---|---|
bool |
false |
argocd.clusterResources는 Argo CD 클러스터가 클러스터 범위 리소스에서
동작할 수 있는지 여부를 결정합니다(argocd.namespaces가 비어 있지 않은
경우에만 해당).
argocd.clusterNameTemplate#
| 유형 | 기본값 |
|---|---|
string |
"" |
argocd.clusterNameTemplate은 Argo CD의 클러스터 이름 형식을
결정합니다. 다음 변수를 지원하는 Go 템플릿 문자열(Helm이 아니라 tbot이
렌더링)입니다:
- {{.ClusterName}} - Teleport 클러스터의 이름
- {{.KubeName}} - Kubernetes 클러스터 리소스의 이름
- {{.Labels}} - Kubernetes 클러스터 리소스에 적용된 레이블의 맵으로,
\{\{index .Labels "key"\}\}를 사용하여 인덱싱할 수 있습니다
기본적으로 다음 템플릿이 사용됩니다: "{{.ClusterName}}-{{.KubeName}}".
persistence#
persistence는 tbot 에이전트가 데이터를 저장하는 방식을 제어합니다.
옵션:
- "secret": Kubernetes Secret을 사용합니다.
- "disabled": 데이터를 영속화하지 않습니다. 봇 배포의 수명 주기 전반에 걸쳐 추적하는 기능에 영향을 줄 수 있습니다.
tbotConfig#
| 유형 | 기본값 |
|---|---|
object |
{} |
tbotConfig는 tbot 파드에 전달할 YAML teleport 구성을 포함합니다.
이 구성은 차트가 생성한 구성과 병합되며 충돌이 발생하는 경우
우선합니다. 가능하면 이 차트 전반에 걸쳐 제공되는 더 구체적인
구성 값을 사용하는 것을 권장합니다.
outputs#
| 유형 | 기본값 |
|---|---|
list |
[] |
outputs는 tbot 에이전트에 구성할 추가 출력을 포함합니다.
이는 tbot.yaml의 outputs 필드와 동일한 형식이어야 합니다.
tbotConfig가 설정된 경우 무시됩니다.
services#
| 유형 | 기본값 |
|---|---|
list |
[] |
services는 tbot 에이전트에 구성할 추가 서비스를 포함합니다.
이는 tbot.yaml의 services 필드와 동일한 형식이어야 합니다.
tbotConfig가 설정된 경우 무시됩니다.
joinMethod#
| 유형 | 기본값 |
|---|---|
string |
"kubernetes" |
joinMethod는 tbot이 Teleport 클러스터에 조인하는 방식을 설명합니다.
지원되는 값 목록과 자세한 설명은 조인 방법 레퍼런스를 참고하세요.
tbotConfig가 설정된 경우 무시됩니다.
token#
| 유형 | 기본값 |
|---|---|
string |
"" |
token은 tbot이 Teleport 클러스터에 조인할 때 사용하는 토큰의 이름입니다.
이 값은 joinMethod가 "token"으로 설정된 경우가 아니라면 민감하지 않습니다.
기본값은 릴리스 이름입니다.
tbotConfig가 설정된 경우 무시됩니다.
teleportVersionOverride#
| 유형 | 기본값 |
|---|---|
string |
"" |
teleportVersionOverride는 차트가 배포하는 tbot 이미지 버전을
제어합니다.
일반적으로 tbot의 버전은 차트의 버전과 일치합니다. 차트 버전 15.0.0을 설치하면 tbot 버전 15.0.0을 사용하게 됩니다. tbot 업그레이드는 차트를 업그레이드하여 수행합니다.
teleportVersionOverride는 개발용이며 일반적인 배포에서 Teleport
버전을 제어하는 데 사용해서는 안 됩니다. 이 차트는 특정 Teleport
버전을 실행하도록 설계되었습니다. 다른 Teleport 버전을 실행하려고
하면 호환성 문제가 발생합니다.
Teleport 버전 X.Y.Z를 실행하려면 대신
helm install --version X.Y.Z를 사용해야 합니다.
anonymousTelemetry#
| 유형 | 기본값 |
|---|---|
bool |
false |
anonymousTelemetry는 익명 원격 측정의 활성화 여부를 제어합니다.
debug#
| 유형 | 기본값 |
|---|---|
bool |
false |
debug는 tbot 에이전트가 디버그 모드로 실행되는지 여부를 제어합니다.
serviceAccount#
serviceAccount는 차트가 배포하고 사용하는 Kubernetes ServiceAccount를
제어합니다.
serviceAccount.create#
| 유형 | 기본값 |
|---|---|
bool |
true |
serviceAccount.create는 Helm Chart가 에이전트를 위한 Kubernetes
ServiceAccount 리소스를 생성하는지 여부를 제어합니다.
비활성화된 경우, 적절한 ServiceAccount 리소스를 생성하는 것은
사용자의 책임입니다.
serviceAccount.name#
| 유형 | 기본값 |
|---|---|
string |
"" |
serviceAccount.name은 차트에서 사용하는 ServiceAccount 리소스의
이름을 설정합니다. 기본적으로 ServiceAccount는 Helm 릴리스의 이름을
가집니다.
rbac#
rbac는 serviceAccount가 사용하는 Kubernetes Role 및 RoleBinding
생성을 제어합니다
rbac.create#
| 유형 | 기본값 |
|---|---|
bool |
true |
rbac.create는 Helm Chart가 Kubernetes SA를 위한 Kubernetes
Role 및 RoleBindings 리소스를 생성하는지 여부를 제어합니다.
비활성화된 경우, 적절한 리소스를 생성하는 것은 사용자의 책임입니다.
imagePullPolicy#
| 유형 | 기본값 |
|---|---|
string |
"IfNotPresent" |
imagePullPolicy는 차트가 생성하는 모든 파드에 대한 풀 정책을 설정합니다.
자세한 내용은 Kubernetes 문서를
참고하세요.
extraLabels#
extraLabels는 차트가 생성하는 리소스에 적용할 추가 Kubernetes 레이블을
포함합니다.
자세한 내용은 Kubernetes 레이블 문서
를
참고하세요.
extraLabels.role#
| 유형 | 기본값 |
|---|---|
object |
{} |
extraLabels.role은 Role에 설정할 레이블입니다.
extraLabels.roleBinding#
| 유형 | 기본값 |
|---|---|
object |
{} |
extraLabels.roleBinding은 RoleBinding에 설정할 레이블입니다.
extraLabels.config#
| 유형 | 기본값 |
|---|---|
object |
{} |
extraLabels.config는 ConfigMap에 설정할 레이블입니다.
extraLabels.deployment#
| 유형 | 기본값 |
|---|---|
object |
{} |
extraLabels.deployment는 Deployment 또는 StatefulSet에 설정할 레이블입니다.
extraLabels.pod#
| 유형 | 기본값 |
|---|---|
object |
{} |
extraLabels.pod는 Deployment 또는 StatefulSet이 생성하는 Pod에
설정할 레이블입니다.
extraLabels.serviceAccount#
| 유형 | 기본값 |
|---|---|
object |
{} |
extraLabels.serviceAccount는 ServiceAccount에 설정할 레이블입니다.
annotations#
annotations는 차트가 생성하는 여러 Kubernetes 객체에 적용할
어노테이션을 포함합니다. 자세한 내용은 Kubernetes 어노테이션
문서를
참고하세요.
annotations.role#
| 유형 | 기본값 |
|---|---|
object |
{} |
annotations.role은 Role에 설정할 어노테이션입니다.
annotations.roleBinding#
| 유형 | 기본값 |
|---|---|
object |
{} |
annotations.roleBinding은 RoleBinding에 설정할 어노테이션입니다.
annotations.config#
| 유형 | 기본값 |
|---|---|
object |
{} |
annotations.config는 차트가 생성하는 ConfigMap 리소스에
설정하는 Kubernetes 어노테이션을 포함합니다.
annotations.deployment#
| 유형 | 기본값 |
|---|---|
object |
{} |
annotations.deployment는 차트가 생성하는 Deployment 또는
StatefulSet 리소스에 설정하는 Kubernetes 어노테이션을 포함합니다.
annotations.pod#
| 유형 | 기본값 |
|---|---|
object |
{} |
annotations.pod는 차트가 생성하는 Pod 리소스에 설정하는
Kubernetes 어노테이션을 포함합니다.
annotations.serviceAccount#
| 유형 | 기본값 |
|---|---|
object |
{} |
annotations.serviceAccount는 차트가 생성하는 ServiceAccount
리소스에 설정하는 Kubernetes 어노테이션을 포함합니다.
resources#
| 유형 | 기본값 |
|---|---|
object |
{} |
resources는 차트가 생성하는 모든 파드에 대한 리소스 요청/제한을 설정합니다.
자세한 내용은 Kubernetes 문서를
참고하세요.
affinity#
| 유형 | 기본값 |
|---|---|
object |
{} |
affinity는 차트가 생성하는 모든 파드에 대한 어피니티를 설정합니다.
자세한 내용은 Kubernetes 문서를
참고하세요.
tolerations#
| 유형 | 기본값 |
|---|---|
list |
[] |
tolerations는 차트가 생성하는 모든 파드에 대한 톨러레이션을 설정합니다.
자세한 내용은 Kubernetes 문서를
참고하세요.
nodeSelector#
| 유형 | 기본값 |
|---|---|
object |
{} |
nodeSelector는 차트가 생성하는 모든 파드에 대한 노드 셀렉터를 설정합니다.
자세한 내용은 Kubernetes 문서를
참고하세요.
imagePullSecrets#
| 유형 | 기본값 |
|---|---|
list |
[] |
imagePullSecrets는 차트가 생성하는 모든 파드에 대한 이미지 풀 시크릿을 설정합니다.
자세한 내용은 Kubernetes 문서를
참고하세요.
extraVolumes#
| 유형 | 기본값 |
|---|---|
list |
[] |
extraVolumes는 Teleport 파드에 마운트할 추가 볼륨을 포함합니다.
자세한 내용은 Kubernetes 볼륨 문서를
참고하세요.
예를 들면 다음과 같습니다:
extraVolumes:
- name: myvolume
secret:
secretName: testSecret
extraVolumeMounts#
| 유형 | 기본값 |
|---|---|
list |
[] |
extraVolumeMounts는 메인 Teleport 컨테이너에 대한 추가 볼륨 마운트를 포함합니다.
자세한 내용은 Kubernetes 볼륨 문서를
참고하세요.
예를 들면 다음과 같습니다:
extraVolumesMounts:
- name: myvolume
mountPath: /path/on/host
extraArgs#
| 유형 | 기본값 |
|---|---|
list |
[] |
extraArgs는 메인 tbot 파드의 tbot start에 전달할 추가 인수를
포함합니다
extraEnv#
| 유형 | 기본값 |
|---|---|
list |
[] |
extraEnv는 메인 tbot 파드에 설정할 추가 환경 변수를
포함합니다.
예를 들면 다음과 같습니다:
extraEnv:
- name: HTTPS_PROXY
value: "http://username:password@my.proxy.host:3128"
securityContext#
| 유형 | 기본값 |
|---|---|
object |
null |
securityContext는 차트가 생성하는 모든 파드에 대한 컨테이너 보안 컨텍스트를 설정합니다.
자세한 내용은 Kubernetes 문서를
참고하세요.
기본적으로 이 값은 설정되어 있지 않습니다.
podSecurityContext#
| 유형 | 기본값 |
|---|---|
object |
null |
podSecurityContext는 차트가 생성하는 모든 파드에 대한 파드 보안 컨텍스트를 설정합니다.
자세한 내용은 Kubernetes 문서를
참고하세요.
기본적으로 이 값은 설정되어 있지 않습니다.