Configure credenciais preparadas para um cluster de administrador

Este documento mostra como configurar credenciais preparadas para um cluster de administrador no Google Distributed Cloud.

Com as credenciais preparadas, pode armazenar credenciais para o cluster de administrador num segredo no cluster de administrador. Isto oferece um elemento de segurança, porque não tem de manter palavras-passe e chaves de contas de serviço na sua estação de trabalho de administrador.

Tenha em atenção a seguinte limitação com os clusters avançados:

  • Versão 1.31: as credenciais preparadas não são suportadas em clusters avançados.
  • Versão 1.32 e superior: as credenciais preparadas são suportadas em clusters avançados.

Vista geral do procedimento

  1. Preencha um ficheiro de configuração de segredos.

  2. No ficheiro de configuração do cluster de administrador, defina enabled como verdadeiro.

  3. Execução gkectl prepare

  4. Crie o cluster de administrador.

Preencha o ficheiro de configuração de segredos

Gere um modelo para um ficheiro de configuração de segredos:

gkectl create-config secrets

O comando anterior gera um ficheiro com o nome secrets.yaml. Pode alterar o nome e a localização deste ficheiro, se quiser.

Familiarize-se com o ficheiro de configuração lendo o documento Ficheiro de configuração de segredos. É recomendável manter este documento aberto num separador ou numa janela separada.

Segue-se um exemplo de um ficheiro de configuração de segredos. O grupo de segredos tem valores para as credenciais do vCenter e quatro chaves de contas de serviço:

apiVersion: v1
kind: ClusterSecrets
secretGroups:
- secrets
  vCenter:
    username: "my-vcenter-account"
      password: "U$icUKEW#INE"
    componentAccessServiceAccount:
      serviceAccountKeyPath: "my-key-folder/component-access-key.json"
    registerServiceAccount:
      serviceAccountKeyPath: "my-key-folder/connect-register-key.json"
    stackdriverServiceAccount:
      serviceAccountKeyPath: "my-key-folder/log-mon-key.json"
    cloudAuditLoggingServiceAccount:
      serviceAccountKeyPath: "my-key-folder/audit-log-key.json"

Ficheiro de configuração do cluster de administrador

Crie um ficheiro de configuração do cluster de administrador, conforme descrito no artigo Crie um cluster de administrador.

No ficheiro de configuração do cluster de administrador, defina preparedSecrets.enabled como true:

preparedsecrets:
  enabled: true

No ficheiro de configuração do cluster de administrador, não especifique valores para os seguintes campos: Estes campos não são necessários, porque o Google Distributed Cloud vai obter credenciais e chaves dos seus segredos preparados.

  • vCenter.credentials.fileRef.path
  • componentAccessServiceAccountKeyPath
  • loadBalancer.f5BigIP.credentials.fileRef.path
  • gkeConnect.registerServiceAccountKeyPath
  • stackdriver.serviceAccountKeyPath
  • cloudAuditLogging.serviceAccountKeyPath
  • privateRegistry.credentials.fileRef.path

Inicialize o ambiente

Importar imagens do SO para o vSphere e enviar imagens de contentores para um registo privado, se tiver sido especificado:

gkectl prepare --config ADMIN_CLUSTER_CONFIG --secret-config SECRETS_CONFIG

Substitua o seguinte:

  • ADMIN_CLUSTER_CONFIG: o caminho do ficheiro de configuração do cluster de administrador

  • SECRETS_CONFIG: o caminho do seu ficheiro de configuração de segredos

Crie o cluster de administrador

Crie o cluster de administrador:

gkectl create admin --config ADMIN_CLUSTER_CONFIG --secret-config SECRETS_CONFIG

Substitua o seguinte:

  • ADMIN_CLUSTER_CONFIG: o caminho do ficheiro de configuração do cluster de administrador

  • SECRETS_CONFIG: o caminho do seu ficheiro de configuração de segredos

Rote as credenciais

Para rodar as credenciais, precisa de um ficheiro de configuração de segredos. Existem duas abordagens que pode adotar:

  • Execute gkectl create-config secrets para gerar um novo ficheiro de configuração de segredos. Preencha o ficheiro com as novas chaves da conta de serviço.

  • Gere um ficheiro de configuração de segredos a partir do cluster de administrador. Em seguida, substitua as chaves da conta de serviço selecionadas por novas.

    Para gerar um ficheiro de configuração de segredos a partir do cluster de administração:

    gkectl get-config admin --export-secrets-config \
      --bundle-path BUNDLE \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Substitua o seguinte:

    • BUNDLE: o caminho do ficheiro do pacote do Google Distributed Cloud

    • ADMIN_CLUSTER_KUBECONFIG: o caminho do ficheiro kubeconfig do cluster de administrador

Rote as credenciais:

gkectl update credentials CREDENTIAL_TYPE \
    --config ADMIN_CLUSTER_CONFIG \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --secret-config SECRETS_CONFIG \
    --admin-cluster

Substitua o seguinte:

  • CREDENTIAL_TYPE: Uma das seguintes opções: vsphere, f5bigip, privateregistry, componentaccess, register, stackdriver, cloudauditlogging.

  • ADMIN_CLUSTER_CONFIG: o caminho do ficheiro de configuração do cluster de administrador

  • ADMIN_CLUSTER_KUBECONFIG: o caminho do ficheiro kubeconfig do cluster de administrador

  • SECRETS_CONFIG: o caminho do ficheiro de configuração de segredos

Atualizar

Para atualizar um cluster de administrador que usa credenciais preparadas, pode, em muitos casos, seguir as instruções descritas em Atualizar um cluster.

No entanto, se quiser ativar o Cloud Logging e o Cloud Monitoring ou os Cloud Audit Logs como parte da atualização, siga estes passos:

  1. Gere um ficheiro de configuração de segredos.

  2. No ficheiro de configuração de Secrets, indique valores para stackdriverServiceAccount.serviceAccountKeyPath e cloudAuditLoggingServiceAccount.serviceAccountKeyPath ou ambos.

  3. Atualize o cluster:

    gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
      --config ADMIN_CLUSTER_CONFIG \
      --secret-config SECRETS_CONFIG