Atualizar e corrigir o dispositivo

Nesta página, descrevemos as etapas para atualizar e corrigir seu dispositivo isolado do Google Distributed Cloud (GDC).

Preparação para o upgrade

Verifique se você atende aos requisitos listados nesta seção antes do upgrade.

Antes de começar

Revise os pré-requisitos do laptop para garantir que o dispositivo usado para atualizações e upgrades de patch atenda às especificações físicas e a outros requisitos.

Primeiro, conclua as seguintes ações relacionadas às ferramentas de interface de linha de comando (CLI) gdcloud:

  1. Baixe as ferramentas da CLI gdcloud.
  2. Instale as ferramentas CLI gdcloud.
  3. Faça upgrade das ferramentas da CLI gdcloud conforme necessário.
  4. Verifique se o docker-credential-gdcloud está presente.

Transfira os artefatos para a máquina de upgrade.

Você precisa ter acesso ao bucket do Cloud Storage.

Siga estas etapas para transferir os artefatos para o notebook que você usa para atualizações e upgrades de patch:

  1. Faça o download do pacote com base na versão de 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
    

    Esse comando busca o pacote de atualização e o script do downloader para o diretório atual, por exemplo, /home/download.

  2. Execute 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 usando o drive USB.

    Copie o script de download e o diretório gdch que você baixou para o pen drive na etapa 1 para a máquina de upgrade no ambiente isolado.

  4. Na máquina de upgrade, verifique o conteúdo e extraia os arquivos usando as mesmas informações usadas para baixar o pacote. Por exemplo, o código a seguir copia o pacote para o diretório /root.

    Descompacte 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 você definiu em VERSION:

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

    Exemplo de resposta:

    gdcloud version: 1.14.4-gdch.0
    

Autenticar

Para autenticar com o provedor de identidade configurado e solicitar um arquivo kubeconfig para sua identidade de usuário e cluster, consulte Autenticar.

  1. Faça login e gere os arquivos kubeconfig.

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

      export KUBECONFIG=ROOT_ADMIN_KUBECONFIG
      export MANAGEMENT_KUBECONFIG=MANAGEMENT_API_KUBECONFIG
    
  3. Solicite os seguintes papéis:

    • Administrador do Upgrade Appliance:

      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 do gerenciamento de artefatos 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 secrets de gerenciamento de artefatos 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
      
    • Leitor de sufixo 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
      
    • Fazer upgrade do 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
    

Iniciar o upgrade

Siga estas etapas para iniciar o upgrade do dispositivo:

gdcloud appliance upgrade 

Consulte gdcloud appliance upgrade para mais informações.

O comando executa as seguintes etapas:

  1. Executa as verificações de simulação na máquina de upgrade.
  2. Executa as verificações de simulação para o armazenamento do OTS.
  3. Envia os artefatos para o registro de artefatos.
  4. Faz upgrade do software e do firmware do dispositivo, incluindo:
    1. Cluster de administrador raiz do GDC.
    2. Serviços do GDC.
    3. Os sistemas operacionais (SOs) dos nós físicos e virtuais.
    4. O interruptor.
    5. Armazenamento

O comando faz as atualizações em sequência e aguarda a conclusão de cada etapa. Depois de concluir as etapas e se o upgrade for bem-sucedido, você verá uma mensagem semelhante a esta:

The GDC appliance upgrade completed successfully