Enregistrer des ressources

Cette page est destinée aux opérateurs d'infrastructure.

Après avoir installé Anthos Management Center, vous devez enregistrer les machines, le pool d'adresses et les services d'amorçage. Si vous avez déjà enregistré vos ressources en modifiant le fichier de configuration du centre de gestion avant de l'installer, vous pouvez ignorer cette page, sauf si vous enregistrez des ressources supplémentaires.

Enregistrer des machines inventoriées

Pour qu'un administrateur de plate-forme puisse créer un cluster d'utilisateur, Anthos en mode déconnecté a besoin d'un pool de machines inactives disponibles. Dans cette section, vous allez enregistrer des machines inventoriées dans le cluster d'administrateur Anthos afin que l'administrateur de la plate-forme puisse les utiliser ultérieurement pour créer un cluster d'utilisateur. Ces machines doivent répondre aux mêmes exigences que les nœuds du cluster d'administrateur.

kubectl apply -f path/to/example-machine.yaml --kubeconfig=ADMIN_KUBECONFIG

Exemple de fichier example-machine.yaml :

apiVersion: baremetal.cluster.gke.io/v1alpha1
kind: InventoryMachine
metadata:
  name: IP_ADDRESS
  labels:
    "KEY": "VALUE"
spec:
  address: IP_ADDRESS

Remplacez les éléments suivants :

  • IP_ADDRESS : adresse IP de la machine, par exemple 10.200.0.10.
  • KEY :VALUE : paire clé/valeur, par exemple "rack": "r1020" pour indiquer un emplacement de rack.

Les labels sont des paires clé/valeur au format libre associées à la ressource. Vous pourrez les utiliser ultérieurement dans le centre de gestion pour filtrer les machines. Par exemple, vous pouvez utiliser les libellés pour identifier l'emplacement du rack ou les configurations matérielles spéciales.

Facultatif : Utiliser des clés SSH différentes pour les machines inventoriées

Par défaut, Anthos en mode déconnecté utilise la clé SSH fournie par sshPrivateKeyPath (utilisée pour accéder aux machines du cluster d'administrateur) pour accéder à ces machines d'inventaire. Afin de bénéficier d'une meilleure isolation entre les machines du cluster d'administrateur et les machines inventoriées (utilisées pour les clusters d'utilisateur), vous pouvez utiliser une clé SSH différente pour les machines inventoriées. Créez les clés SSH avant de créer les clusters d'utilisateur qui en ont besoin.

  1. Distribuez la clé publique SSH sur toutes les machines inventoriées.

  2. Stockez la clé privée SSH en tant que secret dans le cluster d'administrateur, par exemple 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
    

    Remplacez /path/to/KEYPAIR_PRIVATE_KEY_FILENAME par le chemin d'accès dans lequel générer la paire de clés.

  3. Lorsque vous créez des clusters d'utilisateur, spécifiez le secret créé à l'étape 1, tel que user-cluster-ssh-key, sous l'espace de noms anthos-creds.

    Cette option n'est disponible que lors de la création de clusters à l'aide de l'API. Ajoutez la clé SSH dans la définition du cluster au sein du fichier YAML du cluster d'utilisateur sous la forme sshKeySecret, puis spécifiez imagePullSecret. Exemple :

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

    Remplacez les éléments suivants :

    • CLUSTER_NAME : nom du cluster.
    • LOGIN_USERNAME : nom d'utilisateur permettant de se connecter au cluster d'utilisateur.

Enregistrer un pool d'adresses IP virtuelles

Pour que l'administrateur de plate-forme puisse créer un cluster d'utilisateur autre que InventoryMachines, Anthos a besoin d'un pool regroupant toutes les adresses IP virtuelles disponibles. La console du centre de gestion utilise ce pool pour indiquer à l'administrateur de plate-forme les adresses IP virtuelles disponibles et pour vérifier leur disponibilité lors de la création du cluster d'utilisateur.

Dans cette section, vous allez enregistrer un pool d'adresses AddressPool dans le cluster d'administrateur Anthos afin de l'utiliser ultérieurement pour créer des clusters d'utilisateur. Vous devez créer un seul pool d'adresses à l'aide du nom anthos-addresspool-default. Chaque cluster d'utilisateur doit utiliser des adresses IP virtuelles de ce pool d'adresses et ne peut pas réutiliser la même plage d'adresses IP virtuelles. Les adresses IP virtuelles doivent répondre aux mêmes exigences que les adresses IP virtuelles utilisées pour le cluster d'administrateur et ne peuvent pas se chevaucher avec les adresses IP des nœuds.

kubectl apply -f path/to/ADDRESS_POOL_FILENAME --kubeconfig=ADMIN_KUBECONFIG

Remplacez path/to/ADDRESS_POOL_FILENAME par le chemin d'accès au fichier du pool d'adresses, par exemple example-addresspool.yaml.

Exemple de fichier example-addresspool.yaml :

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

Remplacez les éléments suivants :

  • DESCRIPTION : saisissez les instructions supplémentaires que vous souhaitez afficher dans la console du centre de gestion.
  • VIP_ADDRESS_POOL : plage du pool d'adresses IP virtuelles, par exemple 10.200.0.100-10.200.0.200.

Enregistrer le service d'amorçage

Le service d'amorçage est un mécanisme utilisé pour préinstaller des ressources supplémentaires, telles que les services de stockage et les pilotes de GPU, dans des clusters d'utilisateur après leur création pour les rendre immédiatement disponibles. Créez les services d'amorçage avant de créer les clusters d'utilisateur qui en ont besoin.

  1. Créez le ConfigMap contenant tous les fichiers manifestes nécessaires à l'installation du service.

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

    Remplacez path/to/MANIFESTS par le chemin d'accès aux fichiers manifestes.

  2. Créez l'objet du service d'amorçage faisant référence au 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
    

    Remplacez les éléments suivants :

    • BOOTSTRAP_SERVICE_NAME : nom du service d'amorçage
    • CONFIGMAP_NAME : nom du ConfigMap créé à l'étape précédente
  3. Répétez ces étapes si d'autres services d'amorçage sont nécessaires.

Étapes suivantes