File di configurazione della workstation amministrativa

In questa pagina vengono descritti i campi nel file di configurazione della workstation di amministrazione.

Generazione di un modello per il file di configurazione

Per generare un modello per il file di configurazione della workstation di amministrazione, è necessario lo strumento gkeadm.

Per scaricare lo strumento a riga di comando gkeadm e renderlo eseguibile:

gsutil cp gs://gke-on-prem-release-public/gkeadm/1.4.3-gke.3/linux/gkeadm ./
chmod +x gkeadm

Per generare un modello:

./gkeadm create config --config=[OUTPUT_FILENAME]

dove [OUTPUT_FILENAME] è un percorso a tua scelta per il modello generato. Se ometti questo flag, gkeadm assegna al file il nome admin-ws-config.yaml e lo inserisce nella directory corrente.

Compilazione del file di configurazione

Nel file di configurazione, inserisci i valori dei campi come descritto nelle seguenti sezioni.

gcp

Questa sezione contiene informazioni sul tuo account di servizio incluso nella lista consentita.

gcp.whitelistedServiceAccountKeyPath

Stringa. Il percorso del file della chiave JSON per il tuo account di servizio incluso nella lista consentita. Per informazioni sulla creazione di un file chiave JSON, consulta l'account di servizio incluso nella lista consentita. Ad esempio:

gcp:
  whitelistedServiceAccountKeyPath: "my-key-folder/whitelisted-key.json"

vCenter

Questa sezione contiene informazioni sul tuo ambiente vSphere.

vCenter.credentials.address

Stringa. L'indirizzo IP o il nome host del tuo server vCenter.

Prima di compilare il campo address, scarica e controlla il certificato di pubblicazione del server vCenter. Inserisci il comando seguente per scaricare il certificato e salvarlo in un file denominato vcenter.pem.

true | openssl s_client -connect [VCENTER_IP]:443 -showcerts 2>/dev/null | sed -ne '/-BEGIN/,/-END/p' > vcenter.pem

dove [VCENTER_IP] è l'indirizzo IP del tuo server vCenter.

Apri il file del certificato per visualizzare il nome comune del soggetto e il nome alternativo del soggetto:

openssl x509 -in vcenter.pem -text -noout

Nell'output è visualizzato il nome comune Subject (CN). Potrebbe essere un indirizzo IP o un nome host. Ad esempio:

Subject: ... CN = 203.0.113.100
Subject: ... CN = my-host.my-domain.example

L'output potrebbe includere anche uno o più nomi DNS sotto Subject Alternative Name:

X509v3 Subject Alternative Name:
    DNS:vcenter.my-domain.example

Scegli Subject Nome comune o uno dei nomi DNS in Subject Alternative Name da utilizzare come valore di vcenter.credentials.address nel tuo file di configurazione. Ad esempio:

vCenter:
  credentials:
    address: "203.0.113.1"
    ...
vCenter:
  credentials:
    address: "my-host.my-domain.example"
    ...

vCenter.credentials.username

Stringa. Un account utente vCenter Server. L'account utente deve avere il ruolo Amministratore o privilegi equivalenti. Consulta i requisiti di vSphere.

Ad esempio:

vCenter:
  credentials:
    username: "administrator@vsphere.local"

vCenter.credentials.password

Stringa. La password per l'account utente vCenter Server. Ad esempio:

vCenter:
  credentials:
    password: "#STyZ2T#Ko2o"

vCenter.datacenter

Stringa. Il nome del tuo data center vCenter. Ad esempio:

vCenter:
  datacenter: "MY-DATACENTER"

vCenter.datastore

Stringa. Il nome del tuo datastore vCenter. Ad esempio:

vCenter:
  datastore: "MY-DATASTORE"

vCenter.cluster

Stringa. Il nome del cluster vCenter. Ad esempio:

vCenter:
  cluster: "MY-CLUSTER"

vCenter.network

Stringa. Il nome della rete vCenter in cui vuoi creare la workstation di amministrazione. Ad esempio:

vCenter:
  network: "MY-VM-NETWORK"

vCenter.resourcePool

Stringa. Se utilizzi un pool di risorse non predefinito, fornisci il nome del pool di risorse vCenter. Ad esempio:

vCenter:
  resourcePool: "MY-POOL"

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

vCenter:
  resourcePool: "[MY_CLUSTER]/Resources"

dove [MY_CLUSTER] è il nome del cluster vCenter.

Consulta Specificare il pool di risorse root per un host autonomo.

vCenter.caCertPath

Stringa. Quando un client, come GKE On-Prem, invia una richiesta al tuo server vCenter, quest'ultimo deve dimostrare la propria identità al client presentando un certificato o un bundle di certificati. Per verificare il certificato o il bundle, GKE on-prem deve avere il certificato radice nella catena di attendibilità.

Imposta vCenter.caCertPath sul percorso del certificato radice. Ad esempio:

vCenter:
  caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert.pem"

L'installazione di VMware ha un'autorità di certificazione (CA) che emette un certificato per il server vCenter. Il certificato radice nella catena di attendibilità è un certificato autofirmato creato da VMware.

Se non vuoi utilizzare VMWare, che è l'impostazione predefinita, puoi configurare VMware in modo che utilizzi un'autorità di certificazione diversa.

Se il server vCenter utilizza un certificato emesso dall'autorità di certificazione di VMware predefinita, scaricalo come segue:

curl -k "https://[SERVER_ADDRESS]/certs/download.zip" > download.zip

dove [SERVER_ADDRESS] è l'indirizzo del tuo server vCenter.

Installa il comando unzip e decomprimi il file del certificato:

sudo apt-get install unzip
unzip downloads.zip

Se il comando Decomprimi non funziona la prima volta, inseriscilo di nuovo.

Cerca il file del certificato in certs/lin.

proxyUrl

Stringa: se la macchina che utilizzi per eseguire gkeadm utilizza un server proxy per accedere a Internet, imposta questo campo sull'URL del server proxy. Ad esempio:

proxyUrl: "https://my-proxy.example.local"

adminWorkstation

Questa sezione contiene informazioni sulla workstation di amministrazione.

adminWorkstation.name

Stringa. Un nome per la workstation di amministrazione. Questo campo viene compilato con un valore generato. Puoi mantenere il valore generato o fornire un nome diverso a tua scelta. Ad esempio:

adminWorkstation
  name: "gke-admin-ws-200617-113711"

adminWorkstation.cpus

Numero intero. Il numero di CPU virtuali per la workstation di amministrazione. Ad esempio:

adminWorkstation:
  cpus: 4

adminWorkstation.memoryMB

Numero intero. Il numero di megabyte di memoria per la workstation di amministrazione. Ad esempio:

adminworkstation:
  memoryMB: 8192

adminWorkstation.diskGB

Numero intero. La dimensione, in gigabyte, del disco di avvio per la workstation di amministrazione. Consigliamo almeno 50 GB. Ad esempio:

adminWorkstation:
  diskGB: 50

adminWorkstation.dataDiskName

Stringa. Un nome per il disco permanente da montare nella home directory. Questo campo viene compilato con un valore generato. Puoi mantenere il valore generato o fornire un nome a tua scelta. Deve terminare con .vmdk. Qualsiasi directory nel percorso fornito deve essere creata prima del deployment. Se non imposti alcun valore per questo campo, il valore predefinito è:

gke-on-prem-admin-workstation-data-disk/[ADMIN_WORKSTATION_NAME]-data-disk.vmdk

Ad esempio:

adminWorkstation:
  dataDiskName: "gke-on-prem-admin-workstation-data-disk/gke-admin-ws-200617-113711-data-disk.vmdk"

adminWorkstation.dataDiskMB

Numero intero. La dimensione in megabyte del disco dati. Se non viene impostato alcun valore per questo campo, il valore predefinito è 512. Ad esempio:

adminWorkstation:
  dataDiskMB: 512

adminWorkstation.network.ipAllocationMode

Stringa. Se vuoi che la workstation di amministrazione riceva l'indirizzo IP da un server DHCP, imposta questa opzione su "dhcp". Se vuoi che la workstation di amministrazione abbia un indirizzo IP statico di tua scelta, impostalo su "static". Ad esempio:

adminWorkstation:
  network:
    ipAllocationMode: "static"

adminWorkstation.network.hostconfig

Se imposti ipAllocationMode su "static", compila i campi di questa sezione.

Se imposti l'opzione ipAllocationMode su "dhcp", rimuovi questa sezione o lasciala commentata.

adminWorkstation.network.hostConfig.ip

Stringa. Un indirizzo IP di tua scelta per la workstation di amministrazione. Ad esempio:

adminWorkstation:
  network:
    hostconfig:
      ip: "172.16.5.1"

adminWorkstation.network.hostConfig.gateway

Stringa. L'indirizzo IP del gateway predefinito per la rete che contiene la workstation di amministrazione. Ad esempio:

adminWorkstation:
  network:
    hostconfig:
      gateway: "172.16.6.254"

adminWorkstation.network.hostConfig.netmask

Stringa. La netmask della rete che contiene la workstation di amministrazione. Ad esempio:

adminWorkstation:
  network:
    hostConfig:
      netmask: "255.255.248.0"

adminWorkstation.network.hostConfig.dns

Array di stringhe. Un array di indirizzi IP per i server DNS che la workstation di amministrazione può utilizzare. Ad esempio:

adminWorkstation:
  network:
    hostconfig:
      dns:
      - "172.16.255.1"
      - "172.16.255.2"

adminWorkstation.proxyUrl

Stringa. Se la rete è protetta da un server proxy e vuoi che sia la workstation di amministrazione che i cluster GKE On-Prem utilizzino lo stesso server proxy, imposta adminworkstation.proxyURL sull'URL del server proxy. Ad esempio:

adminworkstation:
  proxyUrl: "http://aw-proxy.example"

adminWorkstation.ntpServer

Stringa. Il nome host o l'indirizzo IP del server Network Time Protocol che dovrebbe utilizzare la tua workstation di amministrazione. Ad esempio:

adminWorkstation:
  ntpServer: "216.239.35.0"

Se lasci questo campo vuoto, GKE On-Prem utilizza "ntp.ubuntu.com".

Esempio di file di configurazione completato

Ecco un esempio di file di configurazione di workstation di amministrazione completato:

gcp:
  whitelistedServiceAccountKeyPath: "my-key-folder/whitelisted-key.json"
vCenter:
  credentials:
    address: "203.0.113.1"
    username: "administrator.vsphere.local"
    password: "#STyZ2T#Ko2o"
  datacenter: "MY-DATACENTER"
  datastore: "MY-DATASTORE"
  cluster: "MY-CLUSTER"
  network: "MY-VM-NETWORK"
  resourcePool: "MY-POOL"
  caCertPath: "/usr/local/google/home/me/certs/the-root.cert"
proxyUrl: ""
adminWorkstation:
  name: "my-admin-workstation"
  cpus: 4
  memoryMB: 8192
  diskGB: 50
  dataDiskName: "gke-on-prem-admin-workstation-data-disk/gke-admin-ws-200617-113711-data-disk.vmdk"
  dataDiskMB: 512
  network:
    ipAllocationMode: "static"
    hostConfig:
      ip: "172.16.5.1"
      gateway: "172.16.6.254"
      netmask: "255.255.248.0"
      dns:
      - "172.16.255.1"
      - "172.16.255.2
  proxyUrl: ""
  ntpServer: "216.239.35.0"