Installazione di Anthos Management Center

Questa pagina è rivolta agli operatori di infrastruttura.

In questa pagina viene descritto come installare Anthos Management Center e come recuperarne l'URL.

Installazione del Centro di gestione

In questa sezione, installerai un cluster di amministrazione su macchine bare metal e installerai il Centro di gestione sul cluster di amministrazione.

Prepara la configurazione del cluster di amministrazione

Aggiorna il file ./actl-workspace/admin/admin.yaml con impostazioni che corrispondono al tuo ambiente.

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

Compila i seguenti campi:

  • Il 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 tutto il mirror del registro in cui sono archiviate le immagini Docker.

    • registryMirrors.endpoint è l'endpoint del mirror. 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 è necessario specificare il valore /v2/ tra REGISTRY_HOST e IMAGE_PREFIX.

    • registryMirrors.pullCredentialConfigPath è il percorso delle credenziali. Solitamente è simile a /home/USER/.docker/config.json.

    • registryMirrors.caCertPath è la posizione dell'autorità di certificazione che il registry utilizzerà per criptare il traffico. Questo certificato viene distribuito ai nodi durante il processo di installazione per consentire loro di estrarre immagini dal registro. In genere il percorso è /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, come minimo, devi impostare controlPlaneVIP per identificare un pool di indirizzi IP virtuale (VIP) per esporre il server API Kubernetes e addressPools per assegnare 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 loginUser. Questo accesso deve avere accesso alla chiave SSH specificata di seguito ed è l'utente per cui è stata distribuita la 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 ospiteranno la console del Centro di gestione, Prometheus, Grafana e altri servizi sul 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. Ci vogliono circa 30 minuti. Vedi Problemi noti in caso di problemi nella creazione del cluster di amministrazione.

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

Dopo aver creato il cluster di amministrazione, verifica di disporre dei diritti di accesso.

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

kubectl get nodes --kubeconfig=${ADMIN_KUBECONFIG}

Facoltativo: registrare 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 risorse al termine dell'installazione del Centro di gestione.

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

vi ./managementcenter/management-center.yaml

Nell'editor di file, aggiungi le seguenti sezioni:

Registrare macchine dell'inventario

Registra macchine dell'inventario nel cluster di amministrazione per consentire all'amministratore della piattaforma di utilizzare in seguito 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: indirizzo IP della macchina, ad esempio 10.200.0.10.
  • KEY:VALUE: una coppia chiave-valore, ad esempio "rack": "r1020" per indicare una posizione del 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 configurazione del rack o configurazioni hardware speciali.

Registra pool di indirizzi IP virtuali (VIP)

Registra un AddressPool nel cluster di amministrazione da utilizzare 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 visualizzare nella console del Centro di gestione.
  • VIP_ADDRESS_POOL: intervallo del pool di indirizzi VIP, ad esempio 10.200.0.100-10.200.0.200.

Registrazione del servizio di bootstrap

Il servizio di bootstrap è un meccanismo utilizzato per preinstallare risorse aggiuntive come servizi di archiviazione e driver GPU nei cluster utente dopo che sono stati creati per renderli immediatamente disponibili per l'uso.

  1. Crea la 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 a 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: nome del servizio di bootstrap.
    • CONFIGMAP_NAME: il nome della mappa di configurazione che hai creato nel passaggio precedente.

Installazione del Centro di gestione

Installa il Centro di gestione nel cluster di amministrazione.

Configurazione predefinita

Queste istruzioni installano Management Center con una configurazione predefinita minima.

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

Configurazione personalizzata

Queste istruzioni installano Management Center utilizzando una configurazione personalizzata. In questo modo potrai personalizzare le impostazioni prima di installare Management Center. Per farlo, 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 l'installazione del Centro di gestione, ma può essere recuperato anche eseguendo il comando seguente:

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

Puoi condividere l'URL restituito con un amministratore della piattaforma affinché possa accedere al Centro di gestione.

Configurare un nome di dominio per accedere al Centro di gestione

Per configurare il tuo nome di dominio per accedere al Centro di gestione:

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

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

Passaggi successivi