Instalación de la infraestructura del modo privado de Anthos

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

El modo privado de Anthos es una versión de Anthos que puede ejecutarse por completo en Internet en un entorno aislado del aire. Puedes usar el modo privado de Anthos para ejecutar cargas de trabajo altamente regulados en tus instalaciones, sin dejar de beneficiarse de muchas de las ventajas de una infraestructura nativa de la nube.

Introducción

La arquitectura del modo privado de Anthos es similar a la arquitectura de la versión conectada de Anthos en equipos físicos: hay un clúster de administrador que usas para crear y administrar 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 implementación del modo privado de Anthos.

En comparación con la versión conectada de Anthos del equipo operativo, el modo privado de Anthos incluye 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 el modo privado de Anthos y realizar 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 del modo privado de Anthos

Figura: figura de arquitectura del modo privado 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 del modo privado de Anthos.

Obtén acceso al modo privado de Anthos

Google debe otorgarte acceso a las actualizaciones del modo privado de Anthos. 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.

Una vez que tu punto de contacto de Google confirme que tienes acceso a las actualizaciones del modo privado de Anthos, verifica que tengas los permisos para descargar las actualizaciones del modo privado de Anthos 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 del modo privado de Anthos, comunícate con tu punto de contacto de Google a fin de obtener ayuda.

Descarga el modo privado de Anthos

En esta sección, debes descargar la versión del modo privado de Anthos, 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 el modo privado de Anthos

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

# Login with the account granted access to Anthos private mode
gcloud auth login

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

# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.9/installing/infrastructure#download
export INSTALLER_DIGEST=ad410b7450e8ecaaa94821592dd0f49a1ade75e460e9ab18205c3b1364c6e910
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 completada la descarga del modo privado de Anthos, 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 el modo privado de Anthos en un entorno que está completamente aislado de Internet, puedes realizar una de las siguientes acciones:

  • 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 del lanzamiento del modo privado de Anthos:

./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

El modo privado de Anthos funciona mediante el almacenamiento de las imágenes de contenedor de Anthos en un registro de contenedores local. Puedes usar tu propio registro de contenedores existente o usar el registro de contenedores en modo privado de Anthos.

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 Container Registry del modo privado de Anthos en la estación de trabajo de administrador, usa aquí la dirección IP de tu estación de trabajo de administrador.

  • 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 Container Registry del modo privado de Anthos

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 Container Registry privado, instala Container Registry del modo privado de Anthos.

    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 del modo privado de Anthos se usa solo para instalar el modo privado de Anthos. 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 en modo privado de Anthos a tu registro de contenedores.

Prepara y sube las imágenes de contenedor en modo privado de Anthos a tu registro de contenedores. 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, cargarás los gráficos opcionales de Helm para el modo privado de Anthos a Container Registry. La versión 1.9 del modo privado de Anthos incluye gráficos de Helm agrupados para dos soluciones de Google Cloud Marketplace: PostgreSQL y Redis. 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 Helm del modo privado de Anthos 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
    
  2. Para extraer los gráficos de Helm del modo privado de Anthos de Container Registry, habilita la compatibilidad experimental de OCI con 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 del modo privado de Anthos desde Container Registry:

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

¿Qué sigue?