Installazione di Anthos Management Center

Questa pagina è dedicata agli operatori dell'infrastruttura.

In questa pagina viene descritto come installare Anthos Management Center e recuperare il relativo URL.

Installazione del Centro di gestione

In questa sezione installerai un cluster di amministrazione su macchine Bare Metal, quindi installerai il Centro di gestione sopra il cluster di amministrazione.

Prepara la configurazione del cluster di amministrazione

Aggiorna il file ./actl-workspace/admin/admin.yaml con le impostazioni corrispondenti al tuo ambiente.

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

Compila i seguenti campi:

  • La chiave sshPrivateKeyPath è la chiave utilizzata durante l'installazione per accedere agli altri nodi che faranno parte del cluster. Questa è la controparte privata della chiave pubblica che hai distribuito ai nodi nei Prerequisiti.

  • registryMirrors identifica la posizione di tutti i mirroring del Registro di sistema in cui sono archiviate le immagini Docker.

    • registryMirrors.endpoint è l'endpoint del mirroring. Il formato dell'endpoint è URL_SCHEME://REGISTRY_HOST/v2/IMAGE_PREFIX . Ad esempio, se hai creato il Registro di sistema sulla workstation, imposta l'endpoint su https://REGISTRY_HOST/v2/library. Tieni presente che /v2/ è obbligatorio tra REGISTRY_HOST e IMAGE_PREFIX.

    • registryMirrors.pullCredentialConfigPath è il percorso per le credenziali. In genere, questo è simile a /home/USER/.docker/config.json.

    • registryMirrors.caCertPath è la posizione dell'autorità di certificazione utilizzata dal registry per criptare il traffico. Questo certificato viene distribuito ai nodi durante il processo di installazione per consentire loro di estrarre immagini dal registro. Il percorso solitamente è /etc/docker/certs.d/REGISTRY_HOST/ca.crt.

  • La specifica controlPlane definisce i nodi che fanno parte del piano di controllo. Se utilizzi un deployment ad alta disponibilità, specifica tre indirizzi IP, ad esempio:

    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 specifica loadBalancer definisce il tipo di bilanciatore del carico utilizzato. La configurazione predefinita installa un bilanciatore del carico sul cluster in esecuzione. In questo caso, devi almeno impostare controlPlaneVIP in modo che identifichi un pool di indirizzi IP virtuali (VIP) per esporre il server API Kubernetes e addressPools per allocare i VIP on demand ai servizi che li richiedono. Ad esempio:

    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
    
  • L'ultima sezione delle specifiche del cluster specifica il valore loginUser. Questo accesso deve avere accesso alla chiave SSH specificata di seguito ed è l'utente per cui è stata distribuita nella chiave nei prerequisiti.

    nodeAccess:
      loginUser: LOGIN_USERNAME
    

    Sostituisci LOGIN_USERNAME con il nome utente utilizzato per accedere al cluster utente.

  • La specifica nodePool identifica i nodi che ospitano la console del Centro gestione, Prometheus, Grafana e altri servizi nel cluster di amministrazione. Questi nodi sono i nodi worker del cluster di amministrazione. Ad esempio:

    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 il cluster di amministrazione

Esegui il comando seguente per creare il cluster di amministrazione. Sono necessari circa 30 minuti. Consulta Problemi noti in caso di problemi durante la creazione del cluster di amministrazione.

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

Dopo la creazione del cluster di amministrazione, verifica di potervi accedere.

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

kubectl get nodes --kubeconfig=${ADMIN_KUBECONFIG}

Facoltativo: registra le risorse

Puoi modificare il file di configurazione ./managementcenter/management-center.yaml per registrare automaticamente le risorse in modo che siano disponibili al termine dell'installazione. In alternativa, puoi saltare questa sezione e registrare manualmente le tue risorse dopo aver completato l'installazione del Centro di gestione.

Apri il file ./managementcenter/management-center.yaml per personalizzare l'installazione del Centro gestione.

vi ./managementcenter/management-center.yaml

Nell'editor dei file, aggiungi le seguenti sezioni:

Registrare le macchine di inventario

Registrare le macchine dell'inventario al cluster di amministrazione affinché l'amministratore della piattaforma possa utilizzarlo in un secondo momento per creare un cluster utente.

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

Sostituisci quanto segue:

  • IP_ADDRESS: l'indirizzo IP della macchina, ad esempio 10.200.0.10.
  • KEY:VALUE: una coppia chiave-valore, ad esempio "rack": "r1020" per indicare la posizione di un rack.

Le labels sono coppie chiave-valore in formato libero collegate alla risorsa. Queste etichette possono essere utilizzate in un secondo momento nel Centro di gestione per filtrare le macchine. Ad esempio, puoi utilizzare le etichette per identificare la posizione del rack o le configurazioni hardware speciali.

Registra pool di indirizzi IP virtuali

Registra un AddressPool nel cluster di amministrazione per utilizzarlo in seguito per creare cluster utente.

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

Sostituisci quanto segue:

  • DESCRIPTION: inserisci eventuali istruzioni aggiuntive che vuoi mostrare nella Console di gestione del Centro.
  • VIP_ADDRESS_POOL: l'intervallo del pool di indirizzi VIP, ad esempio 10.200.0.100-10.200.0.200.

Registra servizio Bootstrap

Il servizio Bootstrap è un meccanismo utilizzato per preinstallare ulteriori risorse come i servizi di archiviazione e i driver GPU nei cluster utente dopo la loro creazione, per renderli disponibili immediatamente.

  1. Crea l'oggetto configmap che contiene tutti i manifest necessari per installare il servizio.

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

    Sostituisci path/to/MANIFESTS con il percorso dei file manifest.

  2. Aggiungi la seguente sezione al file ./managementcenter/management-center.yaml per creare l'oggetto Bootstrap Service che fa riferimento alla 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
    

    Sostituisci quanto segue:

    • BOOTSTRAP_SERVICE_NAME: il nome del servizio bootstrap.
    • CONFIGMAP_NAME: il nome della configmap che hai creato nel passaggio precedente.

Installazione del Centro di gestione

Installare il Centro di gestione nel cluster di amministrazione

Configurazione predefinita

Queste istruzioni installano il Centro di gestione con una configurazione predefinita minima.

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

Configurazione personalizzata

Queste istruzioni installano il Centro di gestione utilizzando una configurazione personalizzata. In questo modo puoi personalizzare le impostazioni prima di installare il Centro di gestione. A tale scopo, aggiorna il file ./managementcenter/management-center.yaml per personalizzare l'installazione del Centro di gestione.

vi ./managementcenter/management-center.yaml

Installare il Centro di gestione utilizzando la configurazione personalizzata.

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

Recuperare l'URL del Centro di gestione

L'URL per il Centro di gestione viene stampato dopo aver installato il Centro di gestione, ma può anche essere recuperato eseguendo questo comando:

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

Puoi condividere l'URL restituito con un amministratore della piattaforma, in modo che possa accedere al Centro di gestione.

Configura un nome di dominio per accedere al Centro di gestione

Per configurare il tuo nome di dominio in modo che acceda al Centro di gestione:

Aggiungi un A record alla configurazione del tuo dominio DNS e impostalo sull'indirizzo IP restituito dal seguente comando:

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

Passaggi successivi