Questo documento mostra come creare una workstation di amministrazione, Google Distributed Cloud. La workstation di amministrazione ospita strumenti di interfaccia a riga di comando (CLI) e file di configurazione per eseguire il provisioning dei cluster durante l'installazione, nonché strumenti di interfaccia a riga di comando per interagire con i cluster di cui è stato eseguito il provisioning dopo l'installazione.
Questa pagina si rivolge agli amministratori, agli architetti e agli operatori che configurano, monitorare e gestire l'infrastruttura tecnica. Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti di Google Cloud, consulta Ruoli e attività utente comuni di GKE Enterprise.
Le istruzioni sono complete. Per una breve introduzione alla creazione sulla workstation di amministrazione, vedi Creare un amministratore postazione di lavoro nella guida Creazione di cluster di base.
Esistono due modi per creare una workstation di amministrazione:
- Utilizza
gkeadm
per creare una VM della workstation di amministrazione nel tuo ambiente vSphere. Crea una workstation di amministrazione gestita dall'utente su qualsiasi computer a tua scelta.
gkeadm
Prima di iniziare
Impara a conoscere l'indirizzo del tuo server vCenter.
Impara a conoscere il percorso del tuo certificato CA.
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 scegliere
consentendo a gkeadm
di creare per te alcuni account di servizio e chiavi. In questo
caso, gkeadm
concede inoltre i ruoli Identity and Access Management appropriati al servizio
.
In alternativa, puoi creare gli account di servizio e le chiavi manualmente. In questo caso, devi concedere manualmente i ruoli IAM al tuo servizio .
La creazione manuale di account di servizio offre più flessibilità rispetto alla creazione manuale
gkeadm
li creerà per te:
Gli account di servizio creati automaticamente hanno tutti lo stesso elemento padre progetto Google Cloud come account di servizio di accesso ai componenti. Quando crei un account di servizio manualmente, puoi scegliere l'account principale progetto Google Cloud.
Agli account di servizio creati automaticamente sono concessi i ruoli IAM ruoli sul progetto Google Cloud padre del servizio di accesso ai componenti . Non c'è problema se questo è l'unico progetto Google Cloud associato con i tuoi cluster. Ma se vuoi associare i tuoi cluster più progetti Google Cloud, devi avere la flessibilità necessaria per concedere ruoli a un account di servizio progetto Google Cloud a tua scelta.
Se decidi di creare i tuoi account di servizio, segui le istruzioni in Account di servizio e chiavi.
Indipendentemente dal fatto che tu abbia scelto di gkeadm
creare automaticamente gli account di servizio per te, c'è un account di servizio che devi creare manualmente: l'account di servizio di accesso ai componenti. Per istruzioni su come creare
l'account di servizio di accesso ai componenti e assegnargli l'appropriata
per i ruoli IAM, consulta
Account di servizio di accesso ai componenti.
Potrebbe essere necessario creare un altro account di servizio manualmente: tuo account di servizio per gli audit log. Se vuoi utilizzare un API GKE On-Prem per gestire i cluster utente, devi abilitare log di controllo nel tuo cluster di amministrazione.
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 corso...
In credential.yaml
, inserisci il tuo nome utente e la tua password vCenter. Ad esempio:
kind: CredentialFile items: - name: vCenter username: "my-account-name" password: "AadmpqGPqq!a"
Compilazione di admin-ws-config.yaml
in corso...
Diversi campi in admin-ws-config.yaml
sono già compilati con valori predefiniti
o valori generati. Puoi mantenere i valori compilati o apportare modifiche man mano che
che preferisci.
Campi che devi 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 vuoi creare la tua workstation di amministrazione all'interno di una cartella di una VM vSphere, compila il campo vCenter.folder
:
vCenter: folder: "Fill in"
Se la workstation di amministrazione è dietro un server proxy, compila
Campo proxyURL
:
adminWorkstation: proxyURL: "Fill in"
Se vuoi che la tua 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
a "static"
e compila il
hostconfig
:
sezione:
adminWorkstation: network: ipAllocationMode: "static" hostconfig: ip: "Fill in" gateway: "Fill in" netmask: "Fill in" dns: - "Fill in"
Accesso in corso...
- Accedi con qualsiasi Account Google. In questo modo viene impostata la proprietà
account
dell'SDK:
gcloud auth login
- Verifica che la proprietà SDK
account
sia impostata correttamente:
gcloud config list
- L'Account Google impostato come proprietà dell'SDK
account
è chiamato account SDK. Lo strumento a riga di comandogkeadm
utilizza il tuo SDK per scaricare l'OVA della workstation di amministrazione e abilitare i servizi nel tuo progetto Google Cloud.
Se scegli di lasciare che gkeadm
crei automaticamente gli account di servizio per te,
gkeadm
usa il tuo account SDK anche per creare chiavi e account di servizio,
e concedere ruoli agli account di servizio.
Pertanto, è importante impostare la proprietà SDK account
prima di eseguirla
gkeadm
per creare una workstation di amministrazione.
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 ruoli al tuo account SDK
Il tuo account SDK deve avere quanto segue
Ruolo IAM
nel progetto Google Cloud padre del tuo account di servizio di accesso ai componenti.
In questo modo gkeadm
può abilitare i servizi nel progetto Google Cloud.
serviceUsage.serviceUsageAdmin
Se scegli di lasciare che gkeadm
crei automaticamente gli account di servizio per te,
il tuo account SDK deve avere anche i seguenti ruoli nell'account
del tuo account di servizio per l'accesso ai componenti. In questo modo gkeadm
può
creare account di servizio e chiavi.
resourcemanager.projectIamAdmin
iam.serviceAccountCreator
iam.serviceAccountKeyAdmin
Per concedere ruoli in un progetto Google Cloud, devi disporre di determinate autorizzazioni nella progetto Google Cloud. Per maggiori dettagli, consulta Concessione, modifica e revoca dell'accesso alle risorse.
Se disponi delle autorizzazioni necessarie, puoi concedere i ruoli autonomamente. In caso contrario, qualcun altro nella tua 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 dell'elemento principale Progetto Google Cloud dell'account di servizio di accesso ai componentiACCOUNT
: il tuo account SDK
Per concedere ruoli aggiuntivi se 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 principale del tuo account di servizio di accesso ai componentiACCOUNT
: il tuo account SDK
Creazione della workstation di amministrazione
Inserisci questo comando per creare la tua workstation di amministrazione. Se vuoi
gkeadm
per creare
collega-registra
e
logging-monitoring
gli account di servizio per te, includi
Flag --auto-create-service-accounts
. Se vuoi creare questi servizi
manualmente gli account di servizio, ometti il flag.
./gkeadm create admin-workstation [--auto-create-service-accounts]
L'output fornisce informazioni dettagliate sulla creazione dell'amministratore workstation:
... 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 workstation di amministrazione
Verso la fine dell'output precedente c'è un comando che puoi utilizzare per ottenere Connessione SSH alla workstation di amministrazione. Inserisci il comando ora. Ad esempio:
ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.5.1
Elenca i file sulla workstation di amministrazione:
ls -1
Nell'output puoi vedere due file di configurazione del cluster, il file del certificato CA e il file della chiave JSON per l'account del servizio di accesso ai componenti. Se gkeadm
ha creato degli account di servizio per te, puoi anche
i file delle chiavi JSON per 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 l'account del servizio di accesso ai componenti sulla tua workstation di amministrazione:
gcloud config get-value account
Copia dei file delle chiavi JSON sulla workstation di amministrazione in corso...
Prima di creare un cluster, i file delle chiavi JSON per gli account di servizio devono essere nella home directory della workstation di amministrazione.
La chiave del tuo account di servizio di accesso ai componenti è già nel tuo amministratore la workstation.
Se hai incluso il flag --auto-create-service-accounts
durante la corsa
gkeadm create admin-workstation
, quindi le chiavi del servizio seguente
si trovano già sulla workstation di amministrazione nella home directory. Altrimenti
devi copiare manualmente le chiavi nella home directory della workstation di amministrazione:
- Connetti e registra l'account di servizio
- Account di servizio di monitoraggio e logging
Se hai creato uno dei seguenti account di servizio, devi copiare manualmente il 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, gkeadm upgrade
salva il file di backup. In seguito, se non avrai più un amministratore
workstation o se hai perso alcuni dei file presenti
workstation di amministrazione, puoi utilizzare questo file di backup per creare una workstation di amministrazione
ripristinare quello che era attivo subito 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.
Gestita dall'utente
Scegli un computer da utilizzare come workstation di amministrazione. Puoi utilizzare uno dei seguenti metodi: Ubuntu o Red Hat Enterprise Linux (RHEL). Ecco i requisiti:
Ubuntu 20.04 LTS o 22.04 LTS
- 4 core CPU
- 8 GiB di RAM
- 100 GiB di spazio di archiviazione
RHEL 8.6, 8.7 o 8.8
- 4 core CPU
- 12 GB di RAM
- 256 GiB di spazio di archiviazione
Accesso a Google Cloud
La tua workstation di amministrazione deve avere accesso a Google Cloud per scaricare e installare strumenti, elaborare le richieste di autorizzazione, creare account di servizio e altro ancora.
Per informazioni sui diversi modi per connettersi a Google Cloud, vedi Connettiti a Google.
L'accesso a Google Cloud può essere diretto o tramite un server proxy. Per informazioni sulle regole firewall e sulla configurazione di un server proxy, consulta Regole proxy e firewall.
Accesso al server vCenter
Per creare e gestire i cluster dalla workstation di amministrazione, devi accedere a l'istanza di vCenter Server. Per informazioni, vedi:
- Requisiti di vSphere
- Determina l'indirizzo del server vCenter
- Ottenere il certificato radice CA vCenter
Configura un server NTP
Quando il cluster è configurato per utilizzare un server NTP, devi impostare un
di sincronizzazione dell'ora sulla workstation di amministrazione per garantire che timedatectl
segnala l'ora sincronizzata con il cluster. Questa operazione è necessaria per evitare
problemi di deviazione dell'orologio, che potrebbero causare errori di verifica del certificato dovuti
a date di scadenza senza corrispondenza.
Ubuntu
Ti consigliamo di utilizzare il server di riferimento orario chrony
.
Per installare chrony
:
sudo apt-get update sudo apt install chrony
Vengono forniti due file binari:
chronyd
: il daemon da sincronizzare e pubblicare tramite il Network Time Protocolchronyc
: l'interfaccia a riga di comando per il daemonchrony
.
Per configurare chronyd
:
Modifica /etc/chrony/chrony.conf
per aggiungere o rimuovere righe di server. Quindi riavvia
chrony
:
sudo systemctl restart chrony.service
RHEL
Ti consigliamo di utilizzare il server orario chrony
.
Per istruzioni sull'installazione, vedi Come configurare la cronologia.
Sudo senza password
Se il criterio di sicurezza lo consente, abilita sudo senza password per
dell'utente corrente. In questo modo gkectl
può preparare un registro privato, se presente
fornito, configura il proxy per Docker se la rete è protetta da un server proxy e
forza l'eliminazione del cluster di bootstrap utilizzato per il ciclo di vita del cluster di amministrazione
se l'eliminazione non va a buon fine.
Se scegli di non abilitare sudo senza password e intendi utilizzare un registro privato per il cluster di amministrazione, quindi esegui la configurazione manuale seguente prima di crea il cluster di amministrazione:
Posiziona Certificato principale CA per il registro privato in questa directory:
/etc/docker/certs.d/REGISTRY_ADDRESS/
Sostituisci REGISTRY_ADDRESS con indirizzo della macchina che esegue il registro privato.
Per ulteriori informazioni, vedi Verifica il client del repository con certificati.
Se la rete è protetta da un server proxy, specifica la server proxy nel file di configurazione del cluster di amministrazione configurare Docker per l'utilizzo del server proxy.
Se scegli di non attivare sudo senza password, potresti dover eliminare manualmente il cluster kind
dopo aver creato un cluster di amministrazione. Per maggiori informazioni
le informazioni, vedi
Il cluster di tipo non viene eliminato
nella documentazione sulla risoluzione dei problemi.
Installa software
Ubuntu
Installa il software seguente:
Docker 19.03 o versioni successive: vedi le informazioni Installa Docker Engine su Ubuntu. Assicurati che l'utente non root sia un membro del gruppo Docker. Consulta Gestire Docker come utente non root.
Versione più recente di Google Cloud CLI: consulta Installare gcloud CLI.
kubectl: esegui
gcloud components install kubectl
oppure usaapt-get
:
sudo apt-get update sudo apt-get -y install kubectl
RHEL
Installa il software seguente:
Docker 19.03 o versioni successive
Rimuovi qualsiasi versione precedente di Docker:
sudo dnf remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
Rimuovi podman-manpages:
sudo dnf remove podman-manpages
Installa Docker 19.03 o versioni successive:
sudo dnf install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install -y --allowerasing docker-ce docker-ce-cli containerd.io sudo systemctl start docker
Verifica di eseguire la versione 19.03 o successive:
sudo docker version
Confronta l'output con l'esempio seguente per assicurarti che client e Le versioni server sono 19.03+:
Client: Docker Engine - Community Version: 19.03.13 ... Server: Docker Engine - Community Engine: Version: 19.03.13
Verifica le esecuzioni di Docker:
docker run hello-world
Il risultato dovrebbe essere simile a questo:
Hello from Docker!
This message shows that your installation appears to be working correctly.
Versione più recente di Google Cloud CLI:
Vedi Installare gcloud CLI.
kubectl
Esegui gcloud components install kubectl
.
Accedi
L'Account Google impostato come tuo
Proprietà account
dell'SDK
è chiamato account SDK. Lo strumento a riga di comando gkectl
utilizza il tuo SDK
per scaricare gli OVA dei nodi cluster, eseguire il pull delle immagini container e altro ancora. Pertanto, è importante impostare la proprietà dell'account SDK prima di eseguire i comandi gkectl
.
Accedi con qualsiasi Account Google. In questo modo viene impostata la proprietà account
dell'SDK:
gcloud auth login
Verifica che la proprietà 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]
Scarica gkectl e il bundle
Vai a una directory in cui vuoi installare gkectl
.
Scarica gkectl
:
gcloud storage cp gs://gke-on-prem-release/gkectl/VERSION/gkectl ./ chmod +x gkectl
Sostituisci VERSION con la versione di Google Distributed Cloud. Ad
esempio: 1.16.0-gke.1
.
Scarica il pacchetto Google Distributed Cloud. Assicurati che la versione corrisponda
uno usato per scaricare gkectl
:
gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/VERSION/gke-onprem-vsphere-VERSION.tgz ./
Account di servizio e chiavi
Assicurati di aver creato i seguenti account di servizio obbligatori e il codice JSON file chiave:
Assicurati inoltre di aver creato eventuali account di servizio facoltativi e file JSON i file chiave che ti servono:
Inserisci tutti i file delle chiavi JSON nella home directory dell'amministratore la workstation.
Risoluzione dei problemi
La sezione seguente riattiva l'accesso SSH alla workstation di amministrazione nel alla perdita o al danneggiamento della chiave SSH.
Recupero della chiave SSH
Utilizza una VM temporanea per eseguire i seguenti passaggi:
Per generare un nuovo set di chiavi SSH, segui le istruzioni riportate in Creare SSH chiave nel documentazione di Compute Engine.
Assicurati che la VM temporanea e la workstation di amministrazione siano in stato
Powered Off
.All'interno di vSphere, collega il disco di avvio della workstation di amministrazione alla una VM temporanea.
Il disco di avvio ha l'etichetta
Hard disk 1
.Monta il disco di avvio all'interno della VM eseguendo questi comandi:
sudo mkdir -p /mnt/boot-disk sudo mount DISK_ID /mnt/boot-disk
Sostituisci
DISK_ID
con l'identificatore del disco di avvio, che deve avere un formato simile adev/sdc1
.Modifica il file
authorized_keys
sul disco di avvio per aggiungere i contenuti del il file della chiave pubblica generato nel primo passaggio:vi /mnt/boot-disk/.ssh/authorized_keys
Arresta la VM temporanea.
Accendi la workstation di amministrazione.
Utilizza la chiave privata appena generata per accedere alla workstation di amministrazione.
ssh -i ~/.ssh/new-admin-ws.key ubuntu@"${ADMIN_WS_IP}"
Utilizza la chiave privata appena generata per continuare ad accedere all'amministratore la workstation.
Passaggi successivi
Crea un cluster di amministrazione