La console Google Cloud ti consente di creare un cluster di amministrazione per il software Distributed Cloud solo per VMware tramite un flusso di lavoro guidato. Durante il workflow, esegui gkectl register bootstrap sulla workstation di amministrazione per creare un cluster di bootstrap temporaneo che esegue il provisioning del cluster di amministrazione. In alternativa, puoi creare un cluster di amministrazione utilizzando gkectl o Terraform.
Prima di iniziare
Assicurati di aver configurato e di poter accedere alla tua workstation di amministrazione come descritto in Crea una workstation di amministrazione.
Assicurati che i file delle chiavi JSON per i service account si trovino sulla tua workstation di amministrazione.
Consulta il documento di pianificazione degli indirizzi IP. Assicurati di avere un numero sufficiente di indirizzi IP disponibili per i tre nodi del control plane e un VIP del control plane. Se prevedi di creare cluster utente kubeception, devi disporre di un numero sufficiente di indirizzi IP disponibili per i nodi del control plane di questi cluster utente.
Consulta la panoramica del bilanciamento del carico e rivedi la tua decisione sul tipo di bilanciatore del carico che vuoi utilizzare. Per i bilanciatori del carico manuali, devi configurare il bilanciatore del carico prima di creare il cluster di amministrazione.
Se utilizzi
gkectlper creare il cluster di amministrazione, decidi se vuoi utilizzare un registry pubblico o privato per i componenti di Google Distributed Cloud. Per informazioni sull'utilizzo di un registro Docker privato, consultaprivateRegistry. Né Terraform né la console Google Cloud supportano l'utilizzo di un registro Docker privato per i componenti di sistema.Decidi il tipo di sistema operativo che vuoi eseguire sui nodi del cluster di amministrazione.
Se la tua organizzazione richiede che il traffico in uscita passi attraverso un server proxy, assicurati di inserire nella lista consentita le API richieste e l'indirizzo di Artifact Registry.
Nella versione 1.29 e successive, i controlli preflight lato server sono abilitati per impostazione predefinita. I controlli preflight lato server richiedono regole firewall aggiuntive. In Regole firewall per i cluster di amministrazione, cerca "Controlli preflight" e assicurati che tutte le regole firewall richieste siano configurate. I controlli preflight lato server vengono eseguiti sul cluster di bootstrap anziché localmente sulla workstation di amministrazione.
Panoramica della procedura
Prima di creare il cluster di amministrazione, devi eseguire il comando gkectl register bootstrap sulla workstation di amministrazione. Questo comando esegue il deployment di un cluster Kubernetes in Docker (kind) sulla workstation di amministrazione. Questo cluster di bootstrap ospita i controller Kubernetes necessari per creare il cluster di amministrazione. Quando crei il cluster di amministrazione, i controller sul cluster di bootstrap eseguono il provisioning dei nodi, eseguono i controlli preflight e registrano il cluster di amministrazione nel parco risorse. Il cluster di bootstrap viene eliminato automaticamente dopo la creazione del cluster di amministrazione.
Di seguito sono riportati i passaggi generali per creare un cluster di amministrazione utilizzando la console:
Nella console, inserisci le informazioni richieste da
gkectl register bootstrap. La console visualizza il comandogkectl register bootstrapcon le informazioni che hai inserito. Il comando visualizzato include anche i flag per i percorsi che dovrai specificare prima di eseguire il comando.Sulla workstation di amministrazione, esegui
gkectl register bootstrapper creare il cluster di bootstrap. Al termine della creazione del cluster di bootstrap, l'output ti informa che devi completare la configurazione del cluster di amministrazione. Il processo continua a essere eseguito fino alla creazione del cluster di amministrazione.Tornerai alla console per completare l'inserimento delle informazioni necessarie per creare il cluster. Durante la creazione del cluster, il comando
gkectl register bootstraprestituisce informazioni sull'avanzamento e scrive i log sulla workstation di amministrazione. Quando viene creato il cluster di amministrazione, il cluster di bootstrap viene eliminato automaticamente.
Inizia a configurare il cluster
Nella console, vai alla pagina Crea un cluster su VMware.
Seleziona il progetto Google Cloud in cui vuoi creare il cluster.
Quando crei il cluster di bootstrap in una sezione successiva, l'ID progetto selezionato viene visualizzato nel comando
gkectl register bootstrapnel flag--project-id.Assicurati che l'opzione Crea un cluster di amministrazione sia selezionata.
Fai clic su Avanti: installa ambiente di bootstrap.
Installa ambiente di bootstrap
In questa sezione inserisci le informazioni richieste dal comando gkectl register bootstrap. Man mano che inserisci i valori nei campi della UI, la console li copia nei flag corrispondenti per il comando gkectl register bootstrap visualizzato nella sezione Esegui il bootstrap dalla workstation di amministrazione nella parte inferiore della pagina.
Impostazioni di base dell'ambiente di bootstrap
Inserisci un Nome per il cluster di amministrazione. La console utilizza il nome del cluster come valore per il flag
--target-cluster-namenel comandogkectl register bootstrapvisualizzato nella parte inferiore della pagina. Il nome ha una lunghezza massima di 20 caratteri.Nel campo Località APIGoogle Cloud , seleziona una Google Cloud regione dall'elenco. Questa impostazione specifica la regione in cui vengono eseguiti i seguenti servizi e API:
- API GKE On-Prem (
gkeonprem.googleapis.com) - Servizio per flotte (
gkehub.googleapis.com) - Collega il servizio (
gkeconnect.googleapis.com)
Questa impostazione controlla anche la regione in cui vengono archiviati i seguenti elementi:
- I metadati del cluster necessari all'API GKE On-Prem per gestire il ciclo di vita del cluster
- I dati di Cloud Logging e Cloud Monitoring dei componenti di sistema
- L'audit log amministrativo creato da Cloud Audit Logs
Il campo Località APIGoogle Cloud corrisponde al flag
--locationnel comandogkectl register bootstrap.- API GKE On-Prem (
Nel campo Versione cluster di amministrazione, inserisci la versione da utilizzare per creare il cluster. La versione selezionata qui deve corrispondere alla versione del bundle specificata nel flag
--bundle-pathnel comandogkectl register bootstrap.
Configurazione vCenter
Se hai utilizzato gkeadm per creare la tua workstation di amministrazione, apri il file di configurazione della workstation di amministrazione in modo da poter copiare i valori dalla sezione vCenter nei campi della console. Tieni presente che anche il file di configurazione del cluster di amministrazione generato contiene queste informazioni.
La maggior parte dei campi di questa sezione è immutabile. Se hai bisogno di sapere se un campo è modificabile o immutabile, consulta la sezione vCenter nel riferimento al file di configurazione del cluster di amministrazione.
Nel campo Indirizzo, inserisci l'indirizzo vCenter Server.
File di configurazione della workstation di amministrazione: utilizza il valore del campo
vCenter.credentials.address.Il campo Indirizzo corrisponde al flag
--vcenter-addressnel comandogkectl register bootstrap.
Nel campo Data center, inserisci il nome del tuo data center vCenter.
File di configurazione della workstation di amministrazione: utilizza il valore del campo
vCenter.datacenter.Il campo Datacenter corrisponde al flag
--vcenter-datacenternel comandogkectl register bootstrap.
Nel campo Nome cluster, inserisci il nome del tuo cluster vCenter.
File di configurazione della workstation di amministrazione: utilizza il valore del campo
vCenter.cluster.Il campo Nome cluster corrisponde al flag
--vcenter-clusternel comandogkectl register bootstrap.
Nel campo Pool di risorse, inserisci il nome o il percorso del tuo pool di risorse vCenter.
File di configurazione della workstation di amministrazione: utilizza il valore del campo
vCenter.resourcePool.Il campo Pool di risorse corrisponde al flag
--vcenter-resource-poolnel comandogkectl register bootstrap.
Configura un'opzione di archiviazione inserendo una delle seguenti opzioni:
Campo Datastore: inserisci il nome del tuo datastore vCenter. Il valore specificato deve essere un nome, non un percorso. Se devi inserire un percorso, inseriscilo nel campo Cartella.
File di configurazione della workstation di amministrazione: utilizza il valore del campo
vCenter.datastore.Il campo Datastore corrisponde al flag
--vcenter-datastorenel comandogkectl register bootstrap.
Campo Nome policy di archiviazione: inserisci il nome della policy di archiviazione delle VM per i nodi del cluster. Per saperne di più, consulta Configura una policy di archiviazione.
File di configurazione della workstation di amministrazione: utilizza il valore del campo
vCenter.storagePolicyName.Il campo Nome policy di archiviazione corrisponde al flag
--vcenter-storage-policynel comandogkectl register bootstrap.
Devi inserire un valore nel campo Datastore o nel campo Nome policy di archiviazione, ma non in entrambi.
Facoltativamente, nel campo Cartella, inserisci il nome della cartella vCenter in cui si troveranno le VM del cluster.
File di configurazione della workstation di amministrazione: utilizza il valore del campo
vCenter.folder.Il campo Cartella corrisponde al flag
--vcenter-foldernel comandogkectl register bootstrap.
Nel campo Rete, inserisci il nome della tua rete vCenter.
File di configurazione della workstation di amministrazione: utilizza il valore del campo
vCenter.network.Il campo Rete corrisponde al flag
--vcenter-networknel comandogkectl register bootstrap.
Nel campo Percorso certificato CA, inserisci il percorso del certificato CA radice per il tuo vCenter Server.
Se hai utilizzato
gkeadmper creare la tua workstation di amministrazione,gkeadmha copiato il file del certificato CA che avevi localmente nella tua workstation di amministrazione.Il campo Percorso certificato CA corrisponde a
--vcenter-ca-cert-pathnel comandogkectl register bootstrap.
Ottieni il certificato CA
Dopo aver creato il cluster di bootstrap, dovrai fornire il certificato CA vCenter in formato PEM nel campo Dati del certificato CA nella pagina Informazioni di base sul cluster. Esegui questo comando per visualizzare il certificato:
cat CA_CERT_PATH
Sostituisci CA_CERT_PATH con il percorso del certificato CA principale per il tuo server vCenter. Se esegui questo comando localmente, utilizza il percorso in vCenter.caCertPath nel file di configurazione della workstation di amministrazione.
Copia l'intero certificato in un editor di testo in modo da poterlo incollare nel campo Dati del certificato CA nella pagina Impostazioni di base del cluster dopo la creazione del cluster di bootstrap.
Esegui il bootstrap dalla workstation di amministrazione
Quando esegui il comando gkectl register bootstrap, ti vengono richiesti il nome utente dell'account vCenter e la password. Assicurati di avere le credenziali a portata di mano. Se hai utilizzato gkeadm per creare la workstation di amministrazione, il nome utente e la password si trovano nel file credential.yaml.
Scorri fino alla sezione Esegui il bootstrap dalla workstation di amministrazione per visualizzare il comando
gkectl register bootstrap.Lascia aperta questa pagina mentre vai alla workstation di amministrazione per creare il cluster di bootstrap.
Copia e incolla il comando
gkectl register bootstrapin un editor di testo in modo da poter specificare i valori per i seguenti flag:./gkectl register bootstrap \ ... --bundle-path=BUNDLE_PATH \ ... --component-access-service-account-key-path=COMPONENT_ACCESS_SA_PATH \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH \ --stackdriver-service-account-key-path=LOG_MON_SA_PATH \ --cloud-audit-logging-service-account-key-path=CLOUD_AUDIT_SA_PATH \ --admin-kubeconfig-out=KUBECONFIG_NAMESostituisci quanto segue con i percorsi della workstation di amministrazione:
BUNDLE_PATH: il percorso del file del bundle. Se hai utilizzatogkeadmper creare la workstation di amministrazione, il file del bundle si trova in/var/lib/gke/bundles/. Il nome del file dipende dalla versione di Google Distributed Cloud, ad esempiogke-onprem-vsphere-1.31.0-gke.889-full.tgz.COMPONENT_ACCESS_SA_PATH: il percorso del file della chiave per il account di servizio di accesso ai componenti.CONNECT_REGISTER_SA_PATH: il percorso del file della chiave per il account di servizio connect-register.LOG_MON_SA_PATH: il percorso del file della chiave per il account di servizio di logging-monitoring.CLOUD_AUDIT_SA_PATH: il percorso del account di servizio di audit logging. Se non hai creato un account di servizio per l'audit logging, specifica il percorso del file della chiave per il service account di logging-monitoring.KUBECONFIG_NAME: il nome del file kubeconfig creato dal comandogkectl register bootstrap. Se non specifichi questo flag, il comando crea il file con il nomekubeconfignella directory di lavoro corrente. Se esiste già un file denominatokubeconfig, il comando lo sovrascrive.
Inoltre, se hai utilizzato
gkeadmper creare la tua workstation di amministrazione,gkectlè stato scaricato nella directory/usr/bin/. In questo caso, rimuovi./dall'inizio del comando, poichégkectlnon si trova nella directory di lavoro corrente.Utilizza SSH per connetterti alla tua workstation di amministrazione.
Copia il comando e incollalo in una finestra del terminale sulla tua workstation di amministrazione.
Quando richiesto, inserisci (o copia e incolla) il nome utente vCenter. Il nome utente non viene visualizzato sullo schermo.
Quando richiesto, inserisci (o copia e incolla) la password di vCenter. La password non viene visualizzata sullo schermo.
Il comando esegue numerose convalide. Dopo che gkectl ha creato correttamente il cluster di bootstrap, viene visualizzato un output simile al seguente, troncato per leggibilità:
Running workstation validations
- Validation Category: Workstation
- [SUCCESS] Workstation OS
- [SUCCESS] Workstation Hardware
- [SUCCESS] Workstation Package
- [SUCCESS] Workstation NTP
- [SUCCESS] Workstation Docker
...
All validation results were SUCCESS.
Unpacking GKE on-prem bundle: /var/lib/gke/bundles/gke-onprem-vsphere-1.31.0-gke.889-full.tgz
...
Successfully created and registered the bootstrap cluster
...
Waiting for preflight checks to run or OnPremAdminCluster to be applied...... -
Il processo continua a essere eseguito fino alla creazione del cluster di amministrazione.
Se esci dal comando gkectl register bootstrap prima della creazione del cluster di amministrazione, la creazione del cluster di amministrazione non va a buon fine e dovrai eliminare il cluster di bootstrap utilizzando il seguente comando:
gkectl delete bootstrap \
--target-cluster-name=ADMIN_CLUSTER_NAME \
--project-id=PROJECT_ID \
--location=REGION \
--register-service-account-key-path=CONNECT_REGISTER_SA_PATH
Completa la configurazione del cluster di amministrazione
Torna alla console e segui questi passaggi:
Nella pagina Installa l'ambiente di bootstrap, fai clic su Controlla connessione.
Se l'operazione riesce, la console visualizza Connessione stabilita.
La connessione al cluster di bootstrap deve essere stabilita prima di continuare. Se la connessione non viene stabilita, controlla gli argomenti che hai specificato per il comando
gkectl register bootstrap:Assicurati che il valore di
--target-cluster-namecorrisponda al Nome del cluster di amministrazione visualizzato nella sezione Nozioni di base sull'ambiente di bootstrap.Assicurati che il valore di
--project-idcorrisponda all'ID del progetto che hai selezionato nella console.
Se devi modificare il nome del cluster di bootstrap, l'ID progetto o altri valori dei flag, procedi nel seguente modo:
- Inserisci
Ctrl-Cper uscire dagkectl register bootstrap. Elimina il cluster di bootstrap:
gkectl delete bootstrap \ --target-cluster-name=ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID \ --location=REGION \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH
Esegui di nuovo il comando
gkectl register bootstrap.
Fai clic su Avanti: concetti di base sui cluster per iniziare a configurare il cluster di amministrazione.
Impostazioni di base del cluster
Nel campo Dati del certificato CA, copia e incolla l'intero certificato CA vCenter in formato PEM, come descritto in precedenza nella sezione Ottieni il certificato CA.
Nella sezione Autorizzazione, inserisci gli indirizzi email degli utenti a cui vuoi concedere il ruolo Kubernetes
clusterrole/viewdi sola lettura. Noterai che il tuo indirizzo email viene aggiunto automaticamente. I criteri di controllo degli accessi basato su ruoli (RBAC) applicati consentono agli utenti di eseguire comandi di sola lettura tramite il gateway di connessione.Fai clic su Next Control Plane.
Control plane
Esamina le impostazioni predefinite nella sezione Control plane e modificale in base alle tue esigenze.
Nella sezione IP dei nodi del control plane, inserisci gli indirizzi IP nei seguenti campi:
Gateway: l'indirizzo IP del gateway predefinito per la subnet che contiene i nodi del cluster.
Netmask: la netmask della subnet che contiene i nodi del cluster.
Indirizzi IP: inserisci l'indirizzo IP e, facoltativamente, il nome host dei tre nodi del control plane.
Fai clic su Avanti: Networking.
Networking
In questa sezione specifichi le informazioni di networking necessarie per creare il cluster di amministrazione.
Nella sezione CIDR servizi e pod, accetta i valori predefiniti per gli intervalli di indirizzi IP dei pod e dei servizi Kubernetes o inserisci intervalli di indirizzi CIDR diversi.
CIDR servizio: intervallo più piccolo possibile:
/24. Intervallo più ampio possibile:/12.CIDR pod: intervallo più piccolo possibile:
/18. Intervallo più grande possibile: /8`.
Nella sezione Configurazione host, specifica i server NTP, i server DNS e, facoltativamente, i domini di ricerca DNS utilizzati dalle VM corrispondenti ai nodi del cluster. Dopo aver creato il cluster, non puoi modificare questi valori.
Fai clic su Avanti: bilanciatore del carico.
Bilanciatore del carico
In questa sezione, selezioni il tipo di bilanciatore del carico da utilizzare. Per ulteriori informazioni, consulta Panoramica del bilanciamento del carico.
Nell'elenco Tipo di bilanciatore del carico, seleziona un bilanciatore del carico:
Abbinato a MetalLB: il bilanciatore del carico MetalLB è abbinato e richiede una configurazione inferiore rispetto al bilanciamento manuale del carico. I componenti di MetalLB vengono eseguiti sui nodi del cluster, quindi non è necessario creare VM separate per il bilanciatore del carico.
Manuale: puoi utilizzare qualsiasi bilanciatore del carico di tua scelta, purché lo configuri prima di creare il cluster. Con qualsiasi bilanciatore del carico configurato manualmente, devi configurare le mappature tra IP virtuali (VIP), indirizzi dei nodi e valori nodePort.
Nel campo VIP del control plane, inserisci il VIP da utilizzare per il traffico inviato al server API Kubernetes.
Fai clic su Verifica e crea.
La console visualizza messaggi di stato mentre verifica le impostazioni e crea il cluster nel tuo data center.
Se si verifica un problema con la configurazione, la console visualizza un messaggio di errore che dovrebbe essere sufficientemente chiaro da consentirti di risolvere il problema di configurazione e riprovare a creare il cluster.
I dettagli sul processo di creazione del cluster vengono visualizzati sulla workstation di amministrazione. Se i controlli preflight hanno esito positivo, viene visualizzato un messaggio simile al seguente:
[2023-03-22 23:12:47+0000] Waiting for cluster kubeconfig to become ready OK [2023-03-22 23:15:47+0000] Writing kubeconfig file [2023-03-22 23:15:47+0000] kubeconfig of cluster being created is present at gkectl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig [2023-03-22 23:15:47+0000] Please restrict access to this file as it contains authentication credentials of your cluster. [2023-03-22 23:15:47+0000] Waiting for cluster to become ready OK [2023-03-22 23:20:17+0000] Please run [2023-03-22 23:20:17+0000] kubectl --kubeconfig gkectl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig get nodes [2023-03-22 23:20:17+0000] to get cluster nodes status. [2023-03-22 23:20:17+0000] Waiting for node pools to become ready OK [2023-03-22 23:20:37+0000] Waiting for metrics to become ready in GCP OK [2023-03-22 23:25:38+0000] Waiting for cluster API provider to install in the created admin cluster OK [2023-03-22 23:25:48+0000] Moving admin cluster resources to the created admin cluster [2023-03-22 23:25:51+0000] Waiting for node update jobs to finish OK [2023-03-22 23:27:41+0000] Flushing logs... OK [2023-03-22 23:27:41+0000] Deleting membership... OK [2023-03-22 23:27:42+0000] Deleting bootstrap cluster.
Connettiti al cluster di amministrazione
Il comando gkectl register bootstrap crea un file kubeconfig per il cluster di amministrazione sulla tua workstation di amministrazione. Se non hai specificato il flag --admin-kubeconfig-out quando hai eseguito gkectl register bootstrap, il comando crea un file kubeconfig denominato kubeconfig nella directory in cui hai eseguito il comando.
Devi limitare l'accesso a questo kubeconfig perché contiene le credenziali di autenticazione per il cluster.
Inoltre, puoi eseguire comandi kubectl di sola lettura tramite il gateway di connessione.
Esegui il comando seguente su un computer su cui è installata gcloud CLI per ottenere una voce
kubeconfigche possa accedere al cluster tramite il gateway di connessione.gcloud container fleet memberships get-credentials ADMIN_CLUSTER_NAME \ --project=PROJECT_IDL'output è simile al seguente:
Starting to build Gateway kubeconfig... Current project_id: PROJECT_ID A new kubeconfig entry "connectgateway_PROJECT_ID_global_ADMIN_CLUSTER_NAME" has been generated and set as the current context.Ora puoi eseguire comandi
kubectldi sola lettura tramite il gateway di connessione, ad esempio:kubectl get pods -ASe hai bisogno di privilegi amministrativi completi per il cluster di amministrazione, consulta Configura il gateway di connessione.