Actualiza el dispositivo y aplica parches

En esta página, se describen los pasos para actualizar y aplicar parches al dispositivo de dispositivo aislado de Google Distributed Cloud (GDC).

Prepárate para la actualización

Antes de la actualización, asegúrate de cumplir con los requisitos que se indican en esta sección.

Antes de comenzar

Revisa los requisitos de la laptop para asegurarte de que la que usas para las actualizaciones y las actualizaciones de parches cumpla con las especificaciones físicas y otros requisitos.

Primero, debes completar las siguientes acciones relacionadas con las herramientas de la interfaz de línea de comandos (CLI) de gdcloud:

  1. Descarga las herramientas de la CLI de gdcloud.
  2. Instala las herramientas de la CLI de gdcloud.
  3. Actualiza las herramientas de la CLI de gdcloud según sea necesario.
  4. Asegúrate de que docker-credential-gdcloud esté presente.

Transfiere los artefactos a la máquina de actualización

Debes tener acceso al bucket de Cloud Storage.

Sigue estos pasos para transferir los artefactos a la laptop que usas para las actualizaciones y las actualizaciones de parches:

  1. Descarga el paquete según la versión del parche seleccionada:

    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 recupera el paquete de actualización y la secuencia de comandos del descargador en el directorio actual, por ejemplo, /home/download.

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

    Resultado de ejemplo:

    /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. Copia la actualización en el entorno aislado, usando tu unidad USB.

    Copia la secuencia de comandos del descargador y el directorio gdch que descargaste en tu unidad USB en el paso 1 a la máquina de actualización en el entorno aislado.

  4. En la máquina de actualización, verifica el contenido y extrae los archivos con la misma información que usaste para descargar el paquete. Por ejemplo, el siguiente código copia el paquete en el directorio /root.

    Descomprime el paquete:

    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
    

    El paquete se descomprime en la ruta de acceso /root/gdch/full-release-x.x.x-gdch.x.

  5. Confirma que la versión coincida con la que estableciste en VERSION:

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

    Resultado de muestra:

    gdcloud version: 1.14.4-gdch.0
    

Autenticar

Para autenticarte con tu proveedor de identidad configurado y solicitar un archivo kubeconfig para tu identidad de usuario y clúster, consulta Autenticación.

  1. Accede y genera los archivos kubeconfig.

  2. Configura los archivos kubeconfig como variables de entorno:

      export KUBECONFIG=ROOT_ADMIN_KUBECONFIG
      export MANAGEMENT_KUBECONFIG=MANAGEMENT_API_KUBECONFIG
    
  3. Solicita los siguientes roles:

    • Actualiza el administrador de Transfer 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 de administración de artefactos del 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 secretos de administración de artefactos del 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 sufijos de 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 del sistema de Artifact Registry:

       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
      
    • Actualiza Debugger:

      kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding upgrade-debugger-initial-user --clusterrole=upgrade-debugger --user=keycloak-oidc-initial-user@example.com
      
    • Depurador del registro de artefactos del sistema:

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

    gdcloud auth configure-docker
    

Inicia la actualización

Sigue estos pasos para iniciar la actualización del dispositivo:

gdcloud appliance upgrade 

Consulta gdcloud appliance upgrade para obtener más información.

El comando ejecuta los siguientes pasos:

  1. Ejecuta las verificaciones previas en la máquina de actualización.
  2. Ejecuta las verificaciones previas para el almacenamiento de OTS.
  3. Envía los artefactos al registro de artefactos.
  4. Actualiza el software y el firmware del dispositivo, incluidos los siguientes elementos:
    1. Es el clúster de administrador raíz de GDC.
    2. Servicios de GDC
    3. Sistemas operativos (SO) de nodos físicos y virtuales
    4. El interruptor
    5. Almacenamiento

El comando controla las actualizaciones en secuencia y espera a que se complete cada paso. Después de completar los pasos y si la actualización se realiza correctamente, verás un mensaje similar al siguiente:

The GDC appliance upgrade completed successfully