Creazione di una workstation amministrativa

Questa pagina spiega come creare la versione più recente di la macchina virtuale (VM) della workstation di amministrazione.

Per eseguire l'upgrade di una workstation di amministrazione esistente, vedi Upgrade di GKE On-Prem.

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 OVA (Open Virtual Appliance) 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 per creare la VM.

Prima di iniziare

  1. Leggi la panoramica della workstation di amministrazione.
  2. Completa la procedura descritta in Preparare l'installazione.
  3. Verifica di avere installato govc.
  4. Verifica di aver installato Terraform versione 0.11.

Scarica l'OVA della workstation di amministrazione

Scarica la versione più recente della workstation di amministrazione OVA dall'argomento Download. L'ultimo file OVA è:

gke-on-prem-admin-appliance-vsphere-1.1.2-gke.0.ova

dove 1.1.2-gke.0 è la versione più recente di GKE On-Prem. L'OVA include tutti i componenti del cluster, gli strumenti a riga di comando e altre entità necessarie per installare e gestire i cluster GKE On-Prem. L'OVA più recente include l'ultima versione di queste entità.

Salva il file in un punto del computer che utilizzi per creare la workstation di amministrazione.

Utilizzo di govc per importare l'OVA in vSphere e contrassegnarlo come modello di VM

Nelle seguenti sezioni:

  1. Crea alcune variabili che dichiarano gli elementi del server vCenter e dell'ambiente vSphere.
  2. 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 govcalcune 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.

Importazione dell'OVA in vSphere: sensore standard

Se utilizzi uno vSphere Standard Switch, importa l'OVA in vSphere utilizzando questo comando:

govc import.ova -options - ~/gke-on-prem-admin-appliance-vsphere-1.1.2-gke.0.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.1.2-gke.0.ova <<EOF
{
  "DiskProvisioning": "thin",
  "MarkAsTemplate": true,
  "NetworkMapping": [
      {
          "Name": "VM Network",
          "Network": "[YOUR_DISTRIBUTED_PORT_GROUP_NAME]"
      }
  ]
}
EOF

Copia dei file di configurazione Terraform

  1. 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.

  2. Copia una delle seguenti configurazioni Terraform, a seconda che tu voglia specificare un indirizzo IP statico per la tua workstation di amministrazione o utilizzare un server DHCP per ottenere un indirizzo IP.

    Assicurati di copiare sia i file TF sia i file TFVARS. Il file TF è la configurazione HCL di Terraform che esegue la creazione della VM.

  3. Salva le configurazioni rispettivamente in [TERRAFORM_DIR]/terraform.tf e [TERRAFORM_DIR]/terraform.tfvars.

DHCP

IP statico

Creazione di una chiave pubblica SSH

Crea una chiave pubblica SSH, in modo da poterti connettere alla workstation di amministrazione dal tuo laptop o 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 (vedi Requisiti di sistema). 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.0"

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:

vm_name = "admin-workstation"

datastore

Fornisci il nome del tuo datastore vSphere come stringa:

datastore = "MY-DATASTORE"

datacenter

Fornisci il nome del tuo data center vSphere come stringa:

datacenter = "MY-DATACENTER"

cluster

Fornisci il nome del cluster vSphere come stringa:

cluster = "MY-CLUSTER"

resource_pool

Se utilizzi un pool di risorse non predefinito, fornisci il nome del pool di risorse vSphere come stringa.

resource_pool = "MY-POOL"

Se utilizzi il pool di risorse predefinito, fornisci il seguente valore:

resource_pool = "MY-CLUSTER/Resources"

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 = "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:

vm_template = "gke-on-prem-admin-appliance-vsphere-[VERSION]"

Utilizzare un indirizzo IP statico per la tua workstation di amministrazione

Se vuoi utilizzare un IP statico per la tua workstation di amministrazione, copia il file IP statico e TFVARS. Nel file TFVAR, inserisci i valori per le seguenti variabili:

ipv4_address

Fornisci un indirizzo IP statico IPv4 per la workstation di amministrazione. Ad esempio:

ipv4_address = "203.0.113.0"

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

Specifica il gateway della subnet in cui deve essere creata la workstation di amministrazione. Consulta la documentazione di VMware vSphere_virtual_machine.

Ad esempio:

ipv4_gateway = "198.51.100.0

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

Dopo aver completato i passaggi precedenti, puoi creare la VM di workstation di amministrazione:

  1. Passa alla directory che contiene i file di configurazione Terraform (TF e TFVARS):

    cd [TERRAFORM_DIR]
    
  2. 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

  1. Passa alla directory che contiene i file di configurazione di Terraform.

  2. Recupera l'indirizzo IP della workstation di amministrazione:

    terraform output ip_address

    Prendi nota dell'indirizzo IP della workstation di amministrazione o esportalo come variabile nella tua shell.

  3. Accedi tramite SSH alla workstation di amministrazione utilizzando la chiave generata e l'indirizzo IP:

    ssh -i ~/.ssh/vsphere_workstation ubuntu@$(terraform output ip_address)

    oppure, se vuoi usare solo il suo indirizzo:

    ssh -i ~/.ssh/vsphere_workstation ubuntu@[IP_ADDRESS]
    

Verifica che la workstation di amministrazione sia configurata correttamente

Verifica che gkectl e docker siano installati:

gkectl version
docker version

Configurazione del proxy per la workstation di amministrazione

Se il tuo ambiente è protetto da un proxy, segui le sezioni riportate di seguito per configurare l'interfaccia a riga di comando di Google Cloud e Docker per utilizzare il proxy.

Configurazione dell'interfaccia a riga di comando di Google Cloud in modo che utilizzi il proxy

Completa i passaggi seguenti della VM della workstation di amministrazione.

Se utilizzi un proxy per connetterti a Internet dal tuo laptop o dalla tua workstation, devi configurare l'interfaccia a riga di comando di Google Cloud per il proxy, in modo da poter eseguire i comandi gcloud e gsutil. Per le istruzioni, consulta la sezione relativa alla configurazione dell'interfaccia a riga di comando gcloud da utilizzare dietro un proxy/firewall.

Configurazione di un registro Docker per il pull del proxy

Completa i passaggi seguenti della VM della workstation di amministrazione.

Se vuoi utilizzare un registro Docker e la tua rete viene eseguita dietro un proxy, devi configurare il daemon Docker in esecuzione sulla tua workstation di amministrazione per eseguire il pull delle immagini tramite il proxy:

  1. Raccogli gli indirizzi dei proxy HTTP e HTTPS.

  2. Raccogli gli indirizzi IP e i nomi host di ogni host che devi contattare senza proxy, tra cui:

    • L'indirizzo IP del server vCenter.
    • Gli indirizzi IP di tutti gli host ESXi.
    • Indirizzi IP che intendi configurare sul tuo bilanciatore del carico.
    • L'intervallo 192.168.0.0/16.

    Nella workstation di amministrazione, aggiungi questi indirizzi alla variabile no_proxy:

    printf -v no_proxy '%s,' [ADDRESSES];
    

    Facoltativamente, puoi esportare l'intervallo in una variabile di ambiente per un utilizzo futuro. Tieni presente che le applicazioni e i processi potrebbero utilizzare questa variabile:

    export no_proxy="${no_proxy%,}";
  3. Apri il file di configurazione di Docker, archiviato in /root/.docker/config.json, /home/[USER]/.docker/config.json o altrove, a seconda della configurazione.

  4. All'interno di config.json, aggiungi le seguenti righe:

    "proxies": {
    
    "default": {
           "httpProxy": "[HTTP_PROXY]",
           "httpsProxy": "[HTTPS_PROXY]",
           "noProxy": "[ADDRESSES]"
               }
    }

    dove:

    • [HTTP_PROXY] è il tuo proxy HTTP, se ne hai uno.
    • [HTTPS_PROXY] è il tuo proxy HTTPS, se ne hai uno.
    • [ADDRESSES] è un elenco di indirizzi e nomi host delimitati da virgole che devi contattare senza proxy.
  5. Riavvia Docker per rendere effettive le modifiche:

    sudo systemctl restart docker

Risolvere i problemi

Per ulteriori informazioni, consulta la sezione Risoluzione dei problemi.

Limite sessione del provider Terraform vSphere

GKE On-Prem utilizza il provider vSphere di Terraform per richiamare le VM nel tuo ambiente vSphere. Il limite per le sessioni del provider è 1000. L'implementazione corrente non chiude le sessioni attive dopo l'utilizzo. Se hai troppe sessioni in esecuzione, potresti visualizzare errori 503.

Le sessioni vengono chiuse automaticamente dopo 300 secondi.

Sintomi

Se sono in esecuzione troppe sessioni, potrebbe verificarsi il seguente errore:

Error connecting to CIS REST endpoint: Login failed: body:
  {"type":"com.vmware.vapi.std.errors.service_unavailable","value":
  {"messages":[{"args":["1000","1000"],"default_message":"Sessions count is
  limited to 1000. Existing sessions are 1000.",
  "id":"com.vmware.vapi.endpoint.failedToLoginMaxSessionCountReached"}]}},
  status: 503 Service Unavailable
Potenziali cause

Nel tuo ambiente sono in esecuzione troppe sessioni del provider Terraform.

Risoluzione

Attualmente funziona come previsto. Le sessioni vengono chiuse automaticamente dopo 300 secondi. Per ulteriori informazioni, consulta il problema di GitHub #618.

Utilizzo di un proxy per Docker: oauth2: cannot fetch token

Sintomi

Quando utilizzi un proxy ricevi il seguente errore:

oauth2: cannot fetch token: Post https://oauth2.googleapis.com/token: proxyconnect tcp: tls: oversized record received with length 20527
Potenziali cause

È possibile che tu abbia fornito un proxy HTTPS anziché HTTP.

Risoluzione

Nella configurazione Docker, modifica l'indirizzo proxy in http:// anziché in https://.

Verifica della validità delle licenze

Ricorda che devi verificare la validità delle licenze, soprattutto se utilizzi licenze di prova. Se le licenze F5, ESXi dell'host o vCenter sono scadute, potresti riscontrare errori imprevisti.

openssl non può convalidare l'OVA della workstation di amministrazione

Sintomi

L'esecuzione di openssl dgst nel file OVA della workstation di amministrazione non restituisce Verified 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.

Passaggi successivi