Passaggio 7: installazione del runtime di hybrid

Abilita l'accesso per sincronizzare

Per abilitare l'accesso al sincronizzatore:

  1. Crea un account di servizio Google Cloud e aggiungi il ruolo Amministratore organizzazione Apigee che le sono assegnati. Questo account di servizio verrà utilizzato per autenticare una chiamata API che effettuerai in un passaggio successivo. Un modo semplice per creare un account di servizio è utilizzare la console di Google Cloud. Per le istruzioni, vedi Creare e gestire gli account di servizio nella documentazione di Google Cloud.

    Ad esempio, i seguenti comandi gcloud creeranno l'account di servizio e assegnagli l'amministratore dell'organizzazione Apigee:

    1. Crea l'account:
      gcloud iam service-accounts create apigee-org-admin \
          --display-name="apigee-org-admin"

      dove apigee-org-admin è il nome dell'account di servizio che stai creando. "apigee-org-admin" è consigliato per questo tutorial.

    2. Assegna il ruolo Amministratore dell'organizzazione Apigee all'account di servizio:
      gcloud projects add-iam-policy-binding $PROJECT_ID \
          --member="serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com" \
          --role="roles/apigee.admin"

      Dove:

      • $PROJECT_ID è il nome del progetto Google Cloud che hai creato in Passaggio 2: crea un progetto Google Cloud.
      • apigee-org-admin è il nome dell'account di servizio che hai appena creato.
      • roles/apigee.admin è il ruolo Apigee Org Admin.
  2. Scarica la chiave dell'account di servizio sul tuo sistema. Utilizza il seguente comando per eseguire il download nella directory service-accounts/. Per ulteriori informazioni, consulta le istruzioni in Creazione delle chiavi degli account di servizio nella documentazione di Google Cloud.
    1. Assicurati di essere nella directory /hybrid-base-directory/hybrid-files/.
    2. Scarica la chiave:
      gcloud iam service-accounts keys create ./service-accounts/$PROJECT_ID-apigee-org-admin.json \
        --iam-account apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com

      L'output dovrebbe essere simile al seguente:

      created key [a0b1c2d3e4f5a0b1c2d3e4f5a0b1c2d3e4f5a0b1] of type [json] as [./service-accounts/hybrid-
      example-apigee-org-admin.json] for [apigee-org-admin@my-hybrid.iam.gserviceaccount.com]
      $ 
  3. Verifica il percorso della chiave dell'account di servizio Apigee Org Admin con il seguente comando:
    ls service-accounts/*admin*

    Il risultato dovrebbe essere simile al seguente:

    service-accounts/hybrid-example-apigee-org-admin.json
  4. Crea una variabile di ambiente ORG_ADMIN_ACCOUNT con il nome del file della chiave. Ad esempio:
    export ORG_ADMIN_ACCOUNT="hybrid-example-apigee-org-admin.json"
  5. Esegui questi comandi per ricevere un token:
    export GOOGLE_APPLICATION_CREDENTIALS=./service-accounts/$ORG_ADMIN_ACCOUNT
    export TOKEN=$(gcloud auth application-default print-access-token)
  6. Ottieni l'indirizzo email del tuo account di servizio apigee-synchronizer con il seguente comando:
    gcloud iam service-accounts list --filter "apigee-synchronizer"

    Se corrisponde allo schema apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com, puoi utilizzarlo nel passaggio successivo.

  7. Chiama l'API setSyncAuthorization per attivare le autorizzazioni richieste per Synchronizer utilizzando il seguente comando:
    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:setSyncAuthorization" \
       -d '{"identities":["'"serviceAccount:apigee-synchronizer@$ORG_NAME.iam.gserviceaccount.com"'"]}'
    

    Dove:

    • $ORG_NAME: il nome della tua organizzazione ibrida.
    • apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com: l'indirizzo email dell'account servizio apigee-syncnronizer.
  8. Per verificare che l'account di servizio sia stato impostato, utilizza il seguente comando per chiamare l'API e ottenere un elenco di account di servizio:
    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:getSyncAuthorization" \
       -d ''
    

    L'output è simile al seguente:

    {
       "identities":[
          "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"
       ],
       "etag":"BwWJgyS8I4w="
    }

Applica la configurazione al cluster

Per installare Apigee hybrid nel cluster:

  1. Assicurati di essere nella directory hybrid-base-directory/hybrid-files.
  2. Verifica che kubectl sia impostato sul contesto corretto utilizzando il seguente comando. Il contesto attuale deve essere impostato sul cluster in cui stai eseguendo il deployment di Apigee hybrid.
    kubectl config get-contexts
  3. Solo per le piattaforme AWS su GKE, EKS e GKE on prem, verifica che la variabile KUBECONFIG sia impostata utilizzando il seguente comando.
    echo $KUBECONFIG
  4. Esegui un'inizializzazione di prova. Esegui il comando init con Flag --dry-run. Eseguire una prova simulata ti consente di verificare la presenza di eventuali errori prima di apportare modifiche al cluster.

    Nella versione ibrida 1.4.4, la sintassi del parametro --dry-run dipende dalla versione di kubectl in esecuzione. Controlla la versione di kubectl con il seguente comando:

    kubectl version

    kubectl 1.17 e versioni precedenti:

    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=true

    kubectl 1.18 e versioni successive:

    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=client
  5. Se non sono presenti errori, esegui il comando init come segue:
    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml

    Il comando init installa i servizi di deployment Apigee Apigee Deployment Controller e Apigee Admission Webhook.

  6. Per controllare lo stato del deployment, puoi utilizzare i seguenti comandi:
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
    kubectl get pods -n apigee-system
    kubectl get pods -n istio-system

    Quando i pod sono pronti, vai al passaggio successivo.

  7. Esegui un'installazione dry run. Esegui il comando apply con Flag --dry-run.

    kubectl 1.17 e versioni precedenti:

    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true

    kubectl versione 1.18 e successive:

    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=client
  8. Se non ci sono errori, puoi applicare i componenti di runtime specifici di Apigee al cluster con il seguente comando:
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
  9. Per controllare lo stato del deployment, esegui il comando seguente:
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml

    Ripeti questo passaggio finché tutti i pod non sono pronti. L'avvio dei pod potrebbe richiedere diversi minuti.