Anthos Management Center installieren

Diese Seite richtet sich an Infrastrukturbetreiber.

Auf dieser Seite wird beschrieben, wie Sie Anthos Management Center installieren und seine URL abrufen.

Management Center installieren

In diesem Abschnitt installieren Sie einen Administratorcluster auf Bare-Metal-Maschinen und dann das Management Center auf dem Administratorcluster.

Konfiguration des Administratorclusters vorbereiten

Aktualisieren Sie die Datei ./actl-workspace/admin/admin.yaml mit Einstellungen, die Ihrer Umgebung entsprechen.

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

Füllen Sie die folgenden Felder aus:

  • Der sshPrivateKeyPath ist der Schlüssel, der während der Installation für den Zugriff auf die anderen Knoten verwendet wird, die Teil des Clusters sind. Dies ist die private Hälfte des öffentlichen Schlüssels, den Sie an die Knoten in den Voraussetzungen verteilt haben.

  • registryMirrors gibt den Speicherort aller Registry-Spiegel an, in denen die Docker-Images gespeichert sind.

    • registryMirrors.endpoint ist der Endpunkt des Spiegels. Das Format des Endpunkts lautet URL_SCHEME://REGISTRY_HOST/v2/IMAGE_PREFIX . Wenn Sie beispielsweise die Registry auf der Workstation erstellt haben, legen Sie den Endpunkt auf https://REGISTRY_HOST/v2/library fest. Beachten Sie, dass /v2/ zwischen REGISTRY_HOST und IMAGE_PREFIX erforderlich ist.

    • registryMirrors.pullCredentialConfigPath ist der Pfad für die Anmeldedaten. Normalerweise wird dieser in der Form /home/USER/.docker/config.json angegeben.

    • Der registryMirrors.caCertPath ist der Speicherort der Zertifikatsautorität, den die Registry für die Verschlüsselung des Traffics verwendet. Dieses Zertifikat wird während des Installationsprozesses auf die Knoten verteilt, damit sie Images aus der Registry herunterladen können. Der Pfad ist normalerweise /etc/docker/certs.d/REGISTRY_HOST/ca.crt.

  • Die Spezifikation controlPlane definiert, welche Knoten zur Steuerungsebene gehören. Wenn Sie eine Hochverfügbarkeitsbereitstellung verwenden, geben Sie drei IP-Adressen an. Beispiel:

    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
    
  • Die loadBalancer-Spezifikation definiert, welcher Load-Balancer-Typ verwendet wird. Die Standardkonfiguration installiert einen Load-Balancer in dem ausgeführten Cluster. In diesem Fall müssen Sie mindestens controlPlaneVIP festlegen, um einen virtuellen IP-Adresspool (VIP) zu identifizieren, der den Kubernetes API-Server und addressPools verfügbar macht, um bei Bedarf anfordernden Diensten VIPs zuzuweisen. Beispiel:

    loadBalancer:
      mode: bundled
      # There are two load balancer VIPs: one for the control plane and one for the
      # L7 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
    
  • Im letzten Abschnitt der Clusterspezifikation ist loginUser angegeben. Diese Anmeldung muss Zugriff auf den unten angegebenen SSH-Schlüssel haben; sie ist der Nutzer, für den der Schlüssel in den Voraussetzungen verteilt wurde.

    nodeAccess:
      loginUser: LOGIN_USERNAME
    

    Ersetzen Sie LOGIN_USERNAME durch den Nutzernamen, mit dem Sie sich beim Nutzercluster angemeldet haben.

  • Die Spezifikation nodePool gibt die Knoten an, auf denen Management Center Console, Prometheus, Grafana und andere Dienste im Administratorcluster gehostet werden. Diese Knoten sind die Worker-Knoten des Administratorclusters. Beispiel:

    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
    

Erstellen Sie den Administratorcluster.

Führen Sie den folgenden Befehl aus, um den Administratorcluster zu erstellen. Dies dauert etwa 30 Minuten. Lesen Sie Bekannte Probleme, wenn Sie Probleme beim Erstellen des Administratorclusters haben.

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

Prüfen Sie nach dem Erstellen des Administratorclusters, ob Sie Zugriff darauf haben.

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

kubectl get nodes --kubeconfig=${ADMIN_KUBECONFIG}

Optional: Ressourcen registrieren

Sie können die Konfigurationsdatei ./managementcenter/management-center.yaml bearbeiten, um Ihre Ressourcen automatisch zu registrieren, damit sie nach Abschluss der Installation verfügbar sind. Alternativ können Sie diesen Abschnitt überspringen und Ihre Ressourcen manuell registrieren, nachdem Sie Management Center installiert haben.

Öffnen Sie die Datei ./managementcenter/management-center.yaml, um die Installation von Management Center anzupassen.

vi ./managementcenter/management-center.yaml

Fügen Sie im Dateieditor folgende Abschnitte hinzu:

Inventarmaschinen registrieren

Registrieren Sie Inventarmaschinen im Administratorcluster für den Plattformadministrator, um ihn später zum Erstellen eines Nutzerclusters zu verwenden.

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

Ersetzen Sie Folgendes:

  • IP_ADDRESS ist die IP-Adresse der Maschine, z. B. 10.200.0.10.
  • KEY:VALUE ist ein Schlüssel/Wert-Paar, z. B. "rack": "r1020", zur Angabe eines Racks.

Die labels sind Schlüssel/Wert-Paare im freien Format, die an die Ressource angehängt sind. Diese Labels können Sie später im Management Center verwenden, um Maschinen zu filtern. Beispiel: Anhand der Labels können Sie den Rack-Speicherort oder spezielle Hardwarekonfigurationen identifizieren.

VIP-Pool (virtuelle IP-Adresse) registrieren

Registrieren Sie einen AddressPool für den Administratorcluster, um später Nutzercluster zu erstellen.

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

Ersetzen Sie Folgendes:

  • DESCRIPTION: Geben Sie alle weiteren Schritte ein, die in der Management Center Console angezeigt werden sollen.
  • VIP_ADDRESS_POOL: Der VIP-Adressbereich, z. B. 10.200.0.100-10.200.0.200

Bootstrap-Dienst registrieren

Der Bootstrap-Dienst ist ein Mechanismus, mit dem Sie zusätzliche Ressourcen wie Speicherdienste und GPU-Treiber vor ihrer Erstellung in Nutzerclustern installieren können, um diese sofort zur Verwendung zur Verfügung zu stellen.

  1. Erstellen Sie die ConfigMap, die alle für die Installation des Service erforderlichen Manifeste enthält.

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

    Ersetzen Sie path/to/MANIFESTS durch den Pfad zu den Manifestdateien.

  2. Fügen Sie der Datei ./managementcenter/management-center.yaml folgenden Abschnitt hinzu, um das Bootstrap-Dienstobjekt zu erstellen, das auf die ConfigMap verweist:

    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
    

    Ersetzen Sie Folgendes:

    • BOOTSTRAP_SERVICE_NAME: Der Name des Bootstrap-Dienstes.
    • CONFIGMAP_NAME ist der Name der ConfigMap, die Sie im vorherigen Schritt erstellt haben.

Management Center installieren

Installieren Sie das Management Center im Administratorcluster.

Standardkonfiguration

Mit dieser Anleitung wird das Management Center mit einer Mindest-Standardkonfiguration installiert.

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

Benutzerdefinierte Konfiguration

Mit dieser Anleitung wird das Management Center mit einer benutzerdefinierten Konfiguration installiert. Damit können Sie die Einstellungen vor der Installation des Management Center anpassen. Aktualisieren Sie dazu die Datei ./managementcenter/management-center.yaml, um die Installation des Management Center nach Bedarf anzupassen.

vi ./managementcenter/management-center.yaml

Installieren Sie das Management Center mit der benutzerdefinierten Konfiguration.

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

URL zum Management Center abrufen

Die URL für das Management Center wird nach der Installation des Management Centers ausgegeben, kann aber auch mit folgendem Befehl abgerufen werden:

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

Sie können die zurückgegebene URL mit einem Plattformadministrator teilen, sodass dieser auf das Management Center zugreifen kann.

Einen Domainnamen für den Zugriff auf das Management Center konfigurieren

So konfigurieren Sie Ihren eigenen Domainnamen für den Zugriff auf Management Center:

Fügen Sie Ihrer DNS-Domainkonfiguration einen A record hinzu und legen Sie dafür die IP-Adresse fest, die mit folgendem Befehl zurückgegeben wird:

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