Pré-requisitos para registrar um cluster

Nesta página, descrevemos os pré-requisitos e requisitos para registrar um cluster do Kubernetes em uma frota do Google Cloud, incluindo a configuração de rede, do Google Cloud e do cluster do Kubernetes, bem como os requisitos de recursos do agente do Connect.

Todos os registros

Veja a seguir os pré-requisitos para registrar manualmente clusters de qualquer tipo.

Instalar ferramentas de linha de comando

Verifique se você tem as ferramentas de linha de comando a seguir instaladas. Se você estiver usando o Cloud Shell como ambiente shell para interagir com o Google Cloud, essas ferramentas estarão instaladas.

Instale a ferramenta de linha de comando gcloud.

A ferramenta de linha de comando gcloud é a interface de linha de comando (CLI) para o Google Cloud e está incluída no SDK do Cloud. É possível registrar clusters usando a ferramenta de linha de comando gcloud ou, dependendo do tipo de cluster, usando outras ferramentas, como o Terraform ou o Console do Cloud. No entanto, mesmo que você não a use para registro de cluster, gcloud é obrigatória ou útil para muitas das outras etapas de configuração desta página.

  1. Se você ainda não tiver feito isso, instale o SDK do Cloud seguindo as instruções de instalação. Você precisa da versão 281.0.0 ou superior do SDK do Cloud.

  2. Execute o seguinte comando para fazer login no Google Cloud:

gcloud auth login
  1. (Opcional) Instale o componente gcloud beta, se você planeja testar recursos Alfa ou Beta do Connect:
 gcloud components install beta 

Instale o kubectl (em inglês)

Embora kubectl não seja obrigatório para registrar um cluster, ele pode ser necessário para conceder as permissões de controle de acesso baseado em papéis (RBAC, na sigla em inglês) ao usuário que registra o cluster, se ele não for o proprietário, e também outras configurações específicas da plataforma. Você precisa de uma versão de kubectl não inferior à versão mínima compatível do Kubernetes do Google Kubernetes Engine (GKE).

Recomendamos instalar o kubectl com o SDK do Cloud.

Para verificar a versão do kubectl:

kubectl version

A versão do cliente é indicada por gitVersion da saída.

Para instalar kubectl:

gcloud components install kubectl

Ative as APIs

É preciso ativar as seguintes APIs no projeto do Google Cloud:

  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • cloudresourcemanager.googleapis.com

Os pods no cluster precisam ser capazes de acessar os endereços googleapis.com e gkeconnect.googleapis.com, seja diretamente ou usando um servidor proxy configurado.

Se você quiser ativar a identidade da carga de trabalho para seu registro, faça o seguinte:

  • iam.googleapis.com

Os proprietários que não são do projeto precisam receber a permissão serviceusage.services.enable antes de ativar APIs.

gcloud

Para ativar essas APIs, execute o seguinte comando:

gcloud services enable \
   --project=FLEET_HOST_PROJECT_ID \
   container.googleapis.com \
   gkeconnect.googleapis.com \
   gkehub.googleapis.com \
   cloudresourcemanager.googleapis.com \
   iam.googleapis.com

onde:

Se não quiser ativar a identidade da carga de trabalho da frota, omita iam.googleapis.com.

Para listar as APIs ativadas nos projetos, siga as instruções em Como listar serviços na documentação do Service Usage.

Conceder os papéis necessários do IAM ao usuário que registra o cluster

Ter roles/owner no seu projeto oferece controle total e permite concluir todas as tarefas de registro.

Se você não tiver roles/owner em seu projeto, será necessário receber papéis específicos do IAM antes de conectar clusters ao Google. Consulte Conectar papéis do IAM.

Os papéis do IAM a seguir garantem que você possa registrar e se conectar a clusters usando uma conta de serviço:

  • roles/gkehub.admin
  • roles/iam.serviceAccountAdmin
  • roles/iam.serviceAccountKeyAdmin
  • roles/resourcemanager.projectIamAdmin

Somente para clusters do GKE, também é possível adicionar o papel a seguir para receber permissões de administrador no cluster, caso ainda não tenha feito isso. É provável que a conta de usuário tenha acesso a ele, caso tenha sido criado:

  • roles/container.admin

Para clusters do GKE, esse papel do IAM inclui o controle de acesso baseado em papéis (RBAC, na sigla em inglês) do Kubernetes.cluster-admin usuário. Para outros ambientes de cluster, você precisa conceder esse papel do RBAC usando kubectl, conforme descrito na seção a seguir. Saiba mais sobre a relação entre os papéis de IAM e RBAC no GKE na documentação do GKE.

Se você estiver registrando um cluster usando a Identidade da carga de trabalho, basta ter o seguinte papel do IAM:

  • roles/gkehub.admin

gcloud

Para conceder esses papéis, execute o seguinte comando:

gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \
   --member user:GCP_EMAIL_ADDRESS \
   --role=roles/gkehub.admin \
   --role=roles/iam.serviceAccountAdmin \
   --role=roles/iam.serviceAccountKeyAdmin \
   --role=roles/resourcemanager.projectIamAdmin

onde:

  • FLEET_HOST_PROJECT_ID é o ID do projeto do Google Cloud em que você quer registrar clusters. Saiba como encontrar esse valor.
  • GCP_EMAIL_ADDRESS é o registro de conta usado pelos usuários para fazer login no Google Cloud.

Para saber mais sobre como conceder papéis do IAM, consulte Como conceder, alterar e revogar o acesso a recursos na documentação do IAM.

Conceder papéis somente leitura a outros usuários

Os usuários autenticados com os papéis a seguir podem visualizar clusters de usuário registrados no Console do Cloud. Estes papéis fornecem acesso somente leitura:

  • roles/gkehub.viewer
  • roles/container.viewer

gcloud

Para conceder os papéis necessários a um usuário, execute o seguinte comando:

gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \
   --member user:USER_EMAIL_ADDRESS \
   --role roles/gkehub.viewer \
   --role=roles/container.viewer

onde:

  • FLEET_HOST_PROJECT_ID é o ID do projeto do Google Cloud em que você quer registrar clusters. Saiba como encontrar esse valor.
  • USER_EMAIL_ADDRESS é o endereço de e-mail de um usuário autenticado.

Conceder o papel RBAC de administrador do cluster ao usuário que o registra

O ClusterRole de controle de acesso baseado em papéis (RBAC, na sigla em inglês) cluster-admin concede as permissões necessárias para registrar o cluster. Se o cluster que você quer registrar estiver no Google Cloud, será possível conseguir as mesmas permissões usando o papel roles/container.admin do IAM, conforme descrito em Configuração do Google Cloud e configuração.

kubectl

Se você criou o cluster, é provável que já tenha esse papel. Para verificar, execute o seguinte comando:

kubectl auth can-i '*' '*' --all-namespaces

Se você ou outro usuário precisar do papel, crie um recurso "ClusterRoleBinding" no cluster:

kubectl create clusterrolebinding BINDING_NAME --clusterrole cluster-admin --user USER

onde:

  • BINDING_NAME é um nome que você escolhe para o recurso "ClusterRoleBinding";
  • USER é a identidade usada para se autenticar no cluster.

Para mais informações sobre o papel cluster-admin, consulte a documentação do Kubernetes.

Clusters do GKE no Google Cloud

Se você estiver registrando um cluster do GKE no Google Cloud, talvez seja necessário fazer uma ou mais das seguintes ações antes de registrar o cluster, dependendo da opção de registro escolhida.

Ativar a Identidade da carga de trabalho do GKE

Se você quiser registrar clusters do GKE com a identidade da carga de trabalho da frota ativada, verifique se a identidade da carga de trabalho do GKE está ativada no cluster antes do registro. Registrar um cluster do GKE com a identidade da carga de trabalho da frota sem ter a identidade da carga de trabalho do GKE ativada no cluster pode levar a inconsistências na forma como a identidade é declarada pelas cargas de trabalho no cluster, e não é uma configuração compatível. Saiba mais sobre as vantagens do registro usando a identidade da carga de trabalho da frota em Como registrar um cluster.

gcloud

Para verificar se o cluster do GKE tem a identidade da carga de trabalho ativada, execute o seguinte comando para listar o pool de Identidade da carga de trabalho do cluster:

gcloud container clusters describe CLUSTER_NAME --format="value(workloadIdentityConfig.workloadPool)"

Substitua:

  • CLUSTER_NAME: o name do cluster do GKE.

Se aparecer um resultado semelhante ao seguinte, a Identidade da carga de trabalho já estará ativada no cluster do GKE.

GKE_PROJECT_ID.svc.id.goog

Se não houver resultados, a identidade da carga de trabalho não será ativada. Para ativar a Identidade da carga de trabalho, siga as instruções em Como ativar a Identidade da carga de trabalho.

Conceder permissões para registrar um cluster em um projeto diferente

Registrar um cluster do GKE na frota no próprio projeto não requer nenhuma configuração de permissão especial além daquela descrita na seção Todos os registros. Se você quiser registrar um cluster do GKE partindo do próprio projeto (GKE_PROJECT) para uma frota em um projeto diferente (FLEET_HOST_PROJECT), a conta do agente de serviço gcp-sa-gkehub de FLEET_HOST_PROJECT precisará ter o papel gkehub.serviceAgent no projeto GKE_PROJECT. Este papel concede à conta de serviço as permissões para gerenciar recursos de cluster nesse projeto.

É possível verificar se a conta de serviço gcp-sa-gkehub do projeto host da frota tem o papel necessário no projeto do cluster usando a ferramenta gcloud ou o Console do Cloud, da seguinte maneira.

gcloud

Execute este comando:

gcloud projects get-iam-policy GKE_PROJECT_ID

Console

  1. Com o projeto do cluster selecionado, acesse a página IAM e administrador no Console do Cloud.

Acesse a página "IAM e administrador" 1. Marque a caixa de seleção Incluir concessões de papel fornecidas pelo Google para ver a política completa, incluindo os agentes de serviço.

Se você vir gcp-sa-gkehub, ele terá o formato service-[FLEET_HOST-PROJECT-NUMBER]@gcp-sa-gkehub.iam.gserviceaccount.com. Exemplo:

  - members:
    - serviceAccount:service-1234567890@gcp-sa-gkehub.iam.gserviceaccount.com
    role: roles/gkehub.serviceAgent

Se o agente de serviços não estiver listado na política do IAM do projeto, faça o seguinte para atualizar as permissões necessárias:

gcloud

  1. Para conceder a gcp-sa-gkehub o papel gkehub.serviceAgent, primeiro verifique se essa conta de serviço existe. Se você registrou clusters neste projeto antes, a conta de serviço já deve existir. Para verificar, consulte a política do IAM para o projeto host da frota:

    gcloud projects get-iam-policy FLEET_HOST_PROJECT_ID
    
  2. Se você precisar criar a conta de serviço gcp-sa-gkehub, execute o seguinte comando:

    gcloud beta services identity create --service=gkehub.googleapis.com --project=FLEET_HOST_PROJECT_ID
    

    Esse comando gera o resultado a seguir:

    Service identity created: service-[FLEET_HOST_PROJECT_NUMBER]@gcp-sa-gkehub.iam.gserviceaccount.com
    
  3. Execute o seguinte comando para conceder à conta de serviço o papel roles/gkehub.serviceAgent em ambos os projetos:

    GKE_PROJECT_ID=GKE_PROJECT_ID
    FLEET_HOST_PROJECT_ID=FLEET_HOST_PROJECT_ID
    FLEET_HOST_PROJECT_NUMBER=$(gcloud projects describe "${FLEET_HOST_PROJECT_ID}" --format "value(projectNumber)")
    gcloud projects add-iam-policy-binding "${FLEET_HOST_PROJECT_ID}" \
      --member "serviceAccount:service-${FLEET_HOST_PROJECT_NUMBER}@gcp-sa-gkehub.iam.gserviceaccount.com" \
      --role roles/gkehub.serviceAgent
    gcloud projects add-iam-policy-binding "${GKE_PROJECT_ID}" \
      --member "serviceAccount:service-${FLEET_HOST_PROJECT_NUMBER}@gcp-sa-gkehub.iam.gserviceaccount.com" \
      --role roles/gkehub.serviceAgent
    

    onde:

    • GKE_PROJECT_ID é o ID do projeto do Google Cloud do cluster do GKE.
    • FLEET_HOST_PROJECT_ID é o ID do projeto do Google Cloud em que você quer registrar clusters. Saiba como encontrar esse valor.
  4. Para confirmar se a vinculação de papel foi concedida, execute o seguinte comando novamente:

    gcloud projects get-iam-policy GKE_PROJECT_ID
    

    Se o nome da conta de serviço estiver com a função gkehub.serviceAgent, a vinculação de papel foi concedida. Exemplo:

    - members:
      - serviceAccount:service-[FLEET_HOST_PROJECT_NUMBER]@gcp-sa-gkehub.iam.gserviceaccount.com
      role: roles/gkehub.serviceAgent
    

Configurar uma identidade para uso pelo agente do Connect

Embora a maioria das opções de registro de clusters do GKE no Google Cloud não instale o agente do Connect nos clusters, é preciso instalar o agente para usar o gateway do Connect. Para isso, faça o registro usando a ferramenta de linha de comando gcloud. O agente do Connect precisa de uma identidade para ser autenticado no Google Cloud.

  • Identidade da carga de trabalho da frota (recomendado): verifique se o cluster tem a identidade da carga de trabalho do GKE ativada antes de registrar o cluster, conforme descrito acima.
  • Conta de serviço: se você optar por usar uma conta de serviço do Google Cloud em vez da identidade da carga de trabalho, siga as instruções abaixo para criar uma conta de serviço e fazer o download da chave JSON.

Configurar uma conta de serviço para o Terraform

Se você quiser usar o Terraform para registrar um cluster do Google Kubernetes Engine, precisará criar uma conta de serviço para ele acessar a API Fleet e criar uma assinatura.

gcloud

  1. Crie uma conta de serviço da seguinte maneira:

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME --project=FLEET_HOST_PROJECT_ID
    
  2. Vincule o papel gkehub.admin do IAM à conta de serviço para que o Terraform possa usá-la com a API Fleet:

    FLEET_HOST_PROJECT_ID=FLEET_HOST_PROJECT_ID
    gcloud projects add-iam-policy-binding ${FLEET_HOST_PROJECT_ID} \
       --member="serviceAccount:SERVICE_ACCOUNT_NAME@${FLEET_HOST_PROJECT_ID}.iam.gserviceaccount.com" \
       --role="roles/gkehub.admin"
    

    Se você quiser criar um novo cluster com o Terraform e registrá-lo, também precisará vincular o papel roles/container.admin à conta de serviço para que o Terraform possa usar essa conta de serviço para acessar a API GKE para criar um cluster.

    FLEET_HOST_PROJECT_ID=FLEET_HOST_PROJECT_ID
    gcloud projects add-iam-policy-binding ${FLEET_HOST_PROJECT_ID} \
       --member="serviceAccount:SERVICE_ACCOUNT_NAME@${FLEET_HOST_PROJECT_ID}.iam.gserviceaccount.com" \
       --role="roles/container.admin"
    

    Substitua:

  3. Faça o download do arquivo JSON da chave privada da conta de serviço, conforme descrito em Criar uma conta de serviço do Google Cloud usando gcloud. Você precisará desse arquivo para criar e registrar clusters usando o Terraform.

Criar uma conta de serviço para o Config Connector

Se você quiser usar o Config Connector para registrar um cluster do GKE, siga estas etapas:

gcloud

  1. Verifique se você instalou o complemento Config Connector. É necessário ter uma versão do Config Connector acima da 1.47.0.

  2. Siga as instruções do Config Connector para criar uma conta de serviço.

  3. Vincule o papel de IAM gkehub.admin a esta conta de serviço para que o Config Connector possa usar essa conta de serviço para acessar a API Fleet:

    FLEET_HOST_PROJECT_ID=FLEET_HOST_PROJECT_ID
    gcloud projects add-iam-policy-binding ${FLEET_HOST_PROJECT_ID} \
       --member="serviceAccount:SERVICE_ACCOUNT_NAME@${FLEET_HOST_PROJECT_ID}.iam.gserviceaccount.com" \
       --role="roles/gkehub.admin"
    

    Se você quiser criar um novo cluster com o Config Connector e registrá-lo, também precisará vincular o papel roles/container.admin à conta de serviço para que o controlador do Config Connector possa usar essa conta de serviço para acessar a API GKE e criar um cluster ,

    FLEET_HOST_PROJECT_ID=FLEET_HOST_PROJECT_ID
    gcloud projects add-iam-policy-binding ${FLEET_HOST_PROJECT_ID} \
       --member="serviceAccount:SERVICE_ACCOUNT_NAME@${FLEET_HOST_PROJECT_ID}.iam.gserviceaccount.com" \
       --role="roles/container.admin"
    

    Substitua:

  4. Siga a instrução do Config Connector para configurar o Config Connector com essa conta de serviço.

Clusters fora do Google Cloud

Todos os registros manuais fora do Google Cloud, como o registro de clusters anexados, exigem as configurações a seguir, além dos pré-requisitos para todos os registros.

Garantir conectividade de rede

Para registrar seu cluster, verifique se os domínios abaixo estão acessíveis com seu cluster do Kubernetes.

  • cloudresourcemanager.googleapis.com resolve os metadados referentes ao projeto do Google Cloud a que o cluster está sendo conectado.
  • oauth2.googleapis.com para receber tokens OAuth de curta duração para operações de agente em gkeconnect.googleapis.com.
  • gkeconnect.googleapis.com para estabelecer o canal usado para receber solicitações do Google Cloud e enviar respostas.
  • gkehub.googleapis.com para criar recursos de assinatura da frota do Google Cloud que correspondam ao cluster que você está conectando ao Google Cloud.
  • www.googleapis.com para autenticar tokens de serviço das solicitações de serviço recebidas do Google Cloud.
  • gcr.io para extrair a imagem do agente do GKE Connect.

Para registrar o cluster usando a identidade da carga de trabalho, os seguintes domínios também precisam ser acessíveis:

  • securetoken.googleapis.com
  • iamcredentials.googleapis.com
  • sts.googleapis.com

Se você estiver usando um proxy para o Connect, também será necessário atualizar a lista de permissões do proxy com esses domínios.

Se você usa o gcloud para registrar o cluster do Kubernetes, esses domínios também precisam ser acessados no ambiente em que você executa os comandos do gcloud.

Como usar VPC Service Controls

Se você quiser usar o VPC Service Controls para aumentar a segurança dos dados no aplicativo, será preciso garantir que os seguintes serviços estejam no perímetro do serviço:

  • API Resource Manager (cloudresourcemanager.googleapis.com)
  • API GKE Connect (gkeconnect.googleapis.com)
  • API Fleet (gkehub.googleapis.com)

Se você quiser registrar o cluster com a identidade da carga de trabalho da frota ativada, também precisará dos seguintes serviços:

  • API IAM Service Account Credentials (iamcredentials.googleapis.com)
  • API Security Token Service (sts.googleapis.com)

Também é necessário configurar a conectividade particular para acessar as APIs relevantes. Saiba como fazer isso em Configurar a conectividade particular.

Configurar identidade

Todas as opções manuais de registro de cluster fora do Google Cloud exigem que você configure a autenticação no Google. Você pode escolher entre registrar um cluster com a identidade da carga de trabalho da frota ou fazer o registro usando uma Conta de serviço do Google Cloud.

Clusters do Anthos no VMware, clusters do Anthos em bare metal e clusters do Anthos na AWS são registrados automaticamente na frota do projeto no momento da criação do cluster, com a identidade da carga de trabalho da frota ativada a partir da versão 1.8. Para esses tipos de cluster, você ainda precisa configurar uma conta de serviço para registro. Após o registro inicial, o agente do Connect usa a identidade da carga de trabalho da frota para se autenticar no Google.

Os clusters anexados podem ser registrados com a identidade da carga de trabalho da frota ativada se o cluster atender aos nossos pré-requisitos de clusters anexados, conforme descrito abaixo. Caso contrário, registre os clusters anexados com uma conta de serviço do Google Cloud para autenticação.

Criar uma conta de serviço do Google Cloud usando gcloud

Para registrar manualmente um cluster usando uma conta de serviço do Google Cloud, você precisa de um arquivo JSON contendo as credenciais da conta de serviço. Para seguir o princípio do menor privilégio, recomendamos que você crie uma conta de serviço distinta para cada cluster do Kubernetes registrado e vincule os papéis do IAM a ela no cluster correspondente.

Para criar esse arquivo, execute as seguintes etapas:

gcloud

Execute o seguinte comando para criar uma conta de serviço:

gcloud iam service-accounts create SERVICE_ACCOUNT_NAME --project=FLEET_HOST_PROJECT_ID

Liste todas as contas de serviço de um projeto executando o seguinte comando:

gcloud iam service-accounts list --project=FLEET_HOST_PROJECT_ID

Se você estiver criando uma conta de serviço distinta para cada cluster do Kubernetes registrado, vincule o papel do GKE gkehub.connect à conta de serviço do cluster correspondente a uma Condição do IAM no nome da assinatura do cluster:

MEMBERSHIP_NAME=MEMBERSHIP_NAME
FLEET_HOST_PROJECT_ID=FLEET_HOST_PROJECT_ID
SERVICE_ACCOUNT_NAME=SERVICE_ACCOUNT_NAME
gcloud projects add-iam-policy-binding ${FLEET_HOST_PROJECT_ID} \
   --member="serviceAccount:${SERVICE_ACCOUNT_NAME}@${FLEET_HOST_PROJECT_ID}.iam.gserviceaccount.com" \
   --role="roles/gkehub.connect" \
   --condition "expression=resource.name == \
'projects/${FLEET_HOST_PROJECT_ID}/locations/global/memberships/${MEMBERSHIP_NAME}',\
title=bind-${SERVICE_ACCOUNT_NAME}-to-${MEMBERSHIP_NAME}"

Caso contrário, vincule o papel à conta de serviço para todos os clusters no projeto sem a condição.

FLEET_HOST_PROJECT_ID=FLEET_HOST_PROJECT_ID
gcloud projects add-iam-policy-binding ${FLEET_HOST_PROJECT_ID} \
   --member="serviceAccount:SERVICE_ACCOUNT_NAME@${FLEET_HOST_PROJECT_ID}.iam.gserviceaccount.com" \
   --role="roles/gkehub.connect"

Faça o download do arquivo JSON da chave privada da conta de serviço. Você usa esse arquivo ao registrar um cluster:

 FLEET_HOST_PROJECT_ID=FLEET_HOST_PROJECT_ID
 gcloud iam service-accounts keys create LOCAL_KEY_PATH \
    --iam-account=SERVICE_ACCOUNT_NAME@${FLEET_HOST_PROJECT_ID}.iam.gserviceaccount.com \
    --project=${FLEET_HOST_PROJECT_ID}
 ```

where:
  • FLEET_HOST_PROJECT_ID é o ID do projeto do Google Cloud em que você quer registrar clusters. Saiba como encontrar esse valor.
  • SERVICE_ACCOUNT_NAME é o nome de exibição escolhido para a conta de serviço.
  • MEMBERSHIP_NAME é o nome da assinatura que você escolhe para representar o cluster de maneira exclusiva enquanto o registra.
  • LOCAL_KEY_PATH é um caminho de arquivo local onde você quer salvar a chave privada da conta de serviço, um arquivo JSON. Recomendamos que você nomeie o arquivo usando o nome da conta de serviço e o ID do projeto, como: /tmp/creds/[SERVICE_ACCOUNT_NAME]-[FLEET_HOST_PROJECT_ID].json

Pré-requisitos do cluster anexado

Dependendo do tipo de cluster externo que você quer registrar como cluster anexado, talvez seja necessário atender a alguns requisitos adicionais para instalar o agente do Connect e/ou usar a Identidade da carga de trabalho da frota.

Configurar restrições de contexto de segurança (SCC, na sigla em inglês) (clusters do OpenShift)

Nos clusters OpenShift OKE e OKD, os administradores podem usar SCCs para controlar as permissões dos pods. Para permitir a instalação do agente do Connect no cluster, você precisa criar uma SCC personalizada.

A amostra de definição de SCC a seguir especifica o conjunto de condições que o agente do Connect precisa executar para ser aceito no cluster:

# Connect Agent SCC
apiVersion: v1
kind: SecurityContextConstraints
metadata:
  name: gke-connect-scc
allowPrivilegeEscalation: false
# This is redundant with non-root + disallow privilege escalation,
# but we provide it for defense in depth.
requiredDropCapabilities:
- ALL
runAsUser:
  type: MustRunAsNonRoot
seLinuxContext:
  type: RunAsAny
supplementalGroups:
  type: MustRunAs
  ranges:
  - min: 1
    max: 65535
fsGroup:
  type: MustRunAs
  ranges:
  - min: 1
    max: 65535
volumes:
- secret
- projected
readOnlyRootFilesystem: true
seccompProfiles:
- docker/default
users:
groups:
  # Grants all service accounts in the gke-connect namespace access to this SCC
  - system:serviceaccounts:gke-connect

Supondo que você salvou a definição de SCC como gke-connect-scc.yaml, use a ferramenta de linha de comando oc do OpenShift para criar a SCC gke-connect-scc para o cluster da seguinte maneira:

$ oc create -f gke-connect-scc.yaml

Para verificar se a SCC personalizada foi criada, execute o seguinte comando oc:

$ oc get scc | grep gke-connect-scc

Requisitos de identidade da carga de trabalho da frota

É possível registrar clusters anexados com a Identidade da carga de trabalho da frota ativada se a plataforma criar um endpoint OIDC público para o cluster (ou permitir a criação de um) ou se você tiver a descoberta do emissor da conta de serviço do Kubernetes ativada para o cluster. Se você não atender a esses requisitos, precisará registrar clusters anexados com uma conta de serviço do Google Cloud para autenticação.

Para tipos de cluster específicos, consulte:

  • Clusters do OpenShift: podem ser registrados com a Identidade da carga de trabalho da frota ativada depois que você tiver configurado a SCC personalizada, conforme descrito acima.
  • Clusters de tipo: exigem que a descoberta do emissor da conta de serviço esteja ativada para usar a identidade da carga de trabalho da frota. Essa opção é ativada por padrão na versão 1.20 do Kubernetes. Se você precisar ativar esse recurso, siga as instruções em Projeção de volume do token da conta de serviço. A descoberta de emissor da conta de serviço é ativada automaticamente quando o projeto de volume do token da conta de serviço está ativado.
  • Clusters do EKS: exigem que o cluster tenha um provedor de identidade OIDC do IAM público. Siga as instruções da seção Criar um provedor OIDC do IAM para o cluster para verificar se um provedor existe e crie um, se necessário.

Uso de recursos e requisitos

Normalmente, o agente do Connect instalado no registro usa 500 m de CPU e 200 Mi de memória. No entanto, esse uso pode variar dependendo do número de solicitações feitas ao agente por segundo e do tamanho dessas solicitações. Isso pode ser afetado por vários fatores, incluindo o tamanho do cluster, o número de usuários que acessam o cluster pelo Console do Cloud (quanto mais usuários e/ou cargas de trabalho, mais solicitações) e o número de recursos ativados pelo ambiente no cluster.

A seguir