Questa pagina descrive i passaggi da completare prima di installare GKE su AWS.
Ambiente
Per installare GKE su AWS, devi disporre di un ambiente in cui puoi installare e eseguire una serie di strumenti. I passaggi seguenti presuppongono che tu stia utilizzando una shell bash su Linux o macOS. Se non hai accesso a un ambiente shell bash, puoi utilizzare Cloud Shell.
Requisiti AWS
Per completare questo argomento, devi disporre di un account AWS con accesso a riga di comando e di due chiavi AWS Key Management Service (KMS) nella stessa regione dei cluster di utenti.
Per ulteriori informazioni sulle altre risorse AWS richieste, consulta Requisiti.
Configurazione di AWS
Prima di iniziare
Prima di completare questa sezione:
- Scarica e installa l'interfaccia a riga di comando AWS.
Conferma l'installazione eseguendo
aws --version
. Se l'eseguibile non viene trovato, aggiungi lo strumentoaws
aPATH
. - Configura le credenziali AWS IAM e la regione AWS con
aws configure
.
Autorizzazioni utente amministratore
GKE su AWS richiede che il creator di un servizio di gestione disponga di determinate autorizzazioni. Prima di poter creare un servizio di gestione o cluster di utenti, crea o accedi alle credenziali IAM di AWS che soddisfano i Requisiti.
Creazione di una chiave KMS
GKE su AWS richiede due chiavi KMS AWS. Le chiavi KMS criptano:
- Dati durante la procedura di installazione con crittografia dell'involucro.
- Secret a livello di applicazione nei cluster utente.
Segui i passaggi riportati di seguito per creare due chiavi KMS AWS.
Riga di comando
Crea una chiave KMS nel tuo account AWS.
aws kms create-key
L'output include i metadati della chiave.
Nell'output del comando precedente, copia il nome della risorsa Amazon (ARN) della chiave dal campo
Arn
. Ad esempio, una chiave nella regioneus-west-2
ha l'ARNarn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
.Crea un alias per la chiave con
aws kms create-alias
. Un alias consente di gestire le chiavi AWS KMS per nome.aws kms create-alias \ --alias-name=alias/key-name \ --target-key-id=key-arn
Ripeti i passaggi precedenti per un'altra chiave.
Console
- Accedi alla console AWS.
- Vai a KMS e seleziona Chiavi gestite dal cliente dalla barra laterale.
- Fai clic su Crea chiave.
- Lascia selezionate le opzioni predefinite.
- Una volta creata, seleziona la chiave dall'elenco.
- Copia l'ARN della chiave.
- Ripeti i passaggi precedenti per un'altra chiave.
Requisiti diGoogle Cloud
I vincoli di sicurezza definiti dalla tua organizzazione potrebbero impedirti di completare i passaggi seguenti. Per informazioni sulla risoluzione dei problemi, vedi Sviluppare applicazioni in un ambiente Google Cloud vincolato.
Prima di iniziare
Assicurati di disporre delle autorizzazioni di Proprietario progetto su un Account Google per attivare le API nel Google Cloud progetto in cui colleghi il tuo ambiente GKE su AWS. Utilizza le autorizzazioni di proprietario solo per creare gli account di servizio GKE su AWS nella sezione seguente.
Installa Google Cloud CLI.
L'API GKE Enterprise deve essere abilitata per il tuo Google Cloud progetto. L'abilitazione di questa API ti consente di utilizzare altre funzionalità di GKE Enterprise con il tuo Google Cloud progetto.
Crea gli account di servizio GKE su AWS
In questa sezione crei tre account di servizio IAM e tre chiavi per GKE su AWS. Questi account di servizio sono descritti nel seguente elenco:
Nome | Ruoli | Descrizione |
---|---|---|
management-sa
|
gkehub.admin | Autorizzazioni per gestire gli abbonamenti all'hub |
hub-sa
|
gkehub.connect | Autorizzazione per configurare la funzionalità Collega tra i cluster di utenti e l'hub. |
node-sa
|
storage.objectViewer | Autorizzazione per accedere a Container Registry. |
Riga di comando
Esegui l'autenticazione con Google Cloud CLI.
gcloud auth login &&\ gcloud auth application-default login
Ti viene chiesto due volte di visitare
cloud.google.com
e di autenticarti con il tuo Account Google.Imposta il tuo Google Cloud progetto come variabile di ambiente e imposta il valore predefinito project-id con gcloud CLI.
export PROJECT_ID=project-id gcloud config set project $PROJECT_ID
Sostituisci il valore di project-id con il tuo progetto Google Cloud .
Abilita le Google Cloud API.
gcloud services enable anthos.googleapis.com gcloud services enable cloudresourcemanager.googleapis.com gcloud services enable gkehub.googleapis.com gcloud services enable gkeconnect.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable monitoring.googleapis.com gcloud services enable serviceusage.googleapis.com gcloud services enable stackdriver.googleapis.com gcloud services enable storage-api.googleapis.com gcloud services enable storage-component.googleapis.com
Crea gli account di servizio con
gcloud
eseguendo i seguenti comandi.gcloud iam service-accounts create management-sa gcloud iam service-accounts create hub-sa gcloud iam service-accounts create node-sa
Scarica le chiavi per ogni account di servizio con
gcloud
eseguendo i seguenti comandi.gcloud iam service-accounts keys create management-key.json \ --iam-account management-sa@$PROJECT_ID.iam.gserviceaccount.com gcloud iam service-accounts keys create hub-key.json \ --iam-account hub-sa@$PROJECT_ID.iam.gserviceaccount.com gcloud iam service-accounts keys create node-key.json \ --iam-account node-sa@$PROJECT_ID.iam.gserviceaccount.com
Concedi i ruoli all'account di servizio di gestione.
gcloud projects add-iam-policy-binding \ $PROJECT_ID \ --member serviceAccount:management-sa@$PROJECT_ID.iam.gserviceaccount.com \ --role roles/gkehub.admin
Concedi i ruoli all'account di servizio dell'hub.
gcloud projects add-iam-policy-binding \ $PROJECT_ID \ --member serviceAccount:hub-sa@$PROJECT_ID.iam.gserviceaccount.com \ --role roles/gkehub.connect
Concedi i ruoli all'account di servizio del nodo.
gcloud projects add-iam-policy-binding \ $PROJECT_ID \ --member serviceAccount:node-sa@$PROJECT_ID.iam.gserviceaccount.com \ --role roles/storage.objectViewer
Console
- Apri la Google Cloud pagina Libreria API della console.
- Seleziona il progetto che preferisci dal menu a discesa nella parte superiore dello schermo.
Trova e abilita le seguenti API.
- Anthos
- Cloud Resource Manager
- Cloud Storage
- Cloud Logging
- API JSON di Google Cloud Storage
- GKE Hub
- API GKE Connect
- Utilizzo dei servizi
- Stackdriver
- Stackdriver Monitoring
Apri la pagina Account di servizio.
Successivamente, crea un account di servizio e assegna i ruoli per l'account di servizio
management-sa
.- Fai clic su Crea account di servizio.
- Assegna un nome all'account management-sa e fai clic su Crea. Viene visualizzata la schermata Concedi a questo account di servizio l'accesso al progetto.
- Aggiungi i ruoli Amministratore GKE Hub.
- Fai clic su Continua. Viene visualizzata la schermata Concedi agli utenti l'accesso a questo account di servizio.
- Fai clic su Fine. Viene visualizzata la schermata Account di servizio per il progetto.
- Individua la riga contenente l'indirizzo email del tuo account di servizio,
management-sa@project_id.iam.gserviceaccount.com
. - Fai clic sul menu di azioni more_vert per l'account di servizio e seleziona Gestisci chiavi.
- Fai clic sul menu a discesa Aggiungi chiave.
- Fai clic su Crea nuova chiave.
- Seleziona JSON come tipo di chiave e fai clic su Crea. Il browser scarica la chiave dell'account di servizio.
- Rinomina il file
management-key.json
.
Successivamente, crea un account di servizio e assegna i ruoli per l'account di servizio
hub-sa
.- Fai clic su Crea account di servizio.
- Assegna un nome all'account hub-sa e fai clic su Crea. Viene visualizzata la schermata Concedi a questo account di servizio l'accesso al progetto.
- Aggiungi il ruolo Agente di connessione GKE Hub.
- Fai clic su Continua. Viene visualizzata la schermata Concedi agli utenti l'accesso a questo account di servizio.
- Fai clic su Fine. Viene visualizzata la schermata Account di servizio per il progetto.
- Individua la riga contenente l'indirizzo email del tuo account di servizio,
hub-sa@project_id.iam.gserviceaccount.com
. - Fai clic sul menu di azioni more_vert per l'account di servizio e seleziona Gestisci chiavi.
- Fai clic sul menu a discesa Aggiungi chiave.
- Fai clic su Crea nuova chiave.
- Seleziona JSON come tipo di chiave e fai clic su Crea. Il browser scarica la chiave dell'account di servizio.
- Rinomina il file
hub-key.json
.
Successivamente, crea un account di servizio e assegna i ruoli per l'account di servizio
node-sa
.- Fai clic su Crea account di servizio.
- Assegna un nome all'account node-sa e fai clic su Crea. Viene visualizzata la schermata Concedi a questo account di servizio l'accesso al progetto.
- Aggiungi il ruolo Visualizzatore oggetti Storage.
- Fai clic su Fine. Viene visualizzata la schermata Account di servizio per il progetto.
- Individua la riga contenente l'indirizzo email del tuo account di servizio,
node-sa@project_id.iam.gserviceaccount.com
. - Fai clic sul menu di azioni more_vert per l'account di servizio e seleziona Gestisci chiavi.
- Fai clic sul menu a discesa Aggiungi chiave.
- Fai clic su Crea nuova chiave.
- Seleziona JSON come tipo di chiave e fai clic su Crea. Il browser scarica la chiave dell'account di servizio.
- Rinomina il file
node-key.json
.
Strumento a riga di comando anthos-gke
anthos-gke
è uno strumento a riga di comando per GKE su AWS. Puoi utilizzare
anthos-gke
per creare la configurazione e
installare un servizio di gestione. La versione più recente di
anthos-gke
è aws-1.14.1-gke.0.
Lo strumento a riga di comando anthos-gke
supporta solo Linux e macOS.
Scarica il file binario da Cloud Storage.
Linux
gcloud storage cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/linux/amd64/anthos-gke .
macOS
gcloud storage cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/darwin/amd64/anthos-gke .
Aggiorna le autorizzazioni di
anthos-gke
e copiale in/usr/local/bin
.chmod 755 anthos-gke sudo mv anthos-gke /usr/local/bin
Verifica che la versione sia
aws-1.14.1-gke.0
anthos-gke version
Autorizzazioni per lo strumento a riga di comando anthos-gke
Per utilizzare lo strumento a riga di comando anthos-gke
, l'utente che esegue il comando deve avere i ruoli ServiceUsageViewer e StorageAdmin. Per aggiungere i ruoli all'entità IAM, esegui questi comandi:
gcloud projects add-iam-policy-binding PROJECT_NAME \
--member user:USER_NAME \
--role roles/serviceusage.serviceUsageViewer
gcloud projects add-iam-policy-binding PROJECT_NAME \
--member user:USER_NAME \
--role roles/storage.admin
Sostituisci quanto segue:
PROJECT_NAME
: il tuo Google Cloud projectUSER_NAME
: il nome utente che esegue lo strumento a riga di comandoanthos-gke
. Se utilizzi un account di servizio, utilizzaserviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
Terraform
Lo strumento anthos-gke
genera file di configurazione Terraform e chiama lo strumento a riga di comando terraform
.
GKE su AWS richiede una versione di Terraform superiore alla v0.14.3. Puoi controllare la tua versione di Terraform con il seguente comando:
terraform version
Se non hai la versione 0.14.3 o successiva, scarica e installa Terraform prima di creare un servizio di gestione.
Upgrade di Terraform
Per eseguire l'upgrade di Terraform dopo aver installato GKE su AWS, devi eseguire l'upgrade del codice binario di Terraform passando in sequenza ogni versione secondaria.
Ad esempio, se vuoi eseguire l'upgrade di Terraform dalla versione 0.12.x alla versione 0.14.x, devi installare temporaneamente la versione 0.13.x. Dopo aver installato una versione 0.13.x, esegui anthos-gke aws
management init
e anthos-gke aws management apply
. GKE su AWS
aggiorna la configurazione. Puoi quindi eseguire l'upgrade alla versione 0.14.x.
Kubernetes
GKE su AWS richiede kubectl
1.17 o versioni successive. Per controllare la versione di kubectl
, esegui:
kubectl version --client -o yaml | grep gitVersion
Se non hai la versione 1.17 o successive,
installa una versione più recente di kubectl
.
Passaggi successivi
- Installa un servizio di gestione in una VPC dedicata con un bastion host.
- Integrazione dell'infrastruttura esistente in una VPC esistente.