開發人員使用者和開發群組是主管上 TKG 叢集的目標使用者。佈建 TKG 叢集後,您可以使用 vCenter Single Sign-On 驗證或外部身分識別提供者授與開發人員存取權。

開發人員驗證

叢集管理員可以向其他使用者授與叢集存取權,例如開發人員。開發人員可使用其使用者帳戶直接將網繭部署到叢集,或使用服務帳戶間接部署。
  • 若要進行使用者帳戶驗證,TKG 叢集支援 vCenter Single Sign-On 使用者和群組。使用者或群組可以是 vCenter Server 的本機使用者或群組,或從支援的目錄伺服器進行同步。
  • 外部 OIDC 使用者和群組直接對應到 vSphere 命名空間角色。
  • 若要進行服務帳戶驗證,您可以使用服務 Token。如需詳細資訊,請參閱 Kubernetes 說明文件。

將開發人員使用者新增至叢集

將叢集存取權授與開發人員:
  1. 為使用者或群組定義 Role 或 ClusterRole,並將其套用至叢集。如需詳細資訊,請參閱 Kubernetes 說明文件。
  2. 為使用者或群組建立 RoleBinding 或 ClusterRoleBinding,並將其套用至叢集。請參閱下列範例。

範例 RoleBinding

若要向 vCenter Single Sign-On 使用者或群組授與存取權,RoleBinding 中的主題必須包含 name 參數的以下任一值。
表 1. 支援的使用者和群組欄位
欄位 說明
sso:USER-NAME@DOMAIN 例如,本機使用者名稱,例如 sso:joe@vsphere.local
sso:GROUP-NAME@DOMAIN 例如,與 vCenter Server 整合的目錄伺服器中的群組名稱,例如 sso:devs@ldap.example.com

下列範例 RoleBinding 會將名為 Joe 的 vCenter Single Sign-On 本機使用者繫結至名為 edit 的預設 ClusterRole。此角色允許對命名空間中的大多數物件進行讀取/寫入存取,在此案例中為 default 命名空間。

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: rolebinding-cluster-user-joe
  namespace: default
roleRef:
  kind: ClusterRole
  name: edit                             #Default ClusterRole
  apiGroup: rbac.authorization.k8s.io
subjects:
- kind: User
  name: sso:joe@vsphere.local            #sso:<username>@<domain>
  apiGroup: rbac.authorization.k8s.io