Instala la infraestructura en ejecución de Anthos en modo desconectado

Esta página está destinada a operadores de infraestructura.

La ejecución de Anthos en modo desconectado es una versión de Anthos que puede ejecutarse completamente aislada de Internet en un entorno aislado. Puedes usar Anthos en ejecución en modo desconectado para ejecutar cargas de trabajo altamente reguladas en tu entorno local y, al mismo tiempo, aprovechar las ventajas de una infraestructura nativa de la nube.

Introducción

La arquitectura de Anthos en ejecución en modo desconectado es similar a la arquitectura de la versión conectada de Anthos en el equipo físico: hay un clúster Administrador que usas para crear y administrar los clústeres de usuario. Tus cargas de trabajo se ejecutan en los clústeres de usuario. También tienes una estación de trabajo de administrador, que es una sola máquina que contiene las herramientas necesarias para instalar y administrar la ejecución de Anthos en modo desconectado.

En comparación con la versión conectada de Anthos en el equipo físico, la ejecución de Anthos en modo desconectado viene con tres componentes adicionales:

  • Container Registry opcional que se ejecuta en la estación de trabajo de administrador para almacenar todas las imágenes de contenedor de Anthos (necesarias en una situación en la que no tienes acceso a Container Registry).
  • Una herramienta de línea de comandos de actl que ayuda a instalar la ejecución de Anthos en modo desconectado y realiza otras tareas administrativas.
  • El centro de administración de Anthos te ayuda a administrar la autorización y la autenticación, la observabilidad y la administración de funciones de varios clústeres de Anthos. El Centro de administración incluye una consola basada en la Web que se ejecuta en el clúster del administrador. La interfaz de usuario de la Consola del centro de administración te permite administrar todos los recursos que conforman la implementación de Anthos, incluidas las máquinas, los grupos de direcciones y los clústeres de usuario. También puedes usar la consola del centro de administración para administrar las funciones de Anthos y supervisar tus cargas de trabajo.

Diagrama que describe la arquitectura de Anthos

Figura: Figura de la arquitectura de Anthos.

Prepare el entorno

Obtén acceso a la versión del producto, descarga la versión más reciente e instala todas las dependencias.

Antes de comenzar

Antes de seguir las instrucciones de esta página, asegúrate de cumplir con los requisitos técnicos para la ejecución de Anthos en modo desconectado.

Obtén acceso a la ejecución de Anthos en modo desconectado

Google debe otorgarte acceso a las versiones de la ejecución de Anthos en modo desconectado. Proporciona tu punto de contacto de Google con una dirección de correo electrónico para cada verificador para que podamos otorgarle acceso al repositorio de descargas. Estas direcciones de correo electrónico deben ser Cuentas de Google.

Después de que el punto de contacto de Google confirme que tienes acceso a las versiones de la ejecución de Anthos en modo desconectado, verifica que tengas los permisos para descargar las versiones la ejecución de Anthos en modo desconectado mediante la ejecución del siguiente comando:

gsutil ls gs://anthos-private-mode-release/

Si obtienes un error, ejecuta el comando gcloud auth list para verificar que gsutil use la misma Cuenta de Google que proporcionaste a tu punto de contacto de Google.

Como alternativa, puedes visitar el bucket de la versión más reciente para verificar que tengas los permisos correctos. Debes acceder con la Cuenta de Google que proporcionaste antes.

Si tienes problemas para acceder a las versiones la ejecución de Anthos en modo desconectado, comunícate con tu punto de contacto de Google para obtener ayuda.

Descarga la ejecución de Anthos en modo desconectado

En esta sección, debes descargar la versión de ejecución de Anthos en modo desconectado, que se encuentra en varios archivos de varios gigabytes cada uno. Según tu conexión a Internet, es posible que la descarga demore mucho tiempo.

Descarga la ejecución de Anthos en modo desconectado

En tu estación de trabajo de administrador, ejecuta los siguientes comandos:

# Login with the account granted access to Anthos running in disconnected mode
gcloud auth login

# Download the script which helps download all the latest components
export VERSION=1.11.3-gke.0

# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.11/installing/infrastructure#download
export INSTALLER_DIGEST=1b8b1a8a596c0cbadd8aa2c0fc1bb2217d2f22d3d1f27f19b76e3f158e394e54
export INSTALLER=get-anthos-private-mode-$VERSION.sh
gsutil cp gs://anthos-private-mode-release/$VERSION/$INSTALLER .
if [[ -n "$INSTALLER_DIGEST" ]]; then echo "$INSTALLER_DIGEST $INSTALLER" | sha256sum -c; fi && chmod +x $INSTALLER && ./$INSTALLER

# If you are working on a workstation shared with other users,
# we recommend that you revoke your credentials after downloading the release.
gcloud auth revoke YOUR_EMAIL_ADDRESS

Instala las dependencias restantes

Una vez que se complete la descarga de la ejecución de Anthos en modo desconectado, ejecuta los siguientes comandos:

cd anthos-baremetal-private-mode

# Add actl command line tool and tools directory to the PATH
export PATH=$PWD/bin:$PATH

# Download Harbor offline installer
curl -SL \
  https://github.com/goharbor/harbor/releases/download/v2.2.0/harbor-offline-installer-v2.2.0.tgz \
  --output "local-registry/harbor-offline-installer.tgz"

# Install docker-compose
curl -SL \
  https://github.com/docker/compose/releases/download/1.28.5/docker-compose-Linux-x86_64 \
  --output "local-registry/docker-compose"

Estos son los dos únicos pasos del proceso que requieren una conexión a Internet. Si instalas la ejecución de Anthos en modo desconectado en un entorno completamente aislado de Internet, puedes hacer lo siguiente:

  • Primero, conecta tu estación de trabajo de administrador a Internet y descarga la actualización como se muestra arriba. Luego, desconecta la estación de trabajo de Internet y conéctala al entorno a prueba.
  • Descarga la versión de una estación de trabajo para desarrolladores conectada a Internet, cópialo en un dispositivo de almacenamiento portátil y mueve este dispositivo de almacenamiento portátil a tu estación de trabajo de administrador, ideal.

Puedes explorar el contenido de la versión de ejecución de Anthos en modo desconectado:

./anthos-baremetal-private-mode
├── actl-workspace
│   └── admin
│       └── admin.yaml
├── baremetal
│   ├── images
│   └── package-spec.yaml
├── bin
│   ├── actl
│   ├── istioctl
│   └── nomos
├── local-registry
│   ├── cleanup.sh
│   ├── docker-compose
│   ├── generate-certs.sh
│   ├── harbor-offline-installer.tgz
│   └── install.sh
├── managementcenter
│   ├── images
│   └── management-center.yaml
├── services
│   ├── anthos-config-management
│   ├── anthos-service-mesh
│   └── images
├── third_party
└── updatecenter
    └── images
  • El directorio local-registry contiene los recursos para configurar un registro de contenedores local.
  • Otros directorios como managementcenter, services y baremetal contienen todo lo necesario para instalar el clúster de administrador y el centro de administración de Anthos.

Habilita la opción de autocompletado de la shell actl [Opcional]

La herramienta de línea de comandos de actl admite la finalización automática de shell para Bash, Zsh y Fish. Para configurar la finalización en tu shell, sigue las instrucciones en actl help completion, por ejemplo, en Ubuntu/Debian, Bash:

# One time setup: install bash-completion
sudo apt update && sudo apt install bash-completion

# In ~/.bashrc
source /etc/profile.d/bash_completion.sh
source <(actl completion bash)

Configura tu Container Registry

La ejecución de Anthos en modo desconectado funciona mediante el almacenamiento de las imágenes de contenedor de Anthos en un registro de contenedor local. Puedes usar tu propio registro de contenedores existente o usar ejecución de Anthos en el registro de contenedores empaquetado en modo desconectado.

Exporta las siguientes variables de entorno.

export REGISTRY_HOST=REGISTRY_HOST
export REGISTRY_PASSWORD=REGISTRY_PASSWORD

# By default, a public project called 'library' is created,
# and you can also create other public or private projects with the container registry portal.
export PRIVATE_REGISTRY=${REGISTRY_HOST}/library

Reemplaza lo siguiente:

  • REGISTRY_HOST es la dirección IP de tu registro. Si deseas instalar y usar el registro de contenedores de la ejecución de Anthos en modo de desconexión en la estación de trabajo de administrador, usa la dirección IP de la estación de trabajo de administrador aquí.

  • REGISTRY_PASSWORD es el valor que estableciste para la contraseña de registro.

Si decides usar tu propio registro de contenedores, ve a la sección Sube imágenes al registro de contenedores.

Configura el registro de contenedores de la ejecución de Anthos en modo desconectado

En esta sección, configurarás un registro de contenedores privado en la estación de trabajo de administrador. Ejecuta todos los comandos que aparecen a continuación desde la estación de trabajo de administrador.

  1. Si no tienes tu propio registro de contenedores privado, instala el registro de contenedor de ejecución de Anthos en modo desconectado.

    cd ~/anthos-baremetal-private-mode
    
    # Move it to a path under $PATH
    chmod a+x local-registry/docker-compose
    sudo cp local-registry/docker-compose /usr/bin
    
    # Install local registry
    ./local-registry/install.sh
    
  2. Accede al registro para verificar que tienes acceso. Es posible que debas esperar unos segundos si recibes un error.

    docker login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
    

Notas:

  • El registro de contenedores de ejecución de Anthos en modo desconectado se usa para instalar la ejecución de Anthos solo en modo desconectado. Todavía no está listo para su uso en producción.
  • El proyecto de registro público predeterminado es library y se puede usar de forma predeterminada. Sin embargo, puedes acceder al registro y crear un proyecto nuevo, si así lo deseas.
  • Container Registry está disponible en https://REGISTRY_HOST/ después de que se inicia el servicio. Las credenciales de acceso son el nombre de usuario admin y REGISTRY_PASSWORD para la contraseña.
  • Las credenciales se almacenan sin encriptar en /home/<USER>/.docker/config.json.

Sube imágenes a Container Registry

En esta sección, subirás las imágenes de contenedor de ejecución de Anthos en modo desconectado a tu Container Registry.

Prepara y sube las imágenes de contenedor de ejecución de Anthos en modo desconectado a Container Registry. Si se te solicita, elige la opción Use that credential o ingresa las credenciales nuevas.

actl images push --private-registry=${PRIVATE_REGISTRY} \
    --images ~/anthos-baremetal-private-mode

Nota: Si usas un proxy HTTP en tu estación de trabajo, es posible que debas anular las siguientes variables de entorno para que funcione el comando actl images push:

unset http_proxy
unset https_proxy
unset HTTP_PROXY
unset HTTPS_PROXY

Sube gráficos de Helm a Container Registry (Opcional)

En esta sección, subirás los gráficos opcionales de Helm para la ejecución de Anthos en modo desconectado a Container Registry. La versión 1.10 de la ejecución de Anthos en modo desconectado incluye gráficos de Helm agrupados para tres soluciones de Google Cloud Marketplace: PostgreSQL, Redis y Kafka. Google empaqueta estas pilas de software de código abierto populares y está diseñado para ejecutarse en entornos desconectados.

  1. Prepara y sube los gráficos de ejecución de Anthos en modo desconectado de Helm a Container Registry. Si se te solicita, elige la opción Use that credential o ingresa las credenciales nuevas:

    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-postgresql/package-spec.yaml
    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-redis-ha/package-spec.yaml
    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-kafka/package-spec.yaml
    
  2. Para extraer los gráficos de Helm que se ejecutan en Anthos en modo de desconexión de tu Container Registry, habilita la compatibilidad con OCI experimental de Helm:

    export HELM_EXPERIMENTAL_OCI=1
    
  3. Si tu registro privado usa un certificado autofirmado, también debes actualizar los certificados de la autoridad certificada (CA) en tu sistema. Consulta este problema de Helm para obtener más detalles.

    sudo cp local-registry/ca.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
  4. Accede al registro para verificar que tienes acceso:

    helm registry login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
    
  5. Extrae y exporta los gráficos de Helm en ejecución de Anthos en modo desconectado de Container Registry:

    helm chart pull ${PRIVATE_REGISTRY}/<CHART>:<TAG>
    helm chart export ${PRIVATE_REGISTRY}/<CHART>:<TAG> .
    

¿Qué sigue?