Infograb logo
teleport-operator 차트 참조

teleport-operator Helm 차트는 Teleport Kubernetes Operator를 배포합니다.
차트를 통해 배포될 때, 이 운영자는 Kubernetes에 있는 Teleport 클러스터 또는 원격 클러스터(예: Teleport Cloud)에 참가할 수 있습니다.
자세한 내용은 원격 Teleport 클러스터를 위한 Kubernetes Operator 안내서를 참조하세요.

GitHub에서 소스를 살펴볼 수 있습니다.

버전 요구 사항

teleport-operator 차트는 Teleport 15에 도입되었습니다. 이전 버전은 teleport-cluster 차트와 별개로 운영자를 실행하는 것을 지원하지 않습니다.

teleport-operator 차트는 프로젝트된 볼륨 지원을 지닌 Kubernetes 1.20 이상을 요구합니다.

버전 호환성

이 차트는 Teleport Kubernetes Operator의 버전이 매겨져 있습니다. 운영자와 차트 버전이 다를 경우 호환성 보장이 없습니다. --version Helm 플래그를 사용하여 항상 차트와 운영자 버전을 일치시키는 것을 강력히 권장합니다.

enabled

TypeDefault
booltrue

enabled는 오퍼레이터가 활성화되고 배포되어야 하는지를 제어합니다.

  • true인 경우, 차트는 CustomResourceDefinition 및 오퍼레이터 Deployment Kubernetes 리소스를 모두 생성합니다.
  • false인 경우, 차트는 오퍼레이터 Deployment 없이 CustomResourceDefinition 리소스만 생성합니다.

installCRDs

TypeDefault
string"dynamic"

installCRDs는 차트가 CRDs를 설치해야 하는지를 제어합니다. 가능한 값은 3가지: dynamic, always, never.

  • "dynamic"은 오퍼레이터가 활성화되어 있거나 CRDs가 이미 클러스터에 존재하는 경우 CRDs가 설치된다는 의미입니다. 존재 여부 확인은 오퍼레이터를 일시적으로 비활성화할 때 모든 CRDs가 제거되는 것을 방지하기 위해 사용됩니다. CRDs를 제거하면 연쇄 삭제가 발생하여 CRs 및 Teleport의 모든 관련 리소스가 제거됩니다.
  • "always"는 CRDs가 항상 설치된다는 의미입니다.
  • "never"는 CRDs가 절대 설치되지 않는다는 의미입니다.

teleportAddress

TypeDefault
string""

teleportAddress는 오퍼레이터에 의해 관리되는 Teleport 클러스터의 주소입니다. 주소는 Teleport 클러스터의 도메인 이름과 포트를 모두 포함해야 합니다. Auth Service 또는 Proxy Service의 주소일 수 있습니다.

예를 들어:

  • Proxy에 참여: teleport.example.com:443 또는 teleport.example.com:3080
  • Auth에 참여: teleport-auth.example.com:3025
  • 클라우드 호스팅된 Teleport에 참여: example.teleport.sh:443

caPins

TypeDefault
list[string][]

caPins는 오퍼레이터가 Teleport Auth 서버의 신원을 검증하는 데 사용하는 Teleport CA 핑거프린트 목록입니다. 이는 Auth 서버(포트 3025)에 직접 참여할 때만 사용되며 Proxy를 통해 참여할 때는 무시됩니다.

joinMethod

TypeDefault
string"kubernetes"

joinMethod는 Teleport Kubernetes 오퍼레이터가 Teleport 클러스터에 참여하는 방법을 설명합니다. 오퍼레이터는 Teleport에 의해 발급된 신원을 저장하지 않으며 각 pod 재시작 시 클러스터에 다시 참여할 수 있어야 합니다. 이를 위해 위임된 참여 방법을 사용해야 합니다. kubernetes는 가장 일반적인 방법입니다.

teleportClusterName

TypeDefault
string""

teleportClusterName은 참여하는 Teleport 클러스터의 이름입니다. Kubernetes JWKS 참여 방법을 통해 참여할 때 이 값을 설정해야 합니다.

token

TypeDefault
string""

token은 오퍼레이터가 Teleport 클러스터에 참여하는 데 사용하는 토큰의 이름입니다.

teleportVersionOverride

TypeDefault
string""

teleportVersionOverride는 차트에 의해 배포된 Teleport Kubernetes 오퍼레이터 이미지 버전을 제어합니다.

일반적으로 Teleport Kubernetes 오퍼레이터의 버전은 차트의 버전과 일치합니다. 차트 버전 15.0.0을 설치하면 Teleport Kubernetes 오퍼레이터 버전 15.0.0을 사용하게 됩니다. 오퍼레이터 업그레이드는 차트를 업그레이드함으로써 이루어집니다.

Warning

teleportVersionOverride는 개발을 위한 것이며 일반 배포에서 Teleport 버전을 제어하는 데 사용되어서는 안 됩니다. 이 차트는 특정 Teleport 버전을 실행하도록 설계되었습니다. 이를 다른 Teleport 버전으로 실행하려고 하면 호환성 문제가 발생할 수 있습니다.

Teleport 버전 X.Y.Z를 실행하려면 helm install --version X.Y.Z를 대신 사용해야 합니다.

image

TypeDefault
string"public.ecr.aws/gravitational/teleport-operator"

image는 차트에 의해 실행되는 Teleport Kubernetes 오퍼레이터 pod에 사용되는 컨테이너 이미지를 설정합니다.

이를 통해 Teleport가 배포한 이미지가 아닌 사용자의 Teleport Kubernetes 오퍼레이터 이미지를 사용할 수 있습니다.

annotations

annotations.deployment

TypeDefault
object{}

annotations.deployment는 차트에 의해 생성된 Deployment 리소스에 추가된 Kubernetes 주석을 포함합니다.

annotations.pod

TypeDefault
object{}

annotations.pod는 차트에 의해 생성된 Pod 리소스에 추가된 Kubernetes 주석을 포함합니다.

annotations.serviceAccount

TypeDefault
object{}

annotations.serviceAccount는 차트에 의해 생성된 Deployment 리소스에 추가된 Kubernetes 주석을 포함합니다.

serviceAccount

serviceAccount.create

TypeDefault
booltrue

serviceAccount.create는 차트가 오퍼레이터를 위한 Kubernetes ServiceAccount 리소스를 생성해야 하는지를 제어합니다.

  • true인 경우, 차트는 오퍼레이터를 위한 ServiceAccount 리소스를 생성합니다.
  • false인 경우, 차트는 ServiceAccount 리소스를 생성하지 않습니다. 사용자가 별도로 배포하고 유지 관리할 책임이 있습니다.

이 값은 사용자가 ServiceAccount 리소스를 수정할 수 없는 제한된 환경에서 배포할 때 false로 설정될 수 있습니다.

serviceAccount.name

TypeDefault
string""

serviceAccount.name는 오퍼레이터 Kubernetes ServiceAccount의 이름을 제어합니다. 기본적으로 오퍼레이터 pods는 Helm 차트 릴리스에 따라 이름이 지정된 ServiceAccount를 사용합니다. 이 값은 이 동작을 재정의하며, serviceAccount.create가 false일 때 유용하여 오퍼레이터가 기존 ServiceAccount를 사용하도록 해야 합니다.

rbac

rbac.create

TypeDefault
booltrue

rbac.create는 차트가 RBAC Kubernetes 리소스를 생성해야 하는지를 제어합니다.

  • true인 경우, 차트는 오퍼레이터를 위한 RoleRoleBinding 리소스를 모두 생성합니다.
  • false인 경우, 차트는 RoleRoleBinding 리소스를 생성하지 않습니다. 사용자가 별도로 배포하고 유지 관리할 책임이 있습니다.

이 값은 사용자가 RBAC 리소스를 수정할 수 없는 제한된 환경에서 배포할 때 false로 설정될 수 있습니다.

imagePullPolicy

TypeDefault
string"IfNotPresent"

imagePullPolicy는 차트에 의해 생성된 pod의 모든 이미지 풀 정책을 설정합니다. 더 자세한 내용은 Kubernetes 문서를 참조하세요.

resources

TypeDefault
object{}

resources는 차트에 의해 생성된 모든 pod의 리소스 요청/한계를 설정합니다. 더 자세한 내용은 Kubernetes 문서를 참조하세요.

priorityClassName

TypeDefault
string""

priorityClassName은 차트에 의해 생성된 모든 pod에서 사용할 우선 순위 클래스를 설정합니다. 사용자는 차트를 배포하기 전에 PriorityClass 리소스를 생성할 책임이 있습니다. 더 자세한 내용은 Kubernetes 문서를 참조하세요.

tolerations

TypeDefault
list[]

tolerations는 차트에 의해 생성된 모든 pod에서의 허용 사항을 설정합니다. 더 자세한 내용은 Kubernetes 문서를 참조하세요.

nodeSelector

TypeDefault
object{}

nodeSelector는 차트에 의해 생성된 모든 pod의 노드 셀렉터를 설정합니다. 더 자세한 내용은 Kubernetes 문서를 참조하세요.

affinity

TypeDefault
object{}

affinity는 차트에 의해 생성된 모든 pod의 친화성을 설정합니다. 더 자세한 내용은 Kubernetes 문서를 참조하세요.

imagePullSecrets

TypeDefault
list[]

imagePullSecrets는 차트에 의해 생성된 모든 pod의 이미지 풀 비밀을 설정합니다. 더 자세한 내용은 Kubernetes 문서를 참조하세요.

highAvailability

highAvailability.replicaCount

TypeDefault
int1

highAvailability.replicaCount는 차트에 의해 배포된 오퍼레이터 pod 복제본의 수를 제어합니다.

여러 개의 pod가 실행되는 경우 모든 pod는 시작 시 Teleport 클러스터에 참여하지만 단일 pod가 리소스를 적극적으로 조정합니다.

오퍼레이터 복제본은 Kubernetes leases를 사용하여 리더 복제본을 선출합니다. 리더가 실패하면 그 임대가 만료되고 다른 복제본이 리소스를 조정하기 시작합니다.

tls

tls.existingCASecretName

TypeDefault
string""

tls.existingCASecretName은 오퍼레이터 pods가 추가 CA 인증서를 신뢰하게 만듭니다. 이는 개인 CA에 의해 서명된 Proxy 인증서를 신뢰하는 데 사용됩니다. 오퍼레이터는 기본적으로 Mozilla의 웹 PKI의 CA를 신뢰합니다(ca-certificates 패키지).

이 값을 사용하려면 동일한 네임스페이스에서 Teleport Kubernetes 오퍼레이터에 CA 인증서를 포함하는 Kubernetes Secret을 생성해야 합니다. 다음 명령어를 사용할 수 있습니다:

$ kubectl create secret generic my-root-ca --from-file=ca.pem=/path/to/root-ca.pem

podSecurityContext

TypeDefault
object{"fsGroup":65532,"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532,"seccompProfile":{"type":"RuntimeDefault"}}

podSecurityContext는 차트에 의해 생성된 모든 pod의 pod 보안 컨텍스트를 설정합니다. 더 자세한 내용은 Kubernetes 문서를 참조하세요.

기본 값은 restricted Pod Security Standard의 지원을 포함합니다.

securityContext

TypeDefault
object{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true}

securityContext는 차트에 의해 생성된 모든 pod의 컨테이너 보안 컨텍스트를 설정합니다. 더 자세한 내용은 Kubernetes 문서를 참조하세요.

기본 값은 restricted Pod Security Standard의 지원을 포함합니다.

Teleport 원문 보기