Prerequisiti

Questa pagina descrive i passaggi da completare prima di installare Cluster Anthos on AWS (GKE su AWS).

Ambiente

Per installare i cluster Anthos su AWS, è necessario un ambiente in cui installare ed eseguire una varietà 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 avere un account AWS con accesso dalla riga di comando e due chiavi AWS Key Management Service (KMS) nella stessa area geografica dei tuoi cluster utente.

Per ulteriori informazioni su 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 di AWS. Conferma l'installazione eseguendo aws --version. Se il file eseguibile non viene trovato, aggiungi lo strumento aws al metodo PATH.
  • Configura le credenziali AWS IAM e la regione AWS con aws configure.

Autorizzazioni dell'utente amministratore

I cluster Anthos su AWS richiedono che l'autore di un servizio di gestione disponga di determinate autorizzazioni. Prima di poter creare un servizio di gestione o dei cluster utente, crea o ottieni l'accesso alle credenziali AWS IAM che soddisfano i requisiti.

Creazione di una chiave KMS

I cluster Anthos su AWS richiedono due chiavi AWS KMS. Le chiavi KMS criptano:

  • Dati durante il processo di installazione con la crittografia delle buste.
  • i secret a livello di applicazione nei cluster utente.

Segui i passaggi riportati di seguito per creare due chiavi AWS KMS.

Riga di comando

  1. Crea una chiave KMS nel tuo account AWS.

    aws kms create-key
    

    L'output include i metadati della chiave.

  2. Nell'output del comando precedente, copia il nome risorsa Amazon (ARN) della chiave dal campo Arn. Ad esempio, una chiave nell'area geografica us-west-2 ha l'ARN arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  3. Crea un alias per la chiave con aws kms create-alias. Un alias ti consente di gestire le chiavi AWS KMS per nome.

    aws kms create-alias \
        --alias-name=alias/key-name \
        --target-key-id=key-arn
    
  4. Ripeti i passaggi precedenti per un'altra chiave.

Console

  1. Accedi alla console di AWS.
  2. Accedi a KMS e seleziona Chiavi gestite dal cliente dalla barra laterale.
  3. Fai clic su Crea chiave.
  4. Lascia selezionate le opzioni predefinite.
  5. Dopo averla creata, seleziona la chiave dall'elenco.
  6. Copia l'ARN della chiave.
  7. Ripeti i passaggi precedenti per un'altra chiave.

Requisiti di Google Cloud

Alcuni dei passaggi in questo documento potrebbero non funzionare correttamente se la tua organizzazione applica vincoli al tuo ambiente Google Cloud. In questo caso, potresti non essere in grado di completare attività come la creazione di indirizzi IP pubblici o di chiavi dell'account di servizio. Se effettui una richiesta che restituisce un errore per i vincoli, scopri come sviluppare applicazioni in un ambiente Google Cloud limitato.

Prima di iniziare

  • Assicurati di disporre delle autorizzazioni di Proprietario progetto su un Account Google per abilitare le API sul progetto Google Cloud in cui connetti i tuoi cluster Anthos nell'ambiente AWS. Puoi utilizzare le autorizzazioni del proprietario solo per creare i cluster Anthos sugli account di servizio AWS nella sezione seguente.

  • Installa Google Cloud CLI.

  • L'API Anthos deve essere abilitata per il tuo progetto Google Cloud. Abilitando questa API hai diritto a utilizzare altre funzionalità di Anthos con il tuo progetto Google Cloud.

Crea i tuoi cluster Anthos sugli account di servizio AWS

In questa sezione creerai tre account di servizio e chiavi IAM per i cluster Anthos su AWS. Questi account di servizio sono descritti nel seguente elenco:

Nome Ruoli Descrizione
management-sa gkehub.admin Autorizzazioni per gestire gli abbonamenti Hub
hub-sa gkehub.connect Autorizzazione per la configurazione della connessione tra i cluster utente e l'hub.
node-sa storage.objectViewer Autorizzazione per accedere a Container Registry.

Riga di comando

  1. Autenticazione con Google Cloud CLI.

    gcloud auth login &&\
    gcloud auth application-default login
    

    Ti verrà chiesto di visitare due volte cloud.google.com e autenticarti con il tuo Account Google.

  2. Imposta il progetto Google Cloud 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.

  3. Abilita le API Google Cloud.

    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
    
  4. Crea gli account di servizio con gcloud eseguendo i comandi seguenti.

    gcloud iam service-accounts create management-sa
    gcloud iam service-accounts create hub-sa
    gcloud iam service-accounts create node-sa
    
  5. Scarica le chiavi per ogni account di servizio con gcloud eseguendo questi 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
    
  6. 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
    
  7. Concedi i ruoli all'account di servizio hub.

    gcloud projects add-iam-policy-binding \
        $PROJECT_ID \
        --member serviceAccount:hub-sa@$PROJECT_ID.iam.gserviceaccount.com \
        --role roles/gkehub.connect
    
  8. Concedi i ruoli all'account di servizio nodo.

    gcloud projects add-iam-policy-binding \
          $PROJECT_ID \
          --member serviceAccount:node-sa@$PROJECT_ID.iam.gserviceaccount.com \
          --role roles/storage.objectViewer
    

Console

  1. Apri la pagina della libreria API della console Google Cloud.
  2. Seleziona il progetto che preferisci dal menu a discesa nella parte superiore dello schermo.
  3. Trova e abilita le API seguenti.

    • Anthos
    • Cloud Resource Manager
    • Cloud Storage
    • Cloud Logging
    • API JSON di Google Cloud Storage
    • GKE Hub
    • API GKE Connect
    • Service Usage
    • Stackdriver
    • Stackdriver Monitoring
  4. Apri la pagina Account di servizio.

  5. Quindi, crea un account di servizio e assegna ruoli per l'account di servizio management-sa.

    1. Fai clic su Crea account di servizio.
    2. Assegna un nome alla gestione dell'account e fai clic su Crea. Viene visualizzata la schermata Concedi a questo account di servizio l'accesso al progetto.
    3. Aggiungi i ruoli di amministratore HUB GKE.
    4. Fai clic su Continua. Viene visualizzata la schermata Concedi agli utenti l'accesso a questo account di servizio.
    5. Fai clic su Fine. Viene visualizzata la schermata Account di servizio per il progetto.
    6. Trova la riga contenente l'indirizzo email del tuo account di servizio, management-sa@project_id.iam.gserviceaccount.com.
    7. Fai clic sul menu delle azioni per l'account di servizio e seleziona Gestisci chiavi.
    8. Fai clic sul menu a discesa Aggiungi chiave.
    9. Fai clic su Crea nuova chiave.
    10. Seleziona JSON come tipo di chiave e fai clic su Crea. Il browser scarica la chiave dell'account di servizio.
    11. Rinomina il file management-key.json.
  6. Quindi, crea un account di servizio e assegna ruoli per l'account di servizio hub-sa.

    1. Fai clic su Crea account di servizio.
    2. Assegna un nome all'hub dell'account e fai clic su Crea. Viene visualizzata la schermata Concedi a questo account di servizio l'accesso al progetto.
    3. Aggiungere il ruolo Agente di connessione GKE Hub.
    4. Fai clic su Continua. Viene visualizzata la schermata Concedi agli utenti l'accesso a questo account di servizio.
    5. Fai clic su Fine. Viene visualizzata la schermata Account di servizio per il progetto.
    6. Trova la riga contenente l'indirizzo email del tuo account di servizio, hub-sa@project_id.iam.gserviceaccount.com.
    7. Fai clic sul menu delle azioni per l'account di servizio e seleziona Gestisci chiavi.
    8. Fai clic sul menu a discesa Aggiungi chiave.
    9. Fai clic su Crea nuova chiave.
    10. Seleziona JSON come tipo di chiave e fai clic su Crea. Il browser scarica la chiave dell'account di servizio.
    11. Rinomina il file hub-key.json.
  7. Quindi, crea un account di servizio e assegna ruoli per l'account di servizio node-sa.

    1. Fai clic su Crea account di servizio.
    2. Assegna un nome al nodo account-sa e fai clic su Crea. Viene visualizzata la schermata Concedi a questo account di servizio l'accesso al progetto.
    3. Aggiungi il ruolo Visualizzatore oggetti Storage.
    4. Fai clic su Fine. Viene visualizzata la schermata Account di servizio per il progetto.
    5. Trova la riga contenente l'indirizzo email del tuo account di servizio, node-sa@project_id.iam.gserviceaccount.com.
    6. Fai clic sul menu delle azioni per l'account di servizio e seleziona Gestisci chiavi.
    7. Fai clic sul menu a discesa Aggiungi chiave.
    8. Fai clic su Crea nuova chiave.
    9. Seleziona JSON come tipo di chiave e fai clic su Crea. Il browser scarica la chiave dell'account di servizio.
    10. Rinomina il file node-key.json.

strumento a riga di comando anthos-gke

anthos-gke è uno strumento a riga di comando per i cluster Anthos su AWS. Utilizzi anthos-gke per creare la configurazione e Installare un servizio di gestione. L'ultima versione di anthos-gke è aws-1.14.1-gke.0.

Lo strumento a riga di comando anthos-gke supporta solo Linux e macOS.

  1. Scarica il programma binario da Cloud Storage.

    Linux

    gsutil cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/linux/amd64/anthos-gke .
    

    macOS

    gsutil cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/darwin/amd64/anthos-gke .
    
  2. Aggiorna le autorizzazioni di anthos-gke e copiale in /usr/local/bin.

    chmod 755 anthos-gke
    sudo mv anthos-gke /usr/local/bin
    
  3. 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 progetto Google Cloud
  • USER_NAME: il nome utente che esegue lo strumento a riga di comando anthos-gke. Se utilizzi un account di servizio, utilizza serviceAccount: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.

I cluster Anthos su AWS richiedono una versione di Terraform successiva 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 successive, scarica e installa Terraform prima di creare un servizio di gestione.

Upgrade di Terraform

Per eseguire l'upgrade di Terraform dopo aver installato i cluster Anthos su AWS, devi eseguire l'upgrade del tuo programma binario tramite ogni versione secondaria in ordine.

Ad esempio, se vuoi eseguire l'upgrade di Terraform da v0.12.x a v0.14.x, devi installare temporaneamente la versione 00.13.x. Dopo aver installato la versione 0.13.x, esegui anthos-gke aws management init e anthos-gke aws management apply. Cluster Anthos on AWS aggiorna la tua configurazione. Puoi quindi eseguire l'upgrade alla versione 0.14.x.

Kubernetes

I cluster Anthos su AWS richiedono kubectl 1.17 o versioni successive. Puoi controllare la tua versione di kubectl eseguendo questi passaggi:

kubectl version --client -o yaml | grep gitVersion

Se non hai la versione 1.17 o una versione successiva, installa una versione più recente di kubectl.

Passaggi successivi