Guía de inicio rápido sobre la instalación de la ejecución de Anthos en modo desconectado
Alcance de la guía de inicio rápido del modo privado de Anthos
En esta guía de inicio rápido, se te guiará a través de la instalación de la ejecución de Anthos en modo desconectado como operador de infraestructura, responsable de la capa de la infraestructura, como las máquinas físicas, las herramientas de redes, el almacenamiento y el sistema operativo. En esta guía de inicio rápido, aprenderás a realizar las siguientes tareas:
- Instala y configura la ejecución de Anthos en modo desconectado con el enfoque de instalación mínima.
- Implementar un clúster de administrador.
- Crea un clúster de usuario y, luego, implementa una aplicación en el clúster de usuario
La ejecución de Anthos en modo desconectado tiene dos tipos de clústeres:
- Los clústeres de administrador se usan para crear y administrar clústeres de usuarios.
- Los clústeres de usuario ejecutan las cargas de trabajo.
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.
Antes de comenzar
Asegúrate de cumplir con los requisitos técnicos para la ejecución de Anthos en modo desconectado y tener cinco o más máquinas que estén listas para usarse. Para esta guía de inicio rápido, se necesita experiencia previa en administración del sistema y Kubernetes.Prepare el entorno
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.10.3-gke.2
# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.10/installing/infrastructure#download
export INSTALLER_DIGEST=62ea4de45311e2899c8187aed2c57ea28919299fd9452bdb64c4d972b1d9956a
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"
No volverás a necesitar una conexión a Internet hasta que implementes la app de demostración.
Configura el Container Registry local
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.
Exporta las siguientes variables de entorno.
export REGISTRY_HOST=REGISTRY_HOST
export REGISTRY_PASSWORD=REGISTRY_PASSWORD
# By default, a library public project is created,
# and you can also create other private projects via 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.
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.
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
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}
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.
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
Instala el centro de administración
En esta sección, debes instalar un clúster de administrador de Anthos en equipos físicos y, luego, debes instalar el centro de administración del modo privado de Anthos sobre el clúster de administrador.
Prepara la configuración del clúster de administrador
Actualiza el archivo ./actl-workspace/admin/admin.yaml
con la configuración que coincide con tu entorno.
vi ./actl-workspace/admin/admin.yaml
Completa los siguientes campos:
La
sshPrivateKeyPath
es la clave que se usa durante la instalación para acceder a los otros nodos que serán parte del clúster. Esta es la mitad privada de la clave pública que distribuiste a los nodos en los requisitos previos.La
registryMirrors
identifica la ubicación de la duplicación de todo el registro en la que se almacenan las imágenes de Docker.registryMirrors.endpoint
es el extremo de la duplicación. El formato del extremo esURL_SCHEME://REGISTRY_HOST/v2/IMAGE_PREFIX
. Por ejemplo, si creaste el registro en la estación de trabajo, establece el extremo enhttps://REGISTRY_HOST/v2/library
. Ten en cuenta que/v2/
entreREGISTRY_HOST
yIMAGE_PREFIX
es necesario.registryMirrors.pullCredentialConfigPath
es la ruta de las credenciales. Por lo general, es similar al siguiente ejemplo:/home/USER/.docker/config.json
.registryMirrors.caCertPath
es la ubicación de la autoridad certificadora que usará el registro para encriptar el tráfico. Este certificado se distribuye a los nodos durante el proceso de instalación para que puedan extraer imágenes del registro. Por lo general, la ruta es/etc/docker/certs.d/REGISTRY_HOST/ca.crt
.
La especificación
controlPlane
define qué nodos forman parte del plano de control.controlPlane: nodePoolSpec: nodes: # Control plane node pools. Typically, this is either a single machine # or 3 machines if using a high availability deployment. - address: 10.200.0.3
La especificación
loadBalancer
define qué tipo de balanceador de cargas se usa. La configuración predeterminada instala un balanceador de cargas en el clúster en ejecución. En este caso, como mínimo, debes configurarcontrolPlaneVIP
para identificar un grupo de direcciones IP virtual (VIP) a fin de exponer el servidor de la API de Kubernetes y losaddressPools
para asignar VIP según demanda para los servicios que los solicitan. Por ejemplo:loadBalancer: mode: bundled # There are two load balancer VIPs: one for the control plane and one for the # Layer 7 Ingress service. # The VIPs must be in the same subnet as the load balancer nodes. vips: # ControlPlaneVIP specifies the VIP to connect to the Kubernetes API server. # This address must not be in the address pools below. controlPlaneVIP: 10.200.0.50 # AddressPools is a list of non-overlapping IP ranges for the data plane load # balancer. # All addresses must be in the same subnet as the load balancer nodes. # Address pool configuration is only valid for 'bundled' LB mode in non-admin # clusters. addressPools: - name: pool1 addresses: # Each address must be either in the CIDR form (1.2.3.0/24) # or range form (1.2.3.1-1.2.3.5). - 10.200.0.51-10.200.0.59
En la última sección de la especificación del clúster se especifica el
loginUser
. Este acceso debe tener acceso a la clave SSH especificada a continuación y es el usuario para el que se distribuye la clave en los requisitos previos.nodeAccess: loginUser: LOGIN_USERNAME
Reemplaza
LOGIN_USERNAME
por el nombre de usuario que se usa para acceder al clúster de usuario.La especificación
nodePool
identifica los nodos que alojarán la consola del centro de administración, Prometheus, Grafana y otros servicios en el clúster de administrador. Estos son los nodos trabajadores del clúster de administrador. Por ejemplo:apiVersion: baremetal.cluster.gke.io/v1 kind: NodePool metadata: name: node-pool-1 namespace: cluster-admin spec: # Cannot be changed, must be admin clusterName: admin nodes: - address: 10.200.0.6
Crea el clúster de administrador:
Ejecuta el siguiente comando para crear el clúster de administrador. Lleva alrededor de 30 minutos.
cd ~/anthos-baremetal-private-mode
actl clusters baremetal create admin
Una vez que se cree el clúster de administrador, verifique que tenga acceso a él.
export ADMIN_KUBECONFIG=$(pwd)/bmctl-workspace/admin/admin-kubeconfig
KUBECONFIG=${ADMIN_KUBECONFIG} kubectl get nodes
Instala el centro de administración
Instala el Centro de administración en el clúster de administrador con la configuración predeterminada.
cd ~/anthos-baremetal-private-mode actl platform management-center create
Accede al centro de administración de Anthos en tu navegador.
actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}
Se muestra la URL del Centro de administración de Anthos.
Registra recursos
Registra máquinas de inventario
Para crear un clúster de usuario, Anthos necesita un grupo de máquinas inactivas disponibles. En esta sección, registrarás las máquinas de inventario en el clúster de administrador de Anthos para que estén disponibles.
kubectl apply -f <path/to/example-machine.yaml> --kubeconfig=${ADMIN_KUBECONFIG}
Ejemplo:
apiVersion: baremetal.cluster.gke.io/v1alpha1
kind: InventoryMachine
metadata:
name: IP_ADDRESS
labels:
"KEY": "VALUE"
spec:
address: IP_ADDRESS
Reemplaza lo siguiente:
IP_ADDRESS
: Es la dirección IP de la máquina, por ejemplo,10.200.0.10
.KEY
:VALUE
: Un par clave-valor, por ejemplo"rack": "r1020"
, para indicar una ubicación de bastidor.
Los labels
son pares clave-valor de formato libre que se conectan al recurso.
Estas etiquetas se pueden usar más adelante en el centro de administración para filtrar máquinas.
Por ejemplo, puedes usar las etiquetas para identificar la configuración de la ubicación del bastidor o la configuración especial de hardware.
Crear clústeres de usuario
En la página Clústeres del Centro de administración, haz clic en Crearpara crear un clúster de usuario de Anthos nuevo. Una vez que se crea el clúster, se registra de forma automática en el centro de administración y aparece en el panel del clúster de inmediato.
La instalación y preparación puede tardar hasta 15 minutos. Mientras esperas, puedes verificar el estado del clúster de usuario con el siguiente comando:
kubectl get Cluster -n USER_CLUSTER_NAME --kubeconfig=${ADMIN_KUBECONFIG}
Reemplaza USER_CLUSTER_NAME
por el nombre del clúster que creaste.
Una vez que el estado esté listo, el clúster se crea y se registra de forma correcta en el clúster de administrador.
Obtén acceso al clúster de usuario
Una vez que se crea el clúster de usuario, puedes descargar kubeconfig a través del Centro de administración.
Implementa una app de demostración
Para explorar la ejecución de Anthos en modo desconectado, prueba la aplicación de ejemplo Online Boutique.
Descarga la imagen
Para realizar los pasos de esta sección, se requiere una conexión a Internet.
Descarga el repositorio de muestra:
git clone https://github.com/GoogleCloudPlatform/microservices-demo.git/ online-boutique
Cómo descargar las imágenes
IMAGES=$(cat online-boutique/release/kubernetes-manifests.yaml | grep image | sed "s/ *image: //") actl images save --output online-boutique-images ${IMAGES}
Implemente la muestra
Envía las imágenes al registro privado:
actl images push --images online-boutique-images --private-registry=PRIVATE_REGISTRY
Reemplaza
PRIVATE_REGISTRY
por el nombre de tu clúster privado.Crea un espacio de nombres para la aplicación:
kubectl create namespace demo --kubeconfig=USER_CLUSTER_KUBECONFIG
Reemplaza
USER_CLUSTER_KUBECONFIG
por la ruta de acceso al archivo Kubeconfig del clúster de usuario.Implementa la muestra en el clúster:
.kubectl apply -n demo -f online-boutique/release/ --kubeconfig=USER_CLUSTER_KUBECONFIG
Realiza una limpieza
Borra tu clúster de usuario mediante la ejecución del siguiente comando:
kubectl -n cluster-USER_CLUSTER_NAME \
delete Cluster USER_CLUSTER_NAME --kubeconfig=ADMIN_KUBECONFIG