Installer Anthos Management Center

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

Cette page explique comment installer Anthos Management Center et obtenir son URL.

Installer Management Center

Dans cette section, vous allez installer un cluster d'administrateur sur des machines physiques, puis installer le centre de gestion au-dessus du cluster d'administrateur.

Préparer la configuration du cluster d'administrateur

Mettez à jour le fichier ./actl-workspace/admin/admin.yaml avec des paramètres correspondant à votre environnement.

vi ./actl-workspace/admin/admin.yaml

Remplissez les champs suivants :

  • La clé sshPrivateKeyPath est la clé utilisée lors de l'installation pour accéder aux autres nœuds faisant partie du cluster. Il s'agit de l'homologue privé de la clé publique que vous avez distribuée aux nœuds dans les conditions préalables.

  • registryMirrors identifie l'emplacement du miroir des registres dans lesquels les images Docker sont stockées.

    • registryMirrors.endpoint est le point de terminaison du miroir. Le format du point de terminaison est URL_SCHEME://REGISTRY_HOST/v2/IMAGE_PREFIX . Par exemple, si vous avez créé le registre sur le poste de travail, définissez le point de terminaison sur https://REGISTRY_HOST/v2/library. Notez que l'élément /v2/ compris entre REGISTRY_HOST et IMAGE_PREFIX est nécessaire.

    • registryMirrors.pullCredentialConfigPath est le chemin d'accès aux identifiants. Ce type de paramètre se présente généralement sous la forme /home/USER/.docker/config.json.

    • registryMirrors.caCertPath est l'emplacement de l'autorité de certification que le registre utilisera pour chiffrer le trafic. Ce certificat est distribué aux nœuds pendant le processus d'installation pour leur permettre d'extraire des images du registre. Le chemin d'accès est généralement /etc/docker/certs.d/REGISTRY_HOST/ca.crt.

  • La spécification controlPlane définit les nœuds qui font partie du plan de contrôle. Si vous utilisez un déploiement à haute disponibilité, spécifiez trois adresses IP. Par exemple :

    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 spécification loadBalancer définit le type d'équilibreur de charge utilisé. La configuration par défaut installe un équilibreur de charge sur le cluster en cours d'exécution. Dans ce cas, vous devez au moins définir le paramètre controlPlaneVIP pour identifier un pool d'adresse IP virtuelle (IPV) afin d'exposer le serveur d'API Kubernetes et l'adresse e-mail addressPools pour affecter les adresses IP virtuelles à la demande aux services qui en font la requête. Exemple :

    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
    
  • La dernière section de la spécification de cluster spécifie loginUser. Cette connexion doit avoir accès à la clé SSH spécifiée ci-dessous et correspond à l'utilisateur pour lequel la clé a été distribuée dans les conditions préalables.

    nodeAccess:
      loginUser: LOGIN_USERNAME
    

    Remplacez LOGIN_USERNAME par le nom d'utilisateur utilisé pour vous connecter au cluster d'utilisateur.

  • La spécification nodePool identifie les nœuds qui hébergeront la console du centre de gestion, Prometheus, Grafana et d'autres services sur le cluster d'administrateur. Ces nœuds sont les nœuds de calcul du cluster d'administrateur. Exemple :

    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
    

Créez le cluster d'administrateur :

Exécutez la commande suivante pour créer le cluster d'administrateur. Cela prend environ 30 minutes. Consultez la page Problèmes connus si vous rencontrez des problèmes lors de la création du cluster d'administrateur.

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

Une fois le cluster d'administrateur créé, vérifiez que vous y avez accès.

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

kubectl get nodes --kubeconfig=${ADMIN_KUBECONFIG}

Facultatif : Enregistrer les ressources

Vous pouvez modifier le fichier de configuration ./managementcenter/management-center.yaml pour enregistrer automatiquement vos ressources afin qu'elles soient disponibles une fois l'installation terminée. Vous pouvez également ignorer cette section et enregistrer manuellement vos ressources une fois l'installation du centre de gestion terminée.

Ouvrez le fichier ./managementcenter/management-center.yaml pour personnaliser l'installation du centre de gestion.

vi ./managementcenter/management-center.yaml

Dans l'éditeur de fichiers, ajoutez les sections suivantes :

Enregistrer des machines inventoriées

Enregistrez des machines d'inventaire dans le cluster d'administrateur pour que l'administrateur de la plate-forme puisse l'utiliser ultérieurement afin de créer un cluster d'utilisateur.

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.

Enregistrer un pool d'adresses IP virtuelles (IPV)

Enregistrez un AddressPool sur le cluster d'administrateur, que vous utiliserez ultérieurement pour créer des clusters d'utilisateur.

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.

  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. Ajoutez la section suivante au fichier ./managementcenter/management-center.yaml pour créer l'objet du service d'amorçage qui fait 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.

Installer Management Center

Installez le Centre de gestion sur le cluster d'administrateur.

Configuration par défaut

Ces instructions permettent d'installer le centre de gestion avec une configuration par défaut minimale.

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

Configuration personnalisée

Ces instructions permettent d'installer le centre de gestion à l'aide d'une configuration personnalisée. Cela vous permet de personnaliser les paramètres avant d'installer le centre de gestion. Pour ce faire, mettez à jour le fichier ./managementcenter/management-center.yaml afin de personnaliser l'installation du centre de gestion.

vi ./managementcenter/management-center.yaml

Installez le centre de gestion avec la configuration personnalisée.

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

Obtenir l'URL du centre de gestion

L'URL du centre de gestion s'affiche après l'installation du centre de gestion, mais vous pouvez également la récupérer en exécutant la commande suivante :

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

Vous pouvez partager l'URL renvoyée avec un administrateur de plate-forme afin qu'il puisse accéder au centre de gestion.

Configurer un nom de domaine pour accéder au centre de gestion

Pour configurer votre propre nom de domaine afin d'accéder au centre de gestion, procédez comme suit :

Ajoutez un A record à la configuration de votre domaine DNS et définissez-le sur l'adresse IP renvoyée par la commande suivante :

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

Étapes suivantes