Creazione di una workstation amministrativa

Questo documento mostra come creare una workstation di amministrazione per Cluster Anthos su VMware (GKE On-Prem), che puoi utilizzare per creare cluster.

I passaggi in questo documento utilizzano lo strumento a riga di comando gkeadm, disponibile per Linux a 64 bit, Windows 10, Windows Server 2019 e macOS 10.15 e versioni successive.

Le istruzioni qui sono complete. Per un'introduzione più breve alla creazione di una workstation di amministrazione, consulta Creare una workstation di amministrazione (guida rapida).

Prima di iniziare

Conoscere l'indirizzo del server vCenter.

Scopri il percorso dei certificati CA.

Installa Google Cloud CLI.

Crea uno o più progetti Google Cloud come descritto in Utilizzo di più progetti Google Cloud.

Pianificazione degli account di servizio

Quando utilizzi gkeadm per creare una workstation di amministrazione, puoi consentire a gkeadm di creare alcuni account e chiavi di servizio per te. In questo caso, gkeadm concede anche i ruoli appropriati di Identity and Access Management agli account di servizio.

In alternativa, puoi creare manualmente gli account e le chiavi di servizio. In questo caso, devi concedere manualmente i ruoli IAM ai tuoi account di servizio.

La creazione manuale di account di servizio ti offre maggiore flessibilità rispetto alla creazione di gkeadm:

  • Tutti gli account di servizio creati automaticamente hanno lo stesso progetto Google Cloud padre del tuo account di servizio di accesso ai componenti. Quando crei un account di servizio manualmente, puoi scegliere il progetto Google Cloud padre.

  • Tutti gli account di servizio creati automaticamente ricevono tutti i ruoli IAM nel progetto Google Cloud padre del tuo account di servizio di accesso ai componenti. Questo va bene se è l'unico progetto Google Cloud associato ai tuoi cluster. Se vuoi associare i tuoi cluster a più progetti Google Cloud, hai bisogno della flessibilità per concedere ruoli a un account di servizio su un progetto Google Cloud a tua scelta.

Se decidi di creare i tuoi account di servizio, segui le istruzioni riportate in Account e chiavi di servizio.

Indipendentemente dal fatto che tu abbia automaticamente creato gkeadm account di servizio, devi creare manualmente un account di servizio: l'account di servizio con accesso ai componenti. Per istruzioni su come creare l'account di servizio con accesso ai componenti e concedergli i ruoli IAM appropriati, consulta Account di servizio con accesso ai componenti.

Generazione di modelli per i file di configurazione

Scarica gkeadm nella directory attuale.

Genera modelli:

./gkeadm create config

Il comando precedente ha creato questi file nella directory attuale:

  • credential.yaml
  • admin-ws-config.yaml

Compilazione di credential.yaml

In credential.yaml, inserisci il tuo nome utente e password vCenter. Ad esempio:

kind: CredentialFile
items:
- name: vCenter
  username: "my-account-name"
  password: "AadmpqGPqq!a"

Compilazione di admin-ws-config.yaml

Diversi campi in admin-ws-config.yaml sono già compilati con valori predefiniti o generati. Puoi mantenere i valori completati o apportare modifiche man mano che preferisci.

Campi da compilare

Compila i seguenti campi obbligatori. Per informazioni su come compilare i campi, file di configurazione della workstation di amministrazione.

gcp:
   componentAccessServiceAccountKeyPath: "Fill in"
vCenter:
  credentials:
    address: "Fill in"
  datacenter: "Fill in"
  datastore: "Fill in"
  cluster: "Fill in"
  network: "Fill in"
  resourcePool: "Fill in"
  caCertPath: "Fill in"

Se la workstation di amministrazione è protetta da un server proxy, compila il campo proxyURL:

adminWorkstation:
  proxyURL: "Fill in"

Se vuoi che la workstation di amministrazione riceva l'indirizzo IP da un server DHCP, imposta ipAllocationMode su "dhcp" e rimuovi la sezione hostconfig:

adminWorkstation:
  network:
    ipAllocationMode: "dhcp"

Se vuoi specificare un indirizzo IP statico per la workstation di amministrazione, imposta ipAllocationMode su "static" e compila la sezione hostconfig:

adminWorkstation:
  network:
    ipAllocationMode: "static"
    hostconfig:
      ip: "Fill in"
      gateway: "Fill in"
      netmask: "Fill in"
      dns:
      - "Fill in"

Accesso in corso...

L'Account Google impostato come account proprietà dell'SDK si chiama account SDK. Lo strumento a riga di comando gkeadm utilizza il tuo account SDK per scaricare la OVA della workstation di amministrazione e abilitare i servizi nel progetto Google Cloud.

Se scegli di fare in modo che gkeadm crei automaticamente gli account di servizio per te, gkeadm utilizzerà anche il tuo account SDK per creare gli account di servizio e le chiavi e per concedere i ruoli agli account di servizio. Pertanto, è importante impostare la proprietà SDK account prima di eseguire gkeadm per creare una workstation di amministrazione.

Accedi con qualsiasi Account Google. Questa azione imposta la proprietà account dell'SDK:

gcloud auth login

Verifica che la proprietà dell'SDK account sia impostata correttamente:

gcloud config list

L'output mostra i valori della proprietà SDK account. Ad esempio:

[core]
account = my-name@google.com
disable_usage_reporting = False
Your active configuration is: [default]

Concedi i ruoli al tuo account SDK

Il tuo account SDK deve avere il seguente ruolo IAM sul progetto Google Cloud principale del tuo account di servizio dell'accesso ai componenti. Questo consente a gkeadm di abilitare i servizi sul progetto Google Cloud.

  • serviceUsage.serviceUsageAdmin

Se scegli di far creare automaticamente agli account account di servizio gkeadm, l'account SDK deve avere anche i ruoli seguenti nel progetto padre dell'account di servizio con accesso ai componenti. Questo consente a gkeadm di creare account e chiavi di servizio.

  • resourcemanager.projectIamAdmin
  • iam.serviceAccountCreator
  • iam.serviceAccountKeyAdmin

Per concedere i ruoli in un progetto Google Cloud, devi disporre di determinate autorizzazioni sul progetto Google Cloud. Per maggiori dettagli, consulta Concedere, modificare e revocare l'accesso alle risorse.

Se disponi delle autorizzazioni necessarie, puoi concedere i ruoli personalmente. In caso contrario, un altro membro dell'organizzazione deve concederti i ruoli.

Per concedere il ruolo richiesto al tuo account SDK:

Linux e macOS

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:ACCOUNT" \
    --role="roles/serviceusage.serviceUsageAdmin"

Windows

gcloud projects add-iam-policy-binding PROJECT_ID ^
    --member="user:ACCOUNT" ^
    --role="roles/serviceusage.serviceUsageAdmin"

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto Google Cloud principale del tuo account di servizio dell'accesso ai componenti

  • ACCOUNT: il tuo account SDK

Per concedere ruoli aggiuntivi nel caso in cui vuoi che gkeadm crei automaticamente account di servizio

Linux e macOS

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:ACCOUNT" \
    --role="roles/resourcemanager.projectIamAdmin"

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:ACCOUNT" \
    --role="roles/iam.serviceAccountCreator"

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:ACCOUNT" \
    --role="roles/iam.serviceAccountKeyAdmin"

Windows

gcloud projects add-iam-policy-binding PROJECT_ID ^
    --member="user:ACCOUNT" ^
    --role="roles/resourcemanager.projectIamAdmin"

gcloud projects add-iam-policy-binding PROJECT_ID ^
    --member="user:ACCOUNT" ^
    --role="roles/iam.serviceAccountCreator"

gcloud projects add-iam-policy-binding PROJECT_ID ^
    --member="user:ACCOUNT" ^
    --role="roles/iam.serviceAccountKeyAdmin"

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto padre del tuo account di servizio dell'accesso ai componenti

  • ACCOUNT: il tuo account SDK

Creazione della workstation di amministrazione

Inserisci questo comando per creare la tua workstation di amministrazione. Se vuoi che gkeadm crei account di servizio per te, includi il flag --auto-create-service-accounts. Se vuoi creare manualmente i tuoi account di servizio, ometti il flag.

./gkeadm create admin-workstation [--auto-create-service-accounts]

L'output fornisce informazioni dettagliate sulla creazione della workstation di amministrazione:

...
Getting ... service account...
...
********************************************************************
Admin workstation is ready to use.

Admin workstation information saved to /usr/local/google/home/me/my-admin-workstation
This file is required for future upgrades
SSH into the admin workstation with the following command:
ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.5.1
********************************************************************

Ottenere una connessione SSH alla tua workstation di amministrazione

Verso la fine dell'output precedente è presente un comando che puoi usare per ottenere una connessione SSH alla workstation di amministrazione. Inserisci il comando. Ad esempio:

ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.5.1

Elenca i file sulla tua workstation di amministrazione:

ls -1

Nell'output sono visualizzati due file di configurazione del cluster, il file del certificato CA e il file della chiave JSON del tuo account di servizio dell'accesso ai componenti. Se gkeadm ha creato account di servizio per te, puoi anche visualizzare i file delle chiavi JSON di questi account di servizio. Ad esempio:

admin-cluster.yaml
user-cluster.yaml
vcenter-ca-cert.pem
component-access-key.json

Verifica che gkeadm abbia attivato il tuo account di servizio di accesso ai componenti sulla workstation di amministrazione:

gcloud config get-value account

Copia del file della chiave JSON nella workstation di amministrazione

Prima di creare un cluster, i file della chiave JSON dei tuoi account di servizio devono trovarsi nella workstation di amministrazione nella home directory.

La chiave dell'account di servizio per l'accesso ai componenti è già presente nella workstation di amministrazione.

Se hai incluso il flag --auto-create-service-accounts quando hai eseguito gkeadm create admin-workstation, le chiavi per i seguenti account di servizio si trovano già nella workstation di amministrazione nella home directory. In caso contrario, devi copiare manualmente le chiavi nella home directory della workstation di amministrazione:

  • Account di servizio Connect-register
  • Account di servizio monitoraggio del logging

Se hai creato uno dei seguenti account di servizio, devi copiare manualmente le chiavi per questi account di servizio nella home directory della workstation di amministrazione:

  • Account di servizio di misurazione dell'utilizzo
  • Account di servizio di audit logging
  • Account di servizio di Autorizzazione binaria

Ripristino della workstation di amministrazione da un file di backup

Quando esegui l'upgrade di una workstation di amministrazione, per impostazione predefinita il comando di upgrade di gkeadm salva anche un file di backup. Se in seguito non hai più una workstation di amministrazione o se hai perso alcuni file che si trovavano nella workstation di amministrazione di cui hai eseguito l'upgrade, puoi utilizzare questo file di backup per creare una workstation di ripristino che verrà ripristinata immediatamente dopo l'upgrade.

Per creare una workstation di amministrazione da un file di backup, esegui questo comando:

gkeadm create admin-workstation --restore-from-backup ADMIN_WORKSTATION_NAME-backup.tar.gz

Sostituisci ADMIN_WORKSTATION_NAME con il nome della workstation di amministrazione.

Passaggi successivi

Creazione di un cluster di amministrazione