Este documento descreve como se pode ligar ao GKE no AWS como membro de um Grupo Google.
A utilização de grupos Google para conceder acesso ao cluster é mais eficiente do que a criação de autorizações separadas para utilizadores individuais. Por exemplo, suponhamos que quer adicionar 50 utilizadores ao grupo de administradores do cluster, 75 utilizadores a um grupo de editores e 100 utilizadores a um grupo de leitores. Permitir que todos estes utilizadores se liguem ao seu cluster exigiria a criação de regras RBAC no ficheiro do manifesto do Kubernetes para 225 utilizadores. No entanto, a ativação do acesso ao cluster com grupos Google poupa-lhe tempo, uma vez que só tem de criar regras de RBAC para três grupos Google.
Antes de começar
Para se ligar ao cluster como membro de um grupo Google, tem de cumprir os seguintes pré-requisitos:
Certifique-se de que tem a versão mais recente da CLI Google Cloud. Para obter informações sobre a atualização da CLI gcloud, consulte
gcloud components update.Use a versão 1.25 ou superior do GKE no AWS, que é necessária para o
kubectlacesso através do gateway de ligação.
Ligue-se ao seu cluster com os Grupos Google
Para autorizar grupos Google a estabelecer ligação ao GKE no AWS, siga estes passos:
Ative as APIs
connectgatewayecloudresourcemanagercom o seguinte comando:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.comSubstitua
PROJECT_IDpelo ID do seu projeto da AWS.Crie um grupo denominado
gke-security-groupscomo um grupo no domínio do seu projeto, se não existir.Crie um ou mais subgrupos no grupo
gke-security-groupspara autenticação de cluster.Adicione utilizadores aos subgrupos recém-criados.
Para o acesso
kubectlatravés do gateway de ligação, tem de conceder funções do IAM aos grupos Google:Selecione uma função adequada para um grupo. Esta função determina como o grupo interage com o gateway de ligação. A função pode ser uma das seguintes:
roles/gkehub.gatewayAdmin,roles/gkehub.gatewayEditor,roles/gkehub.gatewayReader. (Tenha em atenção que não está a conceder autorizações sobre o cluster aqui. Esse passo é posterior. Aqui, está apenas a determinar como os utilizadores do grupo podem manipular a gateway de ligação.)Execute o seguinte comando para conceder a função ao grupo:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=group:GROUP_NAME@DOMAIN \ --role=GATEWAY_ROLESubstitua o seguinte:
PROJECT_ID: o ID do seu projeto GoogleGROUP_NAME: o nome do grupo ao qual conceder acessoDOMAIN: o seu domínio do Google WorkspaceGATEWAY_ROLE: a função selecionada. Por exemploroles/gkehub.gatewayAdmin,roles/gkehub.gatewayEditorouroles/gkehub.gatewayReader.
Num manifesto do Kubernetes, defina as autorizações que cada grupo Google tem no cluster. Por exemplo, o seguinte manifesto concede ao grupo do Google
cluster-admin-teama função de administrador do cluster:apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: gateway-cluster-admin-group subjects: - kind: Group name: cluster-admin-team@example.com roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.ioGuarde o manifesto num ficheiro e aplique-o ao cluster executando o seguinte comando:
kubectl apply -kubeconfig=KUBECONFIG_PATH -f FILENAMESubstitua o seguinte:
KUBECONFIG_PATH: o caminho para o ficheirokubeconfig.FILENAME: o nome do ficheiro de manifesto que criou.
Depois de realizar estes passos, os utilizadores pertencentes a determinados grupos Google podem
estabelecer ligação ao cluster. No exemplo apresentado, os utilizadores pertencentes ao grupo do Google cluster-admin-team podem estabelecer ligação ao cluster como administradores.