Registra recursos

Registra máquinas de inventario

Para que el administrador de la plataforma cree un clúster de usuario, Anthos necesita un grupo de máquinas inactivas disponibles. En esta sección, registras máquinas de inventario en el clúster de administrador de Anthos para que el administrador de la plataforma las use más adelante a fin de crear un clúster de usuario. Esas máquinas deben cumplir con los mismos requisitos que los nodos de clúster de administrador.

kubectl apply -f <path/to/example-machine.yaml> --kubeconfig=${ADMIN_KUBECONFIG}

Ejemplo:

apiVersion: baremetal.cluster.gke.io/v1alpha1
kind: InventoryMachine
metadata:
  name: <ip address of the machine. e.g., 10.200.0.10>
  labels:
    "mykey": "myvalue"
    "rack": "r1020"
spec:
  address: <ip address of the machine. e.g., 10.200.0.10>

Los labels son pares clave-valor de formato libre que se conectan al recurso. Pueden usarse más adelante en el Centro de administración para filtrar las máquinas. Por ejemplo, puedes usar las etiquetas para identificar la ubicación de los bastidores, las configuraciones especiales de hardware, etc...

Usa claves SSH diferentes para máquinas de inventario [opcional]

De forma predeterminada, el modo privado de Anthos usa el ssh-key que proporciona sshPrivateKeyPath (que se usa para acceder a las máquinas del clúster de administrador) a fin de acceder a estas máquinas de inventario. Para obtener un mejor aislamiento entre las máquinas de clústeres de administrador y las máquinas de inventario (que se usan para clústeres de usuarios), puedes usar una clave SSH diferente para las máquinas de inventario. Debes crearlos antes de los clústeres de usuario para los que los necesites.

  1. Distribuye la clave pública SSH a todas las máquinas de inventario.

  2. Almacena la clave privada SSH como secreto en el clúster de administrador, por ejemplo, user-cluster-ssh-key.

    kubectl create secret generic user-cluster-ssh-key -n anthos-creds --kubeconfig=${ADMIN_KUBECONFIG} \
      --from-file=id_rsa=/path/to/KEYPAIR_PRIVATE_KEY_FILENAME
    
  3. Cuando crees clústeres de usuarios, especifica el secreto creado en el paso 1 (es decir, user-cluster-ssh-key) en el espacio de nombres anthos-creds.

    Esto solo se admite cuando se crean clústeres mediante la API. Agrega la clave SSH a la definición del clúster dentro del archivo YAML del clúster de usuario como sshKeySecret y especifica imagePullSecret, por ejemplo:

      apiVersion: baremetal.cluster.gke.io/v1
      kind: Cluster
      metadata:
        name: <cluster-name>
        namespace: cluster-<cluster-name>
      spec:
        type: user
        credentials:
          sshKeySecret:
            name: user-cluster-ssh-key
            namespace: anthos-creds
          ....
        nodeAccess:
          loginUser: <login user name>
          ....
    

Registra un grupo de direcciones VIP

Para que el administrador de la plataforma cree un clúster de usuario, que no sea InventoryMachines, Anthos necesita un grupo de todas las IP virtuales disponibles. La IU del Centro de administración lo usa para indicarle al administrador de la plataforma qué direcciones virtuales están disponibles y validar la disponibilidad VIP durante la creación del clúster de usuario.

En esta sección, registrarás un AddressPool en el clúster de administrador de Anthos para usarlo más adelante a fin de crear clústeres de usuario. Debes crear solo un grupo de direcciones con el nombre anthos-addresspool-default. Cada clúster de usuario se aplicará de manera forzosa a las VIP de este grupo de direcciones y no podrá reutilizar el mismo rango de VIP. Las IP virtuales deben cumplir con los mismos requisitos que las VIP que se usaron para el clúster de administrador y no deben superponerse con las IP de los nodos. El campo de descripción te permite agregar algunas instrucciones adicionales en la IU.

kubectl apply -f <path/to/example-addresspool.yaml> --kubeconfig=${ADMIN_KUBECONFIG}

Ejemplo:

apiVersion: managementcenter.anthos.cloud.google.com/v1alpha1
kind: AddressPool
metadata:
  name: anthos-addresspool-default
spec:
  description: <description text>
  addresses:
  - <vip address pool. e.g, 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. Debes crear servicios de arranque antes de que los clústeres de usuario en el que los usarás.

  1. Uso

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

    para crear el configmap que contiene todos los manifiestos necesarios a fin de iniciar el servicio

  2. Crea el objeto del servicio de arranque que hace referencia al mapa de configuración

    apiVersion: managementcenter.anthos.cloud.google.com/v1alpha1
    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
    
  3. Repite los pasos anteriores si se necesitan más servicios de arranque.