Como atualizar as credenciais do vCenter dos clusters

A partir da versão 1.3.1 do GKE On-Prem, é possível atualizar as credenciais do vCenter dos clusters de administrador e de usuário com o comando gkectl update credentials vsphere.

Cada cluster de administrador e de usuário é configurado inicialmente para usar o nome de usuário e a senha do vCenter usados para criar esses clusters. Se você precisar atualizar as credenciais do vCenter ou transferir a propriedade administrativa para outra conta de usuário do vSphere, será possível atualizar o arquivo de configuração do cluster. Depois, use o comando gkectl update credentials vsphere para implantar essas alterações.

Exemplo de configuração de nome de usuário e senha do vCenter:

...
vcenter:
  credentials:
    ...
    username: "vCenter-username@vsphere.local"
    password: "vCenter-user-password"
...

Antes de começar

Verifique se você atende aos pré-requisitos a seguir antes de atualizar suas credenciais do vCenter:

  • Somente os clusters da versão 1.3.1 ou posteriores são compatíveis.

  • No momento, o comando gkectl update credentials vsphere é compatível somente com username e password do vCenter do seu cluster. Todas as outras alterações que existem no arquivo de configuração são ignoradas.

  • As credenciais do vCenter que você quer adicionar a um cluster já precisam existir. Saiba mais sobre os papéis do vCenter e os privilégios de usuário.

Como atualizar credenciais do cluster

Use as etapas a seguir para atualizar as credenciais do vCenter nos clusters:

  1. Consiga o nome de usuário e a senha das credenciais atuais do vCenter a que você quer configurar seus clusters de administrador ou de usuário.

  2. Use o comando a seguir para se conectar à estação de trabalho do administrador:

    ssh -i ~/.ssh/vsphere_workstation ubuntu@[IP_ADDRESS]
    

    [IP_ADDRESS] é o endereço IP da sua estação de trabalho de administrador.

  3. Abra o arquivo de configuração em um editor.

    Considere criar uma cópia que você possa modificar e usar somente para essa finalidade. Exemplo: vcenter-creds-config.yaml

  4. Modifique o arquivo de configuração:

    1. Dependendo se você estiver atualizando o cluster de administrador ou de usuário, será necessário modificar o arquivo de configuração removendo uma das seções a seguir:

      • Para atualizar o cluster de usuários, remova a seção admincluster.

        Deixe a seção usercluster na configuração, mas remova todo o conteúdo da seção admincluster. Exemplo:

        admincluster:
          vcenter:
            network: ""
          bigip:
            ...
          podiprange: ""

      • Para atualizar o cluster de administrador, remova a seção usercluster.

        Deixe a seção admincluster na configuração, mas remova todo o conteúdo da seção usercluster. Exemplo:

        usercluster:
          vcenter:
            network: ""
          bigip:
            ...
          clustername: ""
          masternode:
            ...
          podiprange: ""

    2. Atualize os atributos username e password em vCenter.credentials para incluir as credenciais do vCenter que você quer definir para o cluster. Exemplo:

      gcp:
        whitelistedServiceAccountKeyPath: "my-key-folder/whitelisted-key.json"
      vCenter:
        credentials:
          address: "203.0.113.1"
          username: "vCenter-user-account@vsphere.local"
          password: "user-account-password"
        datacenter: "MY-DATACENTER"
        datastore: "MY-DATASTORE"
        cluster: "MY-CLUSTER"
        ...
  5. Execute o comando gkectl update credentials vsphere para implantar as alterações no cluster:

    gkectl update credentials vsphere \
    --config [VCENTER_CREDS_CONFIG.YAML] \
    --kubeconfig [CLUSTER_KUBECONFIG] \
    --update-admin-cluster

    onde:

    • [VCENTER_CREDS_CONFIG.YAML]: especifica o arquivo de configuração que inclui as credenciais do vCenter que você quer implantar no cluster. Exemplo: vcenter-creds-config.yaml
    • [CLUSTER_KUBECONFIG]: especifica o arquivo kubeconfig do cluster de administrador que você quer atualizar. Exemplo: kubeconfig

      Para o cluster de administrador, você também precisa incluir a sinalização --update-admin-cluster.

    • --update-admin-cluster: sinalização obrigatória se você estiver implantando alterações no cluster de administrador. Exclua essa sinalização ao implantar alterações no cluster de usuário.

    Resultado: as credenciais do vCenter alteradas são imediatamente validadas no servidor, e uma confirmação é enviada para o terminal: "vsphere credentials updated successfully". Se as novas credenciais não conseguirem fazer login no servidor do vCenter, será possível editar username e password no arquivo de configuração e reimplantar as alterações.

    Exemplos:

    • Exemplo de cluster de usuário: para implantar alterações nas credenciais do vCenter em um cluster de usuário, execute:

      gkectl update credentials vsphere \
      --config vcenter-creds-user-config.yaml --kubeconfig admin-cluster-kubeconfig

      Resultado:

      validating new credentials against vcenter
      restarted "deployment/clusterapi-controllers" in namespace "testcluster"
      restarted "deployment/kube-controller-manager" in namespace "testcluster"
      restarted "statefulsets/kube-apiserver" in namespace "testcluster"
      vsphere credentials updated successfully.
    • Exemplo de cluster de administrador: para implantar alterações nas credenciais do vCenter em um cluster de administrador, execute:

      gkectl update credentials vsphere \
      --config vcenter-creds-admin-config.yaml --kubeconfig admin-cluster-kubeconfig \
      --update-admin-cluster

      Result:

      validating new credentials against vcenter
      restarted "deployment/clusterapi-controllers" in namespace "kube-system"
      vsphere credentials updated successfully.