Atualize e corrija o dispositivo

Esta página descreve os passos para atualizar e aplicar patches ao seu dispositivo de appliance isolado do Google Distributed Cloud (GDC).

Prepare-se para a atualização

Certifique-se de que cumpre os requisitos indicados nesta secção antes da atualização.

Antes de começar

Reveja os pré-requisitos do portátil para garantir que o portátil que usa para a atualização e as atualizações de patches cumprem as especificações físicas e outros requisitos.

Primeiro, tem de concluir as seguintes ações relativamente às ferramentas de interface de linhas de comando (CLI) gdcloud:

  1. Transfira as ferramentas de CLI gdcloud.
  2. Instale as ferramentas de CLI gdcloud.
  3. Atualize as ferramentas da CLI conforme necessário.gdcloud
  4. Certifique-se de que o docker-credential-gdcloud está presente.

Transfira os artefactos para a máquina de atualização

Tem de ter acesso ao contentor do Cloud Storage.

Siga estes passos para transferir os artefactos para o portátil que usa para a atualização e as atualizações de patches:

  1. Transfira o pacote com base na versão do patch selecionada:

    VERSION=<x.x.x-gdch.yyy>
    RELEASE_SUFFIX="_te"
    DOWNLOADER=gdch-downloader-prod${RELEASE_SUFFIX}-$VERSION.sh
    gcloud storage cp "gs://$GCS_BUCKET/$VERSION/$DOWNLOADER" .
    gcloud storage cp "gs://$GCS_BUCKET/$VERSION/${DOWNLOADER}.sig" .
    
    PUBLIC_KEY=$(cat <<-PUBEND
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEn46iVSyFXsvuKLZ4dVOr2AqlXDnR
    5cKztkpraexHDxn/ozq03EvrdkRmZkSACFfcaEFyitpraidgAx8sPjvzXQ==
    -----END PUBLIC KEY-----
    PUBEND
    )
    echo "${PUBLIC_KEY}" > "key.pub"
    DOWNLOADER=gdch-downloader-${PRODUCT}-$VERSION.sh
    
    gcloud storage cp "gs://${GCS_BUCKET:-private-cloud-release}/$VERSION/$DOWNLOADER*" .
       openssl dgst -sha256 -verify "key.pub" -signature "${DOWNLOADER}.sig" ${DOWNLOADER} && chmod +x $DOWNLOADER && ./$DOWNLOADER --skip-unzip
    

    Este comando obtém o pacote de atualização e o script de transferência para o diretório atual, por exemplo, /home/download.

  2. Corrida tree -L 3 /home/download.

    Exemplo de saída:

    /home/download
    ├── gdch
    │   └── x.x.x-gdch.x
    │       ├── bootstrapper
    │       │   ├── bootstrapper.iso
    │       │   └── bootstrapper.iso.sig
    │       ├── gdch-prod_te-x.x.x-gdch.x-sbom.tar.gz
    │       ├── gdch-prod_te-x.x.x-gdch.x-sbom.tar.gz.sig
    │       ├── prod_te_gdch.tar.gz
    │       └── prod_te_gdch.tar.gz.sig
    ├── gdch-downloader-prod_te-x.x.x-gdch.x.sh
    ├── gdch-downloader-prod_te-x.x.x-gdch.x.sh.1.sig
    ├── gdch-downloader-prod_te-x.x.x-gdch.x.sh.sig
       └── key.pub
    
  3. Copie a atualização para o ambiente isolado, através da unidade USB.

    Copie o script de transferência e o diretório gdch que transferiu para a unidade USB no passo 1 para a máquina de atualização no ambiente isolado.

  4. No computador de atualização, valide o conteúdo e extraia os ficheiros com as mesmas informações que usou para transferir o pacote. Por exemplo, o código seguinte copia o pacote para o diretório /root.

    Desembale o pacote:

    VERSION=x.x.x-gdch.x
    PRODUCT=prod_te
    DOWNLOADER=gdch-downloader-${PRODUCT}-$VERSION.sh
    openssl dgst -sha256 -verify "key.pub" -signature "${DOWNLOADER}.sig" ${DOWNLOADER} && chmod +x $DOWNLOADER && ./$DOWNLOADER --skip-download
    

    O pacote é descompactado no caminho /root/gdch/full-release-x.x.x-gdch.x.

  5. Confirme se a versão corresponde à que definiu em VERSION:

    /root/gdch/full-release-x.x.x-gdch.x/gdcloud version
    

    Exemplo de saída:

    gdcloud version: 1.14.4-gdch.0
    

Autenticar

Para fazer a autenticação com o seu Fornecedor de identidade configurado e pedir um ficheiro kubeconfig para a sua identidade de utilizador e cluster, consulte o artigo Autenticar.

  1. Inicie sessão e gere os ficheiros kubeconfig.

  2. Defina os ficheiros kubeconfig como variáveis de ambiente:

      export KUBECONFIG=ROOT_ADMIN_KUBECONFIG
      export MANAGEMENT_KUBECONFIG=MANAGEMENT_API_KUBECONFIG
    
  3. Pedir as seguintes funções:

    • Atualize o administrador do dispositivo:

      kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding upgrade-admin-te-initial-user --role=upgrade-admin-te --user=keycloak-oidc-initial-user@example.com
      kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create clusterrolebinding upgrade-admin-te-initial-user --clusterrole=upgrade-admin-te --user=keycloak-oidc-initial-user@example.com
      
    • Administrador de gestão de artefactos do sistema:

       kubectl --kubeconfig=$KUBECONFIG create rolebinding system-artifact-management-admin-initial-user --role=system-artifact-management-admin --user=keycloak-oidc-initial-user@example.com -n gpc-system
       kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create rolebinding system-artifact-management-admin-initial-user --role=system-artifact-management-admin --user=keycloak-oidc-initial-user@example.com -n gpc-system
      
    • Administrador de segredos de gestão de artefactos do sistema:

       kubectl --kubeconfig=$KUBECONFIG create rolebinding system-artifact-management-secrets-admin-initial-user --role=system-artifact-management-secrets-admin --user=keycloak-oidc-initial-user@example.com -n anthos-creds
      
    • Visualizador de sufixos DNS:

       kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create rolebinding dnssuffix-viewer-initial-user --role=dnssuffix-viewer --user=keycloak-oidc-initial-user@example.com -n gpc-system
      
    • Monitor do Artifact Registry do sistema:

       kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding sar-monitor-initial-user --clusterrole=sar-monitor --user=keycloak-oidc-initial-user@example.com
       kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create clusterrolebinding sar-monitor-initial-user --clusterrole=sar-monitor --user=keycloak-oidc-initial-user@example.com
      
    • Atualize o Debugger:

      kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding upgrade-debugger-initial-user --clusterrole=upgrade-debugger --user=keycloak-oidc-initial-user@example.com
      
    • Depurador do Artifact Registry do sistema:

      kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding sar-debugger-initial-user --clusterrole=sar-debugger --user=keycloak-oidc-initial-user@example.com
      
  4. Configure o docker:

    gdcloud auth configure-docker
    

Inicie a atualização

Siga os passos seguintes para iniciar a atualização do dispositivo:

gdcloud appliance upgrade 

Consulte gdcloud appliance upgrade para mais informações.

O comando executa os seguintes passos:

  1. Executa as verificações pré-voo na máquina de atualização.
  2. Executa as verificações prévias para o armazenamento OTS
  3. Envia os artefactos para o Artifact Registry.
  4. Atualiza o software e o firmware do dispositivo, incluindo:
    1. Cluster de administrador raiz do GDC.
    2. Serviços da GDC.
    3. Os sistemas operativos (SOs) dos nós físicos e virtuais.
    4. O interruptor.
    5. Armazenamento

O comando aciona as atualizações em sequência e aguarda a conclusão de cada passo. Depois de concluir os passos e se a atualização for bem-sucedida, é apresentada uma mensagem semelhante à seguinte:

The GDC appliance upgrade completed successfully