Registrazione macchine inventario
Affinché l'amministratore di piattaforma crei un cluster utente, Anthos richiede un pool di macchine inattive. In questa sezione registrerai le macchine dell'inventario nel cluster di amministrazione Anthos in modo che l'amministratore della piattaforma le utilizzi in un secondo momento per creare un cluster utente. Queste macchine devono soddisfare gli stessi requisiti dei nodi del cluster di amministrazione.
kubectl apply -f <path/to/example-machine.yaml> --kubeconfig=${ADMIN_KUBECONFIG}
Esempio:
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>
Le labels
sono coppie chiave-valore in formato libero collegate alla risorsa.
e potranno essere utilizzate successivamente nel Centro di gestione per filtrare le macchine. Ad esempio, puoi utilizzare le etichette per identificare la posizione del rack, le configurazioni hardware speciali e così via.
[Facoltativo] Utilizzo di chiavi SSH diverse per le macchine dell'inventario
Per impostazione predefinita, la modalità privata di Anthos utilizza il ssh-key
fornito da
sshPrivateKeyPath
(utilizzato per accedere alle macchine per il cluster di amministrazione) per accedere a queste
macchine dell'inventario. Per consentire un migliore isolamento tra le macchine a cluster di amministrazione e le macchine dell'inventario (utilizzate per i cluster utente), puoi utilizzare una chiave SSH diversa per le macchine dell'inventario. Dovresti crearli prima dei cluster utente per cui ti servono.
Distribuisci la chiave pubblica SSH a tutte le macchine dell'inventario.
Archivia la chiave privata SSH come secret nel cluster di amministrazione, ad esempio
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
Quando crei i cluster utente, specifica il secret creato nel passaggio 1 (ovvero
user-cluster-ssh-key
) nello spazio dei nomianthos-creds
.Questa operazione è supportata solo durante la creazione dei cluster tramite API. Aggiungi la chiave SSH nella definizione del cluster all'interno del file yaml del cluster utente come
sshKeySecret
e specificaimagePullSecret
, ad esempio: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> ....
Registra pool di indirizzi VIP
Affinché l'amministratore della piattaforma crei un cluster utente diverso da InventoryMachines
, Anthos richiede un pool di tutti gli IP virtuali disponibili. Viene utilizzato dall'interfaccia utente del Centro di gestione per indicare all'amministratore della piattaforma quali IP virtuali sono disponibili e per convalidare la disponibilità di VIP durante la creazione del cluster utente.
In questa sezione registrerai un pool di indirizzi al cluster di amministrazione Anthos da utilizzare in seguito per creare i cluster utente. Devi creare un solo pool di indirizzi
utilizzando il nome anthos-addresspool-default
. A ogni cluster utente verrà imposto l'utilizzo
dei VIP da questo pool di indirizzi e non sarà possibile riutilizzare lo stesso intervallo di
VIP. Gli IP virtuali devono soddisfare gli stessi requisiti dei VIP utilizzati per il cluster di amministrazione e non devono sovrapporsi agli IP dei nodi. Il campo della descrizione
consente di aggiungere ulteriori istruzioni nell'interfaccia utente.
kubectl apply -f <path/to/example-addresspool.yaml> --kubeconfig=${ADMIN_KUBECONFIG}
Esempio:
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>
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. Devi creare servizi di bootstrap prima dei cluster utente in cui intendi utilizzarli.
Utilizzo
kubectl create configmap <configmap-name> --kubeconfig=${ADMIN_KUBECONFIG} \ --from-file=<path/to/manifests> --namespace=anthos-management-center
per creare la configmap che contiene tutti i manifest necessari per eseguire il bootstrap del servizio
Crea l'oggetto Bootstrap Service che fa riferimento alla configurazione
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
Ripeti i passaggi precedenti se sono necessari altri servizi di bootstrap.