Instala el centro de administración de Anthos

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

En esta página, se describe cómo instalar el centro de administración de Anthos y obtener su URL.

Instala el centro de administración

En esta sección, instalarás un clúster de administrador en máquinas de equipos físicos y, luego, instalarás el centro de administración en 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 es URL_SCHEME://REGISTRY_HOST/v2/IMAGE_PREFIX . Por ejemplo, si creaste el registro en la estación de trabajo, establece el extremo en https://REGISTRY_HOST/v2/library. Ten en cuenta que /v2/ entre REGISTRY_HOST y IMAGE_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. Si usas una implementación de alta disponibilidad, especifica tres direcciones IP, por ejemplo:

    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
        - address: 10.200.0.4
        - address: 10.200.0.5
    
  • 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 configurar controlPlaneVIP para identificar un grupo de direcciones IP virtual (VIP) a fin de exponer el servidor de la API de Kubernetes y los addressPools 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. Consulta Problemas conocidos si tienes problemas para crear el clúster de administrador.

cd ~/anthos-baremetal-private-mode
actl clusters baremetal create admin

Después de crear el clúster de administrador, verifica que tengas acceso a él.

export ADMIN_KUBECONFIG=$(pwd)/actl-workspace/admin/admin-kubeconfig

kubectl get nodes --kubeconfig=${ADMIN_KUBECONFIG}

Registra los recursos (opcional)

Puedes editar el archivo de configuración ./managementcenter/management-center.yaml para registrar tus recursos de forma automática a fin de que estén disponibles cuando se complete la instalación. De manera alternativa, puedes omitir esta sección y registrar tus recursos de forma manual cuando termines de instalar el Centro de administración.

Abre el archivo ./managementcenter/management-center.yaml para personalizar la instalación del centro de administración.

vi ./managementcenter/management-center.yaml

En el editor de archivos, agrega las siguientes secciones:

Registra máquinas de inventario

Registra las máquinas de inventario en el clúster de administrador para que el administrador de la plataforma las use más adelante en la creación de un clúster de usuario.

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.

Registra el grupo de direcciones IP virtuales (VIP)

Registra un AddressPool en el clúster de administrador para usarlo más adelante a fin de crear clústeres de usuario.

apiVersion: managementcenter.anthos.cloud.google.com/v1
kind: AddressPool
metadata:
  name: anthos-addresspool-default
spec:
  description: DESCRIPTION
  addresses:
  - VIP_ADDRESS_POOL

Reemplaza lo siguiente:

  • DESCRIPTION: Ingresa cualquier instrucción adicional que desees mostrar en la consola del centro de administración.
  • VIP_ADDRESS_POOL: Es el rango del grupo de direcciones VIP, por ejemplo, 10.200.0.100-10.200.0.200.

Registra un servicio de arranque

El servicio de arranque es un mecanismo que se usa para instalar previamente recursos adicionales, como servicios de almacenamiento y controladores de GPU, en los clústeres de usuario después de que se crean a fin de que estén disponibles de inmediato para su uso.

  1. Crea el ConfigMap que contenga todos los manifiestos necesarios para instalar el servicio.

    kubectl create configmap <configmap-name> --kubeconfig=ADMIN_KUBECONFIG \
      --from-file=path/to/MANIFESTS --namespace=anthos-management-center
    

    Reemplaza path/to/MANIFESTS por la ruta de acceso a los archivos de manifiesto.

  2. Agrega la siguiente sección al archivo ./managementcenter/management-center.yaml para crear el objeto de servicio de arranque que hace referencia al ConfigMap:

    apiVersion: managementcenter.anthos.cloud.google.com/v1
    kind: BootstrapService
    metadata:
      name: BOOTSTRAP_SERVICE_NAME
      namespace: anthos-management-center
    spec:
      # If set to True, this configuration can be applied to many user clusters,
      # e.g. a GPU driver configuration. If False, this configuration can only be
      # applied to a single user cluster, e.g. a CSI Driver + StorageClass
      # combination which is intended for exclusive use by a single user cluster.
      # Defaults to False.
      isReusable: False
      configMapRef:
        name: CONFIGMAP_NAME
        namespace: anthos-management-center
    

    Reemplaza lo siguiente:

    • BOOTSTRAP_SERVICE_NAME es el nombre del servicio de arranque.
    • CONFIGMAP_NAME es el nombre del ConfigMap que creaste en el paso anterior.

Instala el centro de administración

Instala el centro de administración en el clúster de administrador.

Configuración predeterminada

Sigue estas instrucciones para instalar el centro de administración con una configuración predeterminada mínima.

cd ~/anthos-baremetal-private-mode
actl platform management-center create

Configuración personalizada

Sigue estas instrucciones para instalar el centro de administración mediante una configuración personalizada. Esto te permite personalizar la configuración antes de instalar el centro de administración. Para ello, actualiza el archivo ./managementcenter/management-center.yaml a fin de personalizar la instalación del Centro de administración.

vi ./managementcenter/management-center.yaml

Instala el centro de administración mediante la configuración personalizada.

cd ~/anthos-baremetal-private-mode
actl platform management-center create --config managementcenter/management-center.yaml

Obtén la URL del centro de administración

La URL para el centro de administración se imprime después de instalar el centro de administración, pero también se puede recuperar mediante la ejecución del siguiente comando:

actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}

Puedes compartir la URL que se muestra con un administrador de plataforma para que pueda acceder al centro de administración.

Configura el nombre de dominio para acceder al centro de administración

A fin de configurar tu propio nombre de dominio para acceder al centro de administración, haz lo siguiente:

Agrega un A record a la configuración de tu dominio DNS y configúralo con la dirección IP que muestra el siguiente comando:

actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}

¿Qué sigue?