DevOps 엔지니어는 vSphere IaaS control plane에 연결하여 TKG 서비스 클러스터의 수명 주기를 관리하고 프로비저닝합니다. 개발자는 TKG 서비스 클러스터에 연결하여 패키지, 워크로드 및 서비스를 배포합니다. 관리자는 문제를 해결하기 위해 TKG 서비스 클러스터 노드에 직접 액세스해야 할 수도 있습니다. 플랫폼에서는 각 사용 사례와 역할을 지원하는 ID 및 액세스 관리 도구와 방법을 제공합니다.
TKG 서비스 클러스터 액세스 범위가 vSphere 네임스페이스로 지정됨
vSphere 네임스페이스에서 TKG 서비스 클러스터를 프로비저닝합니다. vSphere 네임스페이스를 구성할 때 해당 DevOps 사용 권한(ID 소스, 사용자 및 그룹, 역할 포함)을 설정합니다. 플랫폼은 이러한 사용 권한을 해당 vSphere 네임스페이스에서 프로비저닝된 각 TKG 서비스 클러스터에 전파합니다. 플랫폼은 두 가지 인증 방법인 vCenter Single Sign-On 및 OIDC 준수 외부 ID 제공자를 지원합니다.
vCenter Single Sign-On 및 Kubectl을 사용한 인증
기본적으로 vCenter Single Sign-On은 감독자 및 TKG 서비스 클러스터를 포함한 환경에서 인증하는 데 사용됩니다. vCenter Single Sign-On은 vSphere 인프라에 대한 인증을 제공하고 AD/LDAP 시스템과 통합할 수 있습니다. 자세한 내용은 vCenter Single Sign-On을 사용한 vSphere 인증을 참조하십시오.
vCenter Single Sign-On을 사용하여 인증하려면 kubectl용 vSphere 플러그인을 사용합니다. 인증되면 kubectl을 사용하여 TKG 서비스 클러스터의 수명 주기를 선언적으로 프로비저닝 및 관리하고 감독자와 상호 작용합니다.
kubectl용 vSphere 플러그인 플러그인은 kubectl에 따라 다릅니다. kubectl vsphere login
명령으로 인증하는 경우 플러그인은 기본 인증을 사용하여 감독자의 /wcp/login 끝점에 대해 POST 요청을 발급합니다. vCenter Server는 감독자가 신뢰하는 JWT(JSON Web Token)를 발급합니다.
vCenter Single Sign-On을 사용하여 연결하려면 vCenter SSO 인증을 사용하여 TKG 서비스 클러스터에 연결 항목을 참조하십시오.
외부 ID 제공자 및Tanzu CLI를 사용하여 인증
OpenID Connect 프로토콜을 지원하는 외부 ID 제공자로 감독자를 구성할 수 있습니다. 일단 구성이 완료되면 감독자는 OAuth 2.0 클라이언트로 작동하며 Pinniped 인증 서비스를 통해 Tanzu CLI를 사용하여 클라이언트 연결을 제공합니다. Tanzu CLI는 TKG 서비스 클러스터의 수명 주기 관리 및 프로비저닝을 지원합니다. 각 감독자 인스턴스는 단일 외부 ID 제공자를 지원할 수 있습니다.
pinniped-auth CLI가 작동하도록 인증 플러그인 및 OIDC 발급자가 적절하게 구성되면 tanzu login --endpoint
를 사용하여 감독자에 로그인할 때 시스템은 잘 알려진 몇 가지 configmaps를 조회하여 pinniped config
구성 파일을 구축합니다.
외부 OIDC 제공자를 사용하여 연결하려면 외부 ID 제공자를 사용하여 감독자의 TKG 클러스터에 연결 항목을 참조하십시오.
하이브리드 방식을 사용한 인증: Tanzu CLI를 사용한 vCenter SSO
vCenter Single Sign-On을 ID 제공자로 사용 중이고 Tanzu CLI를 사용하려는 경우 하이브리드 접근 방식을 사용하고 두 도구를 모두 사용하여 감독자에 로그인할 수 있습니다. 이 방식은 표준 패키지를 설치하는 데 유용할 수 있습니다. Tanzu CLI 및 vCenter SSO 인증을 사용하여 감독자에 연결의 내용을 참조하십시오.
DevOps 사용자 및 그룹
vSphere 네임스페이스를 구성할 때 설정하는 사용 권한은 DevOps 사용자가 TKG 서비스 클러스터의 수명 주기를 관리하기 위한 것입니다. 사용 권한을 할당할 DevOps 사용자 또는 그룹은 ID 소스에 있어야 합니다. DevOps 사용자는 ID 제공자 자격 증명을 사용하여 인증합니다.
역할 사용 권한 및 바인딩
TKGS 클러스터를 위한 RBAC(역할 기반 액세스 제어) 시스템에는 vSphere 네임스페이스 사용 권한 및 Kubernetes RBAC 권한 부여의 두 가지 유형이 있습니다. vSphere 관리자는 사용자가 TKG 서비스 클러스터를 생성하고 운영할 수 있도록 vSphere 네임스페이스 사용 권한을 할당합니다. 클러스터 운영자는 Kubernetes RBAC를 사용하여 클러스터 액세스 권한을 부여하고 개발자에게 역할 사용 권한을 할당합니다. 개발자에게 TKG 서비스 클러스터에 대한 vCenter SSO 액세스 권한 부여의 내용을 참조하십시오.
vSphere 네임스페이스는 편집할 수 있음, 볼 수 있음 및 소유자의 세 가지 역할을 지원합니다. 역할 사용 권한은 TKG 서비스 클러스터를 호스팅하는 vSphere 네임스페이스에 할당되고 범위가 지정됩니다. TKG 서비스 클러스터 호스팅을 위한 vSphere 네임스페이스 구성의 내용을 참조하십시오.
cluster-admin
이라는 Kubernetes ClusterRole에 권한을 바인딩합니다.
cluster-admin
역할을 통해 사용자는 대상
vSphere 네임스페이스에서 TKG 서비스 클러스터를 프로비저닝하고 운영할 수 있습니다. 이 매핑은 대상
vSphere 네임스페이스에서
kubectl get rolebinding
명령을 사용하여 볼 수 있습니다.
kubectl get rolebinding -n tkgs-cluster-namespace NAME ROLE AGE wcp:tkg-cluster-namespace:group:vsphere.local:administrators ClusterRole/edit 33d wcp:tkg-cluster-namespace:user:vsphere.local:administrator ClusterRole/edit 33d
vSphere 네임스페이스에 대한 볼 수 있음 역할 사용 권한이 부여된 사용자/그룹은 해당 vSphere 네임스페이스에 프로비저닝된 TKG 서비스 클러스터 개체에 대한 읽기 전용 액세스 권한을 갖습니다. 그러나 편집할 수 있음 권한과 달리 볼 수 있음 역할의 경우 해당 vSphere 네임스페이스의 TKGS 클러스터에 생성된 Kubernetes RoleBinding이 없습니다. 그 이유는 Kubernetes에는 볼 수 있음 사용 권한이 부여된 사용자/그룹에 바인딩할 수 있는 동등한 읽기 전용 역할이 없기 때문입니다. cluster-admin
이외의 사용자의 경우 Kubernetes RBAC를 사용하여 액세스 권한을 부여합니다. 개발자에게 TKG 서비스 클러스터에 대한 vCenter SSO 액세스 권한 부여의 내용을 참조하십시오.
vSphere 사용 권한
이 표에는 다양한 vSphere IaaS control plane 개인 설정에 필요한 vSphere 사용 권한 유형이 있습니다. 필요한 경우 워크로드 관리를 위한 사용자 지정 vSphere SSO 그룹 및 역할을 생성할 수 있습니다. 플랫폼 운영자를 위한 전용 그룹 및 역할 생성의 내용을 참조하십시오.
개인 설정 | vSphere 역할 | vSphere SSO 그룹 | vSphere 네임스페이스 |
---|---|---|---|
VI/클라우드 관리자 | 관리자 | 관리자 | SSO 사용자 및/또는 AD 사용자 |
DevOps/플랫폼 운영자 | 관리자가 아닌 역할 또는 사용자 지정 역할 | ServiceProviderUsers | SSO 사용자 및/또는 AD 사용자 |
개발자 | 읽기 전용 또는 없음 | 없음 | SSO 사용자 및/또는 AD 사용자 |
시스템 관리자 연결
관리자는 TKG 서비스 클러스터 노드에 kubernetes-admin
사용자로 연결할 수 있습니다. vCenter Single Sign-On 인증을 사용할 수 없는 경우 이 방법이 적합할 수 있습니다. 문제 해결을 위해 시스템 관리자는 SSH 및 개인 키를 사용하여 TKG 서비스에 vmware-system-user
로 연결할 수 있습니다. Kubernetes 관리자 및 시스템 사용자로 TKG 서비스 클러스터에 연결의 내용을 참조하십시오.