Inventarmaschinen registrieren
Damit Platform Admin einen Nutzercluster erstellen kann, benötigt Anthos einen Pool inaktiver Maschinen. In diesem Abschnitt registrieren Sie Inventarmaschinen im Anthos-Administratorcluster, damit der Plattformadministrator diese später zum Erstellen eines Nutzerclusters verwenden kann. Diese Maschinen müssen die gleichen Anforderungen erfüllen wie die Knoten des Administratorclusters.
kubectl apply -f <path/to/example-machine.yaml> --kubeconfig=${ADMIN_KUBECONFIG}
Beispiel:
apiVersion: baremetal.cluster.gke.io/v1alpha1
kind: InventoryMachine
metadata:
name: <ip address of the machine. e.g., 10.200.0.10>
labels:
"mykey": "myvalue"
"rack": "r1020"
spec:
address: <ip address of the machine. e.g., 10.200.0.10>
Die labels
sind Schlüssel/Wert-Paare im freien Format, die an die Ressource angehängt sind.
Sie können später im Management Center verwendet werden, um Maschinen zu filtern. Beispielsweise können Sie die Labels verwenden, um den Rack-Speicherort, spezielle Hardwarekonfigurationen usw. zu identifizieren.
[Optional] Verschiedene SSH-Schlüssel für Inventarmaschinen verwenden
Der private Anthos-Modus verwendet standardmäßig die ssh-key
von sshPrivateKeyPath
(für den Zugriff auf Maschinen von Administratorcluster genutzt), um auf diese Inventarmaschinen zuzugreifen. Für eine bessere Isolation zwischen Administratorcluster- und Inventarmaschinen (für Nutzercluster), können Sie für Inventarmaschinen einen anderen SSH-Schlüssel verwenden. Sie sollten sie vor den Nutzerclustern erstellen, für die Sie sie benötigen.
Verteilen Sie den öffentlichen SSH-Schlüssel auf alle Inventarmaschinen.
Privaten SSH-Schlüssel als Secret im Administratorcluster speichern, z. B.
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
Geben Sie beim Erstellen von Nutzerclustern das in Schritt 1 erstellte Secret unter dem Namespace
anthos-creds
an (z.B.user-cluster-ssh-key
).Dies wird nur unterstützt, wenn Cluster über die API erstellt werden. Fügen Sie den SSH-Schlüssel in der Clusterdefinition der YAML-Datei des Nutzerclusters als
sshKeySecret
hinzu und geben SieimagePullSecret
an. Beispiel: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 user name> ....
VIP-Adresspool registrieren
Damit der Plattformadministrator einen Nutzercluster (außer InventoryMachines
) erstellen kann, benötigt Anthos einen Pool aller verfügbaren virtuellen IP-Adressen. Sie wird von der Benutzeroberfläche des Management Centers verwendet, um dem Plattformadministrator über die verfügbaren virtuellen IP-Adressen zu informieren und die VIP-Verfügbarkeit während der Erstellung des Nutzerclusters zu überprüfen.
In diesem Abschnitt registrieren Sie einen AddressPool im Anthos-Administratorcluster, um diesen später zum Erstellen von Nutzerclustern zu verwenden. Sie müssen einen und nur einen Adresspool mit dem Namen anthos-addresspool-default
erstellen. Jeder Nutzercluster wird für die Verwendung von VIPs aus diesem Adresspool gezwungen und kann nicht denselben Bereich von VIPs verwenden. Virtuelle IP-Adressen müssen die gleichen Anforderungen erfüllen wie die für den Administratorcluster verwendeten VIPs und dürfen sich nicht mit den IP-Adressen der Knoten überschneiden. Im Beschreibungsfeld der UI können Sie eine zusätzliche Anleitung einfügen.
kubectl apply -f <path/to/example-addresspool.yaml> --kubeconfig=${ADMIN_KUBECONFIG}
Beispiel:
apiVersion: managementcenter.anthos.cloud.google.com/v1alpha1
kind: AddressPool
metadata:
name: anthos-addresspool-default
spec:
description: <description text>
addresses:
- <vip address pool. e.g, 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. Sie sollten Bootstrap-Dienste vor den Nutzerclustern erstellen, in denen Sie sie verwenden werden.
Nutzung
kubectl create configmap <configmap-name> --kubeconfig=${ADMIN_KUBECONFIG} \ --from-file=<path/to/manifests> --namespace=anthos-management-center
um die configmap zu erstellen, die alle Manifeste enthält, die zum Bootstrapping des Dienstes erforderlich sind
Erstellen Sie das Bootsip Service-Objekt, das auf die configmap verweist
apiVersion: managementcenter.anthos.cloud.google.com/v1alpha1 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
Wiederholen Sie die obigen Schritte, wenn mehr Bootstrap-Dienste erforderlich sind.