Questo documento mostra come creare cluster di base per una piccola installazione di proof of concept di Cluster Anthos su VMware (GKE On-Prem).
Ecco i passaggi principali:
Creare una workstation di amministrazione.
Dalla tua workstation di amministrazione, crea un cluster di amministrazione.
Dalla tua workstation di amministrazione, crea un cluster utente.
Prima di iniziare
Configura gli ambienti vSphere e Google Cloud come descritto in Configurare l'infrastruttura minima.
Raccogliere informazioni
Per prepararti alla compilazione di un file di configurazione della workstation di amministrazione, raccogli le seguenti informazioni:
Nome utente e password del tuo account vCenter
Il tuo indirizzo del server vCenter
Il certificato CA radice per il server vCenter
Il nome del tuo data center vSphere
Il nome del tuo cluster vSphere
Il nome del tuo datastore vSphere
Il nome della tua rete vSphere
Gli indirizzi IP descritti in Pianificare gli indirizzi IP
L'ID del tuo progetto Google Cloud
Il percorso del file di chiave JSON per l'account di servizio con accesso ai componenti.
Accedi
Lo strumento a riga di comando gkeadm
utilizza la proprietà account
dell'SDK per creare account di servizio. Pertanto, è importante impostare la proprietà account
dell'SDK prima di eseguire gkeadm
per creare una workstation di amministrazione.
Accedi con qualsiasi Account Google. Questa azione imposta la proprietà account
dell'SDK:
gcloud auth login
Verifica che la proprietà dell'SDK account
sia impostata correttamente:
gcloud config list
L'output mostra il valore della tua proprietà account
dell'SDK.
Ecco alcuni esempi:
[core] account = my-name@google.com disable_usage_reporting = False Your active configuration is: [default]
Concedi i ruoli al tuo account SDK
L'Account Google impostato come proprietà dell'SDK account
deve avere questi
ruoli IAM affinché gkeadm
possa creare e
gestire gli account di servizio per te:
resourcemanager.projectIamAdmin
serviceusage.serviceUsageAdmin
iam.serviceAccountCreator
iam.serviceAccountKeyAdmin
Per concedere i ruoli, devi disporre di determinate autorizzazioni sul progetto Google Cloud. Per maggiori dettagli, consulta Concedere, modificare e revocare l'accesso alle risorse.
Se disponi delle autorizzazioni necessarie, puoi concedere i ruoli personalmente. In caso contrario, un altro membro dell'organizzazione deve concederti i ruoli.
Per concedere i ruoli:
Linux e macOS
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/resourcemanager.projectIamAdmin" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/serviceusage.serviceUsageAdmin" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/iam.serviceAccountCreator" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/iam.serviceAccountKeyAdmin"
Windows
gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/resourcemanager.projectIamAdmin" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/serviceusage.serviceUsageAdmin" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/iam.serviceAccountCreator" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/iam.serviceAccountKeyAdmin"
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progetto Google CloudACCOUNT
: il valore della tua proprietàaccount
dell'SDK
Creare una workstation di amministrazione.
I passaggi in questa sezione utilizzano lo strumento a riga di comando gkeadm
, disponibile per Linux a 64 bit, Windows 10, Windows Server 2019 e macOS 10.15 e versioni successive.
Scarica gkeadm
nella directory attuale.
Genera modelli
./gkeadm create config
Il comando precedente ha creato questi file nella directory attuale:
credential.yaml
admin-ws-config.yaml
Inserisci credential.yaml
In credential.yaml
, inserisci il tuo nome utente e password vCenter. Ecco alcuni esempi:
kind: CredentialFile items: - name: vCenter username: "my-account-name" password: "AadmpqGPqq!a"
Acquisire familiarità con il file di configurazione della workstation di amministrazione
Analizza la documentazione per individuare il file di configurazione della workstation di amministrazione per avere un'idea generale dei contenuti del file. Ti consigliamo di mantenere la pagina aperta in una scheda o una finestra separata in modo da potervi consultare durante la compilazione dei valori dei campi.
Inserisci admin-ws-config.yaml
Apri admin-ws-config.yaml
per la modifica.
I seguenti campi vengono compilati automaticamente con valori predefiniti o generati:
vCenter: credentials: fileRef: credentials: entry: adminWorkstation: name: cpus: memoryMB: diskGB: dataDiskName: dataDiskMB: ntpServer:
Compila il campo gcp.componentAccessServiceAccountKeyPath.
Compila i seguenti campi nella sezione vCenter.
credentials: address: datacenter: datastore: cluster: network: caCertPath:
Imposta vCenter.resourcePool su CLUSTER_NAME/Resources. Sostituisci CLUSTER_NAME con il nome del tuo cluster vSphere.
Se necessario, compila il campo proxyURL.
Se necessario, compila il campo adminWorkstation.proxyURL.
Imposta
adminWorkstation.network.ipAllocationMode
su "static"
.
Completa i seguenti campi nella sezione adminWorkstation.network.hostConfig:
ip: gateway: netmask: dns:
Esempio di file di configurazione della workstation di amministrazione
Ecco un esempio di un file di configurazione della workstation di amministrazione compilato:
gcp: componentAccessServiceAccountKeyPath: "/usr/local/google/home/me/keys/component-access-key.json" vCenter: credentials: address: "vc01.example" fileRef: path: "credential.yaml" entry: "vCenter" datacenter: "vc01" datastore: "vc01-datastore-1" cluster: "vc01-workloads-1" network: "vc01-net-1" resourcePool: "vc01-workloads-1/Resources" caCertPath: "/usr/local/google/home/stevepe/certs/vc01-cert.pem" proxyUrl: "" adminWorkstation: name: gke-admin-ws-220304-014925 cpus: 4 memoryMB: 8192 diskGB: 50 dataDiskName: gke-on-prem-admin-workstation-data-disk/gke-admin-ws-220304-014925-data-disk.vmdk dataDiskMB: 512 network: ipAllocationMode: "static" hostConfig: ip: "172.16.20.49" gateway: "172.16.20.1" netmask: "255.255.255.0" dns: - "203.0.113.1" proxyUrl: "" ntpServer: ntp.ubuntu.com
Crea la tua workstation di amministrazione
Crea la tua workstation di amministrazione e crea automaticamente account di servizio:
./gkeadm create admin-workstation --auto-create-service-accounts
L'output fornisce informazioni dettagliate sulla creazione della workstation di amministrazione e fornisce un comando che puoi utilizzare per ottenere una connessione SSH alla tua workstation di amministrazione:
... Admin workstation is ready to use. Admin workstation information saved to /usr/local/google/home/me/my-admin-workstation This file is required for future upgrades SSH into the admin workstation with the following command: ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.20.49 ********************************************************************
Per informazioni più dettagliate sulla creazione di una workstation di amministrazione, consulta Creare una workstation di amministrazione.
Visualizzare i file sulla workstation di amministrazione
Utilizza il comando visualizzato nell'output precedente per ottenere una connessione SSH alla workstation di amministrazione. Ecco alcuni esempi:
ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.20.49
Elenca i file della home directory:
ls -1
L'output include i file di chiave JSON per due account di servizio che gkeadm
ha creato per te: un account di servizio connect-register e un account di servizio di monitoraggio dei log. Prendi nota del nome dei file della chiave JSON del tuo account di servizio Connect-register. Ti servirà in un secondo momento durante la creazione dei cluster. Ecco alcuni esempi:
admin-cluster.yaml admin-ws-config.yaml sa-key.json connect-register-sa-2203040617.json credential.yaml log-mon-sa-2203040617.json logs vc01-cert.pem user-cluster.yaml
Crea un cluster di amministrazione
Ottenere una connessione SSH alla tua workstation di amministrazione.
Specifica gli indirizzi IP statici per il cluster di amministrazione
Per specificare gli indirizzi IP statici da utilizzare per i nodi del tuo cluster di amministrazione, crea un file di blocco IP denominato admin-cluster-ipblock.yaml
.
Sono necessari cinque indirizzi IP per i seguenti nodi nel cluster di amministrazione:
Tre nodi per eseguire il piano di controllo e i componenti aggiuntivi del cluster di amministrazione
Un nodo aggiuntivo da utilizzare temporaneamente durante gli upgrade
Un nodo per eseguire il piano di controllo per il cluster utente che creerai in un secondo momento
Di seguito è riportato un esempio di file di blocco IP con indirizzi per cinque nodi:
blocks: - netmask: 255.255.255.0 gateway: 172.16.20.1 ips: - ip: 172.16.20.50 hostname: admin-vm-1 - ip: 172.16.20.51 hostname: admin-vm-2 - ip: 172.16.20.52 hostname: admin-vm-3 - ip: 172.16.20.53 hostname: admin-vm-4 - ip: 172.16.20.54 hostname: admin-vm-5
Il campo ips
è un array di indirizzi IP e nomi host. Questi sono gli indirizzi IP e i nomi host che i cluster Anthos su VMware assegneranno ai nodi del cluster di amministrazione.
Nel file del blocco IP, specifichi anche una subnet mask e un gateway predefinito per i nodi del cluster di amministrazione.
Acquisire familiarità con il file di configurazione del cluster di amministrazione
Analizza la documentazione per individuare il file di configurazione del cluster di amministrazione per avere un'idea generale dei contenuti del file. Ti consigliamo di mantenere la pagina aperta in una scheda o una finestra separata in modo da potervi consultare durante la compilazione dei valori dei campi.
Compila il file di configurazione del cluster di amministrazione
Quando gkeadm
ha creato la workstation di amministrazione, ha generato un file di configurazione denominato admin-cluster.yaml
. Questo file di configurazione è per la creazione del cluster di amministrazione.
Apri admin-cluster.yaml
per la modifica.
Diversi campi nel file di configurazione del cluster di amministrazione sono già compilati con valori predefiniti, valori generati o valori che hai fornito durante la creazione della workstation di amministrazione. Puoi lasciare invariati questi campi.
Compila il campo vCenter.dataDisk.
Compila i seguenti campi nella sezione network.hostConfig:
dnsServers: ntpServers:
Imposta
network.ipMode.type
su "static"
.
Imposta
network.ipMode.ipBlockFilePath
su "admin-cluster-ipblock.yaml"
Inserisci o mantieni i valori predefiniti per network.serviceCIDR e network.podCIDR.
Compila i seguenti campi nella sezione loadBalancer.vips:
controlPlaneVIP: addonsVIP:
Imposta
loadBalancer.kind
su "MetalLB"
.
Imposta antiAffinityGroups.enabled su false
.
Imposta gkeConnect.projectID sull'ID del tuo progetto Google Cloud.
Imposta gkeConnect.registerServiceAccountKeyPath sul percorso del file della chiave JSON per il tuo account di servizio connect-register.
Esempio di file di configurazione del cluster di amministrazione
Ecco un esempio di un file di configurazione del cluster di amministrazione compilato:
apiVersion: v1 kind: AdminCluster name: "gke-admin-01" bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.11.0-gke.543-full.tgz" vCenter: address: "vc01.example" datacenter: "vc-01" cluster: "vc01-workloads-1" resourcePool: "my-cluster/Resources" datastore: "vc01-datastore-1" caCertPath: "/usr/local/google/home/me/certs/vc01-cert.pem"" credentials: fileRef: path: "credential.yaml" entry: "vCenter" dataDisk: "vc01-admin-disk.vmdk" network: hostConfig: dnsServers: - "203.0.113.1" - "198.51.100.1" ntpServers: - "216.239.35.4" ipMode: type: "static" serviceCIDR: "10.96.232.0/24" podCIDR: "192.168.0.0/16" vCenter: networkName: "vc01-net-1" loadBalancer: vips: controlPlaneVIP: "172.16.20.59" addonsVIP: "172.16.20.60" kind: "MetalLB" antiAffinityGroups: enabled: false componentAccessServiceAccountKeyPath: "sa-key.json" gkeConnect: projectID: "my-project-123" registerServiceAccountKeyPath: "connect-register-sa-2203040617.json" stackdriver: projectID: "my-project-123" clusterLocation: "us-central1" enableVPC: false serviceAccountKeyPath: "log-mon-sa-2203040617.json" disableVsphereResourceMetrics: false
Convalida il file di configurazione del cluster di amministrazione
Verifica che il file di configurazione del cluster di amministrazione sia valido e possa essere utilizzato per la creazione del cluster:
gkectl check-config --config admin-cluster.yaml
Prepara l'ambiente vSphere
Esegui gkectl prepare
per inizializzare l'ambiente vSphere:
gkectl prepare --config admin-cluster.yaml --skip-validation-all
Crea il cluster di amministrazione
Crea il cluster di amministrazione:
gkectl create admin --config admin-cluster.yaml
Riprendi la creazione del cluster di amministrazione dopo un errore
Se la creazione del cluster di amministrazione non va a buon fine o viene annullata, puoi eseguire di nuovo il comando create
:
gkectl create admin --config admin-cluster.yaml
Individua il file kubeconfig del cluster di amministrazione
Il comando gkectl create admin
crea un file kubeconfig denominato
kubeconfig
nella directory corrente. Avrai bisogno di questo file kubeconfig in un secondo momento per interagire con il cluster di amministrazione.
Verifica che il cluster di amministrazione sia in esecuzione
Verifica che il cluster di amministrazione sia in esecuzione:
kubectl get nodes --kubeconfig kubeconfig
L'output mostra i nodi del cluster di amministrazione. Ecco alcuni esempi:
gke-admin-master-hdn4z Ready control-plane,master ... gke-admin-node-7f46cc8c47-g7w2c Ready ... gke-admin-node-7f46cc8c47-kwlrs Ready ...
Creazione di un cluster utente
Puoi creare un cluster utente nella console Google Cloud o dalla riga di comando sulla workstation di amministrazione.
Console
Questa sezione mostra come creare un cluster utente configurato per l'infrastruttura minima con MetalLB come bilanciatore del carico.
Quando crei un cluster utente, la console Google Cloud abilita automaticamente l'API GKE On-Prem nel progetto Google Cloud che selezioni per la creazione del cluster. L'API GKE On-Prem viene eseguita nell'infrastruttura di Google Cloud e la console Google Cloud utilizza questa API per creare il cluster nel tuo data center vSphere. Per gestire i tuoi cluster, l'API GKE-On-Prem deve archiviare i metadati sullo stato del tuo cluster nella regione Google Cloud specificata durante la creazione del cluster. Questi metadati consentono all'API GKE On-Prem di gestire il ciclo di vita del cluster utente e non include dati specifici del carico di lavoro.
Nella console Google Cloud, vai alla pagina Cluster Anthos.
Seleziona il progetto Google Cloud in cui vuoi creare il cluster. Il progetto selezionato viene utilizzato anche come progetto host del parco risorse. Deve essere lo stesso progetto in cui è registrato il cluster di amministrazione. Una volta creato, il cluster utente viene registrato automaticamente nel parco risorse del progetto selezionato.
Fai clic su Crea cluster.
Nella finestra di dialogo, fai clic su On-premise.
Accanto a VMware vSphere, fai clic su Configura.
Rivedi i prerequisiti e fai clic su Continua.
Nozioni di base sui cluster
- Inserisci un nome per il cluster utente.
In Cluster di amministrazione, seleziona il cluster di amministrazione dall'elenco. Se il cluster di amministrazione che vuoi utilizzare non viene visualizzato, consulta la sezione relativa alla risoluzione dei problemi Il cluster di amministrazione non viene visualizzato nell'elenco a discesa Nozioni di base sul cluster.
Nel campo GCP API Location, seleziona l'area geografica di Google Cloud dall'elenco. Oltre a controllare la regione in cui viene eseguita l'API GKE On-Prem, questa impostazione controlla la regione in cui è archiviato il seguente comando:
- I metadati del cluster utente di cui l'API GKE On-Prem ha bisogno per gestire il ciclo di vita del cluster
- I dati di Cloud Logging e Cloud Monitoring dei componenti di sistema
- Il log di controllo della Console di amministrazione creato da Cloud Audit Logs
Seleziona la versione di Cluster Anthos su VMware per il tuo cluster utente.
Fai clic su Continua per andare alla sezione Networking.
Networking
In questa sezione specifichi gli indirizzi IP dei nodi, dei pod e dei servizi del tuo cluster. Un cluster utente deve avere un indirizzo IP per ciascun nodo e un indirizzo IP aggiuntivo da utilizzare per un nodo temporaneo durante l'upgrade del cluster utente. Per maggiori informazioni, consulta la pagina Quanti indirizzi IP sono necessari per un cluster utente?.
Nella sezione IP nodo, seleziona la modalità IP del cluster utente. Seleziona una delle seguenti opzioni:
DHCP: scegli DHCP se vuoi che i nodi del cluster ricevano l'indirizzo IP da un server DHCP.
Statico: scegli Statico se vuoi fornire indirizzi IP statici per i nodi del cluster.
Se hai selezionato DHCP, vai al passaggio successivo per specificare CIDR dei servizi e dei pod. Per la modalità IP statica, fornisci le seguenti informazioni:
- Inserisci l'indirizzo IP del gateway per il cluster utente.
Inserisci la subnet mask per i nodi del cluster utente.
Nella sezione Indirizzi IP, inserisci gli indirizzi IP e, facoltativamente, i nomi host per i nodi nel cluster utente. Puoi inserire un singolo indirizzo IP v4 (ad esempio 192.0.2.1) o un blocco CIDR di indirizzi IPv4 (ad esempio 192.0.2.0/24).
- Se inserisci un blocco CIDR, non inserire un nome host.
- Se inserisci un singolo indirizzo IP, puoi facoltativamente inserire un nome host. Se non inserisci un nome host, Cluster Anthos su VMware utilizza il nome della VM da vSphere come nome host.
Fai clic su + Aggiungi indirizzo IP come necessario per inserire altri indirizzi IP.
Nella sezione CIDR dei servizi e dei pod, la console Google Cloud fornisce i seguenti intervalli di indirizzi per il servizio e il pod Kubernetes:
- CIDR del servizio: 10.96.0.0/20
- CIDR pod: 192.168.0.0/16
Se preferisci inserire i tuoi intervalli di indirizzi, consulta le best practice per gli indirizzi IP per pod e servizi.
Se hai selezionato Modalità IP statica, specifica le seguenti informazioni nella sezione Configurazione host:
- Inserisci gli indirizzi IP dei server DNS.
- Inserisci gli indirizzi IP dei server NTP.
- (Facoltativo) Inserisci i domini di ricerca DNS.
Fai clic su Continua per andare alla sezione Bilanciatore del carico.
Bilanciatore del carico
Configurare MetalLB come bilanciatore del carico.
In Tipo di bilanciatore del carico, lascia selezionato MetalLB.
Nella sezione IP virtuali, inserisci quanto segue:
VIP del piano di controllo: l'indirizzo IP di destinazione da utilizzare per il traffico inviato al server server API Kubernetes del cluster utente. Questo indirizzo IP deve trovarsi nello stesso dominio L2 dei nodi del cluster di amministrazione. Non aggiungere questo indirizzo nella sezione Pool di indirizzi.
In entrata VIP: l'indirizzo IP da configurare nel bilanciatore del carico per il proxy in entrata. Devi aggiungerlo a un pool di indirizzi nella sezione Pool di indirizzi.
Nella sezione Pool di indirizzi, specifica un pool di indirizzi per il VIP in entrata.
- Fai clic su + Aggiungi intervallo di indirizzi IP.
- Inserisci un nome per il pool di indirizzi.
- Inserisci un intervallo di indirizzi IP in notazione CIDR (ad es. 192.0.2.0/26) o notazione di intervallo (ad es. 192.0.2.64-192.0.2.72). Gli indirizzi IP in ogni pool non possono sovrapporsi e devono trovarsi nella stessa subnet dei nodi del cluster.
In Assegnazione di indirizzi IP, seleziona una delle seguenti opzioni:
- Automatica: scegli questa opzione se vuoi che il controller MetalLB assegni automaticamente gli indirizzi IP dal pool di indirizzi ai servizi di tipo
LoadBalancer
. - Manuale: scegli questa opzione se intendi utilizzare gli indirizzi del pool per specificare manualmente gli indirizzi per i servizi di tipo
LoadBalancer
- Automatica: scegli questa opzione se vuoi che il controller MetalLB assegni automaticamente gli indirizzi IP dal pool di indirizzi ai servizi di tipo
Fai clic su Evita errori relativi a indirizzi IP se vuoi che il controller MetalLB non utilizzi indirizzi del pool che terminano con .0 o .255. Questo evita il problema di dispositivi consumer buggy che fanno cadere erroneamente il traffico inviato a quegli indirizzi IP speciali.
Ripeti queste operazioni in base alle necessità. Al termine, fai clic su Fine.
Fai clic su Continua.
Piano di controllo
Esamina i valori predefiniti configurati per i nodi nel cluster di amministrazione che eseguono i componenti del piano di controllo per il tuo cluster utente. I valori predefiniti sono sufficienti per l'infrastruttura minima, ma puoi modificarli in base alle esigenze.
Fai clic su Continua.
Funzionalità
Deseleziona Attiva gruppi anti-affinità. Quando configuri l'infrastruttura minima, devi creare un solo host ESXi, quindi non attivare i gruppi anti-affinità.
Fai clic su Continua.
Pool di nodi
Il cluster verrà creato con almeno un pool di nodi. Un pool di nodi è un modello per i gruppi di nodi creati in questo cluster. Per saperne di più, consulta Creazione e gestione dei pool di nodi .
Rivedi i valori predefiniti configurati per il pool di nodi. I valori predefiniti sono sufficienti per l'infrastruttura minima, ma puoi modificarli in base alle esigenze.
Verifica e completa
Fai clic su Verifica e completa per creare il cluster utente. La creazione del cluster utente richiede almeno 10 minuti. La console Google Cloud mostra i messaggi di stato mentre verifica le impostazioni e crea il cluster nel tuo data center.
L'operatore che crea il cluster utente nella console Google Cloud accede automaticamente al cluster dopo la creazione. Altri operatori devono seguire la procedura descritta in Accesso a un cluster da Cloud Console per ottenere l'accesso al cluster.
Se si verifica un errore durante la verifica delle impostazioni, la console Google Cloud mostra un messaggio di errore che dovrebbe essere abbastanza chiaro da consentirti di risolvere il problema di configurazione e riprova a creare il cluster.
Per saperne di più sui possibili errori e su come correggerli, consulta Risoluzione dei problemi relativi alla creazione di cluster utente nella console Google Cloud.
Crea il file kubeconfig del cluster utente
Per accedere al cluster utente nel data center dalla riga di comando, devi recuperare un file kubeconfig
dal cluster di amministrazione. Dopo che la console Google Cloud indica che lo stato del cluster utente è in stato integro, esegui questo comando sulla workstation di amministrazione per salvare un nuovo file kubeconfig
per il cluster utente in locale. Sostituisci quanto segue:
- CLUSTER_NAME: il nome del cluster utente appena creato
- ADMIN_CLUSTER_KUBECONFIG: il percorso del file del cluster di amministrazione
kubeconfig
- USER_CLUSTER_KUBECONFIG: il nome del file cluster utente
kubeconfig
restituito dal comando
kubectl get secret admin \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ -n CLUSTER_NAME \ -o=jsonpath='{.data.admin\.conf}' | base64 -d > USER_CLUSTER_KUBECONFIG
Dopo aver salvato il file, puoi iniziare ad accedere al cluster utente utilizzando kubectl
, come nell'esempio seguente:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get namespaces
Riga di comando
Ottenere una connessione SSH alla tua workstation di amministrazione.
Specifica IP statici per il cluster utente.
Per specificare gli indirizzi IP statici da utilizzare per il tuo cluster utente, crea un file di blocco IP denominato
user-cluster-ipblock.yaml
. Sono necessari tre indirizzi IP per i nodi del cluster utente e un indirizzo aggiuntivo da utilizzare temporaneamente durante gli upgrade. Ecco un esempio di file di blocco IP con quattro indirizzi:blocks: - netmask: 255.255.255.0 gateway: 172.16.20.1 ips: - ip: 172.16.20.55 hostname: user-vm-1 - ip: 172.16.20.56 hostname: user-vm-2 - ip: 172.16.20.57 hostname: user-vm-3 - ip: 172.16.20.58 hostname: user-vm-4
Inserisci il file di configurazione del cluster utente
Quando gkeadm
ha creato la workstation di amministrazione, ha generato un file di configurazione denominato user-cluster.yaml
. Questo file di configurazione è per la creazione del tuo cluster utente.
Acquisisci familiarità con il file di configurazione del cluster utente.
Analizza la documentazione per individuare il file di configurazione del cluster utente per avere un'idea generale dei contenuti del file. Ti consigliamo di mantenere la pagina aperta in una scheda o una finestra separata in modo da potervi consultare durante la compilazione dei valori dei campi.
Apri
user-cluster.yaml
per la modifica.Molti campi nel file di configurazione del cluster utente sono già compilati con valori predefiniti, valori generati o valori forniti al momento della creazione della workstation di amministrazione. Puoi lasciare invariati questi campi.
Imposta nome su un nome a tua scelta per il cluster utente.
Compilare i campi nella sezione della rete
Inserisci gli indirizzi IP per i seguenti campi nella sezione network.hostConfig:
dnsServers: ntpServers:
Imposta network.ipMode.type su
"static"
.Imposta network.ipMode.ipBlockFilePath su
"user-cluster-ipblock.yaml"
Inserisci o mantieni i valori predefiniti per network.serviceCIDR e network.podCIDR.
Compila i campi nella sezione del bilanciatore del carico
Compila i seguenti campi nella sezione loadBalancer.vips:
controlPlaneVIP: ingressVIP:
Imposta loadBalancer.kind su
"MetalLB"
.Compila la sezione loadBalancer.metalLB. Per ulteriori informazioni, consulta la pagina Bilanciamento del carico in bundle con MetalLB.
Per almeno uno dei pool di nodi, imposta enableLoadBalancer su
true
. Per ulteriori informazioni, consulta la pagina Bilanciamento del carico in bundle con MetalLB.Imposta antiAffinityGroups.enabled su
false
.
Esempio di file di configurazione del cluster utente
Ecco un esempio di un file di configurazione del cluster utente compilato:
apiVersion: v1 kind: UserCluster name: "my-user-cluster" gkeOnPremVersion: "1.11.0-gke.543" network: hostConfig: dnsServers: - "203.0.113.1" - "198.51.100.1" ntpServers: - "216.239.35.4" ipMode: type: "static" serviceCIDR: "10.96.0.0/20" podCIDR: "192.168.0.0/16" loadBalancer: vips: controlPlaneVIP: "172.16.20.61" ingressVIP: "172.16.20.62" kind: "MetalLB" metalLB: addressPools: - name: "uc-address-pool" addresses: - "172.16.20.62-172.16.20.72" nodePools: - name: "uc-node-pool" cpus: 4 memoryMB: 8192 replicas: 3 enableLoadBalancer: true antiAffinityGroups: enabled: false gkeConnect: projectID: "my-project-123" registerServiceAccountKeyPath: "connect-register-sa-2203040617.json" stackdriver: projectID: "my-project-123" clusterLocation: "us-central1" enableVPC: false serviceAccountKeyPath: "log-mon-sa-2203040617.json" disableVsphereResourceMetrics: false autoRepair: enabled: true
Convalidare la configurazione e creare il cluster
Verifica che il file di configurazione del cluster utente sia valido e possa essere utilizzato per la creazione del cluster:
gkectl check-config --kubeconfig kubeconfig --config user-cluster.yaml
Crea il cluster utente:
gkectl create cluster --kubeconfig kubeconfig --config user-cluster.yaml
La creazione del cluster richiede circa 30 minuti.
Individua il file kubeconfig del cluster utente
Il comando gkectl create cluster
crea un file kubeconfig denominato
USER_CLUSTER_NAME-kubeconfig
nella directory corrente. Questo file kubeconfig ti servirà in un secondo momento per interagire con il cluster utente.
Verifica che il tuo cluster utente sia in esecuzione
Verifica che il cluster utente sia in esecuzione:
kubectl get nodes --kubeconfig USER_CLUSTER_KUBECONFIG
Sostituisci USER_CLUSTER_KUBECONFIG con il percorso del file kubeconfig.
L'output mostra i nodi del cluster utente. Ecco alcuni esempi:
my-user-cluster-node-pool-69-d46d77885-7b7tx Ready ... my-user-cluster-node-pool-69-d46d77885-lsvzk Ready ... my-user-cluster-node-pool-69-d46d77885-sswjk Ready ...
Passaggi successivi
Eseguire il deployment di un'applicazione