Creazione di un cluster di amministrazione (base)

Questa pagina mostra come creare un cluster di amministrazione.

Accedi alla workstation mediante SSH

Nell'argomento precedente hai utilizzato gkeadm per creare una workstation di amministrazione. Ricordiamo che gkeadm ha attivato il tuo account di servizio di accesso ai componenti sulla workstation di amministrazione.

Accedi alla workstation di amministrazione seguendo le istruzioni riportate nell'articolo Ottenere una connessione SSH alla workstation di amministrazione.

Esegui tutti i passaggi rimanenti di questo argomento sulla tua workstation di amministrazione.

Configurazione di IP statici per il cluster di amministrazione

Per specificare gli indirizzi IP statici che vuoi utilizzare per il tuo cluster di amministrazione, crea un file di blocco IP denominato admin-cluster-ipblock.yaml. Per questo esercizio, devi specificare cinque indirizzi IP da utilizzare nel cluster di amministrazione.

Di seguito è riportato un esempio di un file di blocco IP con cinque host:

blocks:
  - netmask: 255.255.252.0
    gateway: 172.16.23.254
    ips:
    - ip: 172.16.20.10
      hostname: admin-host1
    - ip: 172.16.20.11
      hostname: admin-host2
    - ip: 172.16.20.12
      hostname: admin-host3
    - ip: 172.16.20.13
      hostname: admin-host4
    - ip: 172.16.20.14
      hostname: admin-host5

Il campo ips è un array di indirizzi IP e nomi host. Si tratta di indirizzi IP e nomi host che GKE On-Prem assegnerà ai nodi del cluster di amministrazione.

Nel file del blocco IP, devi anche specificare una subnet mask e un gateway predefinito per i nodi del cluster di amministrazione.

Creazione di un file di configurazione delle credenziali

Crea un file di configurazione delle credenziali denominato admin-creds.yaml che contenga il nome utente e la password del tuo account utente vCenter. L'account utente deve avere il ruolo Amministratore o privilegi equivalenti.

Ecco un esempio di file di configurazione delle credenziali:

apiVersion: v1
kind: "CredentialFile"
items:
- name: "vcenter-creds"
  username: "my-vcenter-account"
  password: "U$icUKEW#INE"

Campi compilati nel file di configurazione GKE On-Prem

Ricorda che quando hai creato la tua workstation di amministrazione, hai compilato un file di configurazione denominato admin-ws-config.yaml. Lo strumento a riga di comando gkeadm ha utilizzato il file admin-ws-config.yaml per creare la workstation di amministrazione.

Quando gkeadm ha creato la tua workstation di amministrazione, ha generato un altro file di configurazione denominato admin-cluster.yaml. Il file di configurazione, che si trova nella workstation di amministrazione, è destinato alla creazione del cluster di amministrazione.

Il file admin-cluster.yaml contiene diversi campi uguali o fortemente correlati a determinati campi nel file admin-ws-config.yaml. I valori per questi campi sono già completati nel file admin-cluster.yaml.

Questi sono i campi di admin-cluster.yaml già compilati in base ai valori inseriti nel file admin-ws-config.yaml:

vCenter:
  address:
  datacenter:
  cluster:
  network:
    vCenter:
      networkName:
  resourcePool:
  datastore:
  caCertPath:
proxy:
  url:
gcrKeyPath:

Molti altri campi in admin-cluster.yaml vengono compilati con valori predefiniti o generati. Ad esempio:

bundlePath:
loadbalancer
  seesaw:
    cpus:
    memoryMB:
    enableHA:
stackdriver:
  projectID:
  serviceAccountKeyPath:

Nel file admin-cluster.yaml, lascia invariati tutti i valori completati.

Compilazione del resto del file di configurazione del cluster di amministrazione

A questo punto, devi compilare i campi rimanenti nel file admin-cluster.yaml.

vCenter.credentials.fileRef.path

Stringa. Il percorso del tuo file di configurazione delle credenziali. Ad esempio:

vCenter:
  credentials:
    fileRef:
      path: "admin-creds.yaml"

vCenter.credentials.fileRef.entry

Stringa. Il nome del blocco delle credenziali, nel file di configurazione delle credenziali, che contiene il nome utente e la password del tuo account utente vCenter. Ad esempio:

vCenter:
  credentials:
    fileRef:
      entry: "vcenter-creds"

vCenter.dataDisk

Stringa. GKE On-Prem crea un disco virtuale della macchina (VMDK) per contenere i dati dell'oggetto Kubernetes per il cluster di amministrazione. Il programma di installazione crea il VMDK per te, ma devi fornire un nome per il VMDK nel campo vCenter.dataDisk. Ad esempio:

vCenter:
  dataDisk: "my-disk.vmdk"
Datastore vSAN: creazione di una cartella per il VMDK

Se utilizzi un datastore vSAN, devi inserire il VMDK in una cartella. La cartella deve essere creata manualmente in anticipo. Per farlo, puoi utilizzare govc per creare una cartella:

govc datastore.mkdir -namespace=true my-gke-on-prem-folder

Quindi imposta vCenter.dataDisk sul percorso del VMDK, inclusa la cartella. Ad esempio:

vDenter:
dataDisk: "my-gke-on-prem-folder/my-disk.vmdk"

network.ipMode.type

Stringa. Imposta questo valore su "static".

network:
  ipMode:
    type: "static"

network.ipBlockFilePath

Stringa. Poiché utilizzi indirizzi IP statici, devi avere un file di blocco IP come descritto in Configurazione di IP statici. Imposta network.ipBlockFilePath sul percorso del file di blocco IP. Ad esempio:

network:
  ipBlockFilePath: "/my-config-directory/admin-cluster-ipblock.yaml"

network.serviceCIDR e network.podCiDR

Stringhe. Il cluster di amministrazione deve avere un intervallo di indirizzi IP da utilizzare per i servizi e un intervallo di indirizzi IP da utilizzare per i pod. Questi intervalli sono specificati dai campi network.serviceCIDR e network.podCIDR. Questi campi vengono compilati con valori predefiniti. Se vuoi, puoi modificare i valori completati e scegliere quelli che preferisci.

Gli intervalli di servizi e pod non devono sovrapporsi. Inoltre, gli intervalli di servizi e pod non devono sovrapporsi agli indirizzi IP utilizzati per i nodi in qualsiasi cluster.

Esempio:

network:
  serviceCIDR: "10.96.232.0/24"
  podCIDR: "192.168.0.0/16"

loadBalancer.vips

Stringhe. Imposta il valore di loadBalancer.vips.controlPlaneVIP sull'indirizzo IP che hai scelto di configurare sul bilanciatore del carico per il server API Kubernetes del cluster di amministrazione. Imposta il valore di loadBalancer.vips.addonsVIP sull'indirizzo IP che hai scelto di configurare sul bilanciatore del carico per i componenti aggiuntivi. Ad esempio:

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"
    addonsVIP: "203.0.113.4"

loadBalancer.kind

Stringa. Imposta questo valore su "Seesaw". Ad esempio:

loadBalancer:
  kind: "Seesaw"

loadBalancer.seesaw.ipBlockFilePath

Stringa. Imposta questo percorso sul file di blocco IP per la tua VM di Seesaw.

Ad esempio:

loadbalancer:
  seesaw:
    ipBlockFilePath: "admin-seesaw-ipblock.yaml"

loadBalancer.seesaw.vird

Numero intero. L'identificatore del router virtuale della tua VM Seesaw. Questo identificatore deve essere univoco in una VLAN. L'intervallo valido è 1-255. Ad esempio:

loadBalancer:
  seesaw:
    vrid: 125

loadBalancer.seesaw.masterIP

Stringa. Un indirizzo IP di tua scelta, che verrà annunciato dalla VM di Seesaw. Ad esempio:

loadBalancer:
  seesaw:
    masterIP: "172.16.20.21"

loadBalancer.seesaw.enableHA

Valore booleano. Imposta questo valore su false. Ad esempio:

loadBalancer:.
  seesaw:
    enableHA: false

proxy.url

Stringa. Se hai inserito un valore per proxyURL nel file di configurazione della workstation di amministrazione, questo campo viene già compilato con lo stesso valore.

Se vuoi che l'amministratore e i cluster utente siano protetti da un proxy diverso dalla tua workstation di amministrazione, imposta questo valore su HTTP indirizzo del server proxy che vuoi sia utilizzato dai cluster. Devi includere il numero di porta anche se è uguale alla porta predefinita dello schema. Ad esempio:

proxy:
  url: "http://my-proxy.example.local:80"

proxy.noProxy

Stringa. Un elenco di indirizzi IP, intervalli di indirizzi IP, nomi host e nomi di dominio che non devono passare attraverso il server proxy. Quando GKE On-Prem invia una richiesta a uno di questi indirizzi, host o domini, la richiesta viene inviata direttamente. Ad esempio:

proxy:
  noProxy: "10.151.222.0/24, my-host.example.local,10.151.2.1"

stackdriver.clusterLocation

Stringa. L'area geografica di Google Cloud in cui vuoi archiviare i log. È buona norma scegliere un'area geografica vicina al data center on-prem. Ad esempio:

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

Valore booleano. Imposta stackdriver.enableVPC su true se la rete del cluster è controllata da un VPC. Ciò garantisce che tutta la telemetria passi attraverso gli indirizzi IP limitati di Google. In caso contrario, imposta questo valore su false. Ad esempio:

stackdriver:
  enableVPC: false

Campi aggiuntivi nel file di configurazione del cluster di amministrazione

Il file di configurazione del cluster di amministrazione ha diversi campi oltre a quelli mostrati in questo argomento. Per una descrizione completa dei campi nel file di configurazione, consulta la pagina File di configurazione del cluster di amministrazione.

Convalida del file di configurazione del cluster di amministrazione

Dopo aver modificato il file di configurazione del cluster di amministrazione, esegui gkectl check-config per verificare che il file sia valido e possa essere utilizzato per la creazione del cluster:

gkectl check-config --config admin-cluster.yaml

Se il comando restituisce un messaggio FAILURE, devi prima risolvere i problemi e convalidare di nuovo il file.

Se vuoi ignorare le convalide più lunghe, supera il flag --fast. Per ignorare le singole convalide, utilizza i flag --skip-validation-xxx. Per ulteriori informazioni sul comando check-config, consulta Esecuzione di controlli preflight.

Esecuzione del gkectl prepare

Esegui gkectl prepare per inizializzare il tuo ambiente vSphere:

gkectl prepare --config admin-cluster.yaml

Creazione del bilanciatore del carico

Crea e configura la VM per il tuo bilanciatore del carico di Seesaw:

gkectl create loadbalancer --config admin-cluster.yaml

Creazione del cluster di amministrazione

Crea il cluster di amministrazione:

gkectl create admin --config admin-cluster.yaml