In questa pagina viene spiegato come creare una workstation di amministrazione che puoi utilizzare per installare GKE On-Prem.
In questo argomento creerai una workstation di amministrazione che ha un indirizzo IP statico.
Se vuoi creare una workstation di amministrazione che utilizza il protocollo DHCP (Dynamic Host Configuration Protocol) per recuperare il relativo indirizzo IP, consulta la sezione Creare una workstation di amministrazione utilizzando DHCP.
Se esegui i comandi su Linux, in questo caso esiste un'alternativa ai passaggi descritti in questo argomento. L'alternativa è utilizzare lo
strumento gkeadm
che automatizza gran parte della creazione della workstation di amministrazione.
Panoramica
La workstation di amministrazione è una VM vSphere che contiene tutti gli strumenti necessari per creare e gestire i cluster GKE On-Prem. Per creare la workstation di amministrazione, esegui i passaggi descritti in questo argomento:
- Scarica il file Open Virtual Appliance (OVA) della workstation di amministrazione, un'immagine compressa della VM della workstation di amministrazione.
- Per importare l'OVA in vSphere come modello VM, utilizza
govc
, l'interfaccia a riga di comando per vSphere. - Copia e compila i file di configurazione HashiCorp Terraform.
- Utilizza Terraform versione 0.11 per creare la VM della workstation di amministrazione.
Download dell'OVA della workstation di amministrazione
Scarica l'OVA della workstation di amministrazione e il file della firma come descritto in Download.
Verifica dell'OVA utilizzando openssl
Verifica il file OVA scaricato con la chiave pubblica utilizzando
openssl
:
openssl dgst -verify - -signature gke-on-prem-admin-appliance-vsphere-1.5.2-gke.3.ova.1.sig gke-on-prem-admin-appliance-vsphere-1.5.2-gke.3.ova <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
L'output previsto di questo comando è Verified OK
.
Utilizzo di govc
per importare l'OVA in vSphere e contrassegnarlo come modello di VM
Nelle seguenti sezioni:
- Crea alcune variabili che dichiarano gli elementi del server vCenter e dell'ambiente vSphere.
- Importa l'OVA della workstation di amministrazione in vSphere e contrassegnalo come modello di VM.
Creazione variabili per govc
Prima di importare l'OVA della workstation di amministrazione in vSphere, devi fornire govc
alcune variabili che dichiarano gli elementi del tuo server vCenter e dell'ambiente vSphere:
export GOVC_URL=https://[VCENTER_SERVER_ADDRESS]/sdk export GOVC_USERNAME=[VCENTER_SERVER_USERNAME] export GOVC_PASSWORD=[VCENTER_SERVER_PASSWORD] export GOVC_DATASTORE=[VSPHERE_DATASTORE] export GOVC_DATACENTER=[VSPHERE_DATACENTER] export GOVC_INSECURE=true
Puoi scegliere di utilizzare il pool di risorse predefinito vSphere o crearlo:
# If you want to use a resource pool you've configured yourself, export this variable: export GOVC_RESOURCE_POOL=[VSPHERE_CLUSTER]/Resources/[VSPHERE_RESOURCE_POOL]
# If you want to use vSphere's default resource pool, export this variable instead: export GOVC_RESOURCE_POOL=[VSPHERE_CLUSTER]/Resources
dove:
- [VCENTER_SERVER_ADDRESS] corrisponde all'indirizzo IP o al nome host del server vCenter.
- [VCENTER_SERVER_USERNAME] è il nome utente di un account che ha il ruolo Amministratore o privilegi equivalenti in vCenter Server.
- [VCENTER_SERVER_PASSWORD] è la password dell'account vCenter Server.
- [VSPHERE_DATASTORE] è il nome del datastore che hai configurato nel tuo ambiente vSphere.
- [VSPHERE_DATACENTER] è il nome del data center che hai configurato nell'ambiente vSphere.
- [VSPHERE_CLUSTER] è il nome del cluster che hai configurato nel tuo ambiente vSphere. Per l'utilizzo di un pool di risorse non predefinito,
- [VSPHERE_RESOURCE_POOL] è il nome del pool di risorse che hai configurato per il tuo ambiente vSphere.
Creazione delle variabili per il proxy
Se utilizzi un proxy, esporta le variabili per gli indirizzi HTTP e HTTPS, dove [PROXY_ADDRESS] è l'indirizzo IP o il nome host del proxy.
export HTTP_PROXY=http://[PROXY_ADDRESS] export HTTPS_PROXY=https://[PROXY_ADDRESS]
Importazione dell'OVA in vSphere: sensore standard
Se utilizzi uno scambio standard vSphere, importa l'OVA in vSphere utilizzando questo comando:
govc import.ova -options - gke-on-prem-admin-appliance-vsphere-1.5.2-gke.3.ova <<EOF { "DiskProvisioning": "thin", "MarkAsTemplate": true } EOF
Importazione dell'OVA in vSphere: sensore distribuito
Se utilizzi uno scambio vSphere distribuito, importa l'OVA in vSphere utilizzando questo comando, dove [YOUR_DISTRIBUTED_PORT_GROUP_NAME] è il nome del tuo gruppo di porte distribuite:
govc import.ova -options - gke-on-prem-admin-appliance-vsphere-1.5.2-gke.3.ova <<EOF { "DiskProvisioning": "thin", "MarkAsTemplate": true, "NetworkMapping": [ { "Name": "VM Network", "Network": "[YOUR_DISTRIBUTED_PORT_GROUP_NAME]" } ] } EOF
Copia dei file di configurazione Terraform
Crea una directory per i file Terraform:
mkdir [TERRAFORM_DIR]
dove [TERRAFORM_DIR] è il percorso di una directory in cui vuoi conservare i tuoi file Terraform.
Copia i seguenti file TF e TFVARS e salvali rispettivamente su
[TERRAFORM_DIR]/terraform.tf
e [TERRAFORM_DIR]/terraform.tfvars
.
Il file TF è la configurazione HCL di Terraform che esegue la creazione della VM.
I file Terraform specificati qui si applicano a una workstation di amministrazione che ha un indirizzo IP statico. Se vuoi creare una workstation di amministrazione che utilizza il protocollo DHCP per recuperarne l'indirizzo IP, utilizza i file Terraform forniti in Creazione di una workstation di amministrazione tramite DHCP.
Creazione di una chiave SSH
Crea una chiave SSH, in modo da poterti connettere alla workstation di amministrazione dal laptop o dalla workstation locale. Sui sistemi operativi basati su Linux, puoi utilizzare
ssh-keygen
:
ssh-keygen -t rsa -f ~/.ssh/vsphere_workstation -N ""
Modifica del file TFVARS
Apri terraform.tfvars
in un editor di testo e fornisci i valori per le seguenti variabili. Puoi trovare molti di questi valori accedendo al client vCenter:
vcenter_user
Fornisci un account utente vCenter Server come stringa. L'account utente deve avere il ruolo Amministratore o privilegi equivalenti (consulta i requisiti vSphere).
Ad esempio:
vcenter_user = "administrator@vsphere.local"
vcenter_password
Fornisci la password dell'account utente vCenter Server come stringa. Ad esempio:
vcenter_password = "#STyZ2T#Ko2o"
vcenter_server
Fornisci il tuo indirizzo vCenter Server (IP o nome host) come stringa. Ad esempio:
vcenter_server = "198.51.100.2"
ssh_public_key_path
Fornisci il percorso della chiave pubblica SSH. L'hai creato nel passaggio precedente:
ssh_public_key_path = "~/.ssh/vsphere_workstation.pub"
vm_name
Specifica un nome a tua scelta per la workstation di amministrazione. Ad esempio:
vm_name = "my-admin-workstation"
datastore
Fornisci il nome del tuo datastore vSphere come stringa. Ad esempio:
datastore = "MY-DATASTORE"
datacenter
Fornisci il nome del tuo data center vSphere come stringa. Ad esempio:
datacenter = "MY-DATACENTER"
cluster
Fornisci il nome del cluster vSphere come stringa. Ad esempio,
cluster = "MY-CLUSTER"
resource_pool
Se utilizzi un pool di risorse non predefinito, fornisci il nome del pool di risorse vSphere come stringa. Ad esempio:
resource_pool = "MY-POOL"
Se utilizzi il pool di risorse predefinito, fornisci il seguente valore:
resource_pool = "[MY_CLUSTER]/Resources"
dove [MY_CLUSTER] è il nome del cluster vSphere.
Consulta Specificare il pool di risorse root per un host autonomo.
network
Fornisci la rete vSphere in cui vuoi creare la tua workstation di amministrazione, sotto forma di stringa. Ad esempio:
network = "MY-VM-NETWORK"
vm_template
Fornisci il nome del modello VM come stringa. Hai creato l'OVA e lo hai contrassegnato come modello in un passaggio precedente. Tieni presente che il nome del modello
non ha l'estensione .ova
.
vm_template = "gke-on-prem-admin-appliance-vsphere-1.5.2-gke.3"
ipv4_address
Fornisci un indirizzo IP statico IPv4 per la workstation di amministrazione. Ad esempio:
ipv4_address = "203.0.113.1"
ipv4_netmask_prefix_length
Fornisci il numero di bit nella subnet mask della rete in cui vuoi creare la workstation di amministrazione. Ad esempio:
ipv4_netmask_prefix_length = "22"
ipv4_gateway
Fornisci l'indirizzo IP del gateway predefinito della subnet in cui deve essere creata la workstation di amministrazione. Ad esempio:
ipv4_gateway = "198.51.100.1
dns_nameservers
Fornisci i server dei nomi DNS che devono essere utilizzati dalla workstation di amministrazione, separati da virgole. Ad esempio:
dns_nameservers = "8.8.8.8,8.8.4.4"
Creazione della workstation di amministrazione
Ora puoi iniziare a creare la VM della workstation di amministrazione. Utilizza Terraform versione 0.11 per i passaggi di questa sezione.
Vai alla directory che contiene i file di configurazione Terraform (TF e TFVARS):
Inizializza Terraform nella directory e applica la configurazione. L'operazione potrebbe richiedere alcuni minuti:
terraform init && terraform apply -auto-approve -input=false
SSH nella workstation di amministrazione
Vai alla directory che contiene i file di configurazione Terraform.
Recupera l'indirizzo IP della workstation di amministrazione:
terraform output ip_address
Prendi nota dell'indirizzo IP della workstation di amministrazione.
Accedi alla workstation mediante SSH usando la chiave SSH e l'indirizzo IP.
ssh -i ~/.ssh/vsphere_workstation ubuntu@[ADMIN_WORKSTATION_IP_ADDRESS]
Verifica che la workstation di amministrazione sia configurata correttamente
Verifica che gkectl
e docker
siano installati sulla tua workstation di amministrazione:
gkectl version docker version
Configurazione del server NTP sulla workstation di amministrazione
Per impostazione predefinita, la workstation di amministrazione utilizza ntp.ubuntu.com come server Network Time Protocol (NTP). Se la tua organizzazione utilizza un server di tempo diverso, configura la workstation di amministrazione in modo che utilizzi lo stesso server NTP del resto dell'organizzazione.
Inserisci i comandi seguenti per configurare il server NTP sulla tua workstation di amministrazione:
sudo mkdir -p /etc/systemd/timesyncd.conf.d/ sudo bash -c "cat >> /etc/systemd/timesyncd.conf.d/cloud-init.conf" << EOF [Time] NTP=[NTP_SERVER] EOF sudo systemctl restart systemd-timesyncd timedatectl status
dove [NTP_SERVER] è il nome host o l'indirizzo IP del server NTP.
Per verificare che il server NTP funzioni, inserisci il seguente comando:
timedatectl
L'output è simile al seguente:
Local time: Tue 2019-12-17 00:21:50 UTC Universal time: Tue 2019-12-17 00:21:50 UTC RTC time: Tue 2019-12-17 00:21:50 Time zone: Etc/UTC (UTC, +0000) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no
Risolvere i problemi
openssl
non può convalidare l'OVA della workstation di amministrazione
- Sintomi
L'esecuzione di
openssl dgst
nel file OVA della workstation di amministrazione non restituisceVerified OK
- Potenziali cause
Nel file OVA è presente un problema che impedisce una convalida riuscita.
- Risoluzione
Prova a scaricare e a eseguire il deployment dell'OVA della workstation di amministrazione, come indicato nell'articolo Scaricare l'OVA della workstation di amministrazione. Se il problema persiste, contatta Google per ricevere assistenza.
Per ulteriori informazioni, consulta la sezione Risoluzione dei problemi.