Passaggio 4: installa un ambiente ibrido su GKE

Applica la configurazione al cluster

Per installare Apigee hybrid nel tuo cluster:

  1. Assicurati di essere nella directory hybrid-base-directory/hybrid-files.
  2. Verifica che kubectl sia impostato sul contesto corretto. Il contesto attuale deve essere impostato sul cluster in cui stai eseguendo il deployment:
    kubectl config get-contexts
  3. Esegui il comando init:
    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml

    Il comando init installa i servizi di deployment Apigee il controller di deployment Apigee e Apigee Admission Webhook, e esegue il deployment di componenti non Apigee Istio e Cert Manager.

  4. Per controllare lo stato del deployment, puoi utilizzare questi comandi:
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml

    and

    kubectl get pods -n apigee-system

    and

    kubectl get pods -n istio-system

    Quando i pod sono pronti, vai al passaggio successivo.

  5. Esegui un'installazione di prova. Esegui il comando apply con il flag --dry-run=true. Una prova consente di verificare la presenza di eventuali errori prima di apportare modifiche al cluster.
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
  6. Se non sono presenti errori, puoi applicare i componenti di runtime specifici di Apigee al cluster:
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
  7. Per controllare lo stato del deployment:
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml

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

Abilita accesso sincronizzatore

  1. Crea un account di servizio Google Cloud e aggiungi il ruolo Amministratore organizzazione Apigee. Questo account di servizio verrà utilizzato per autenticare una chiamata API che effettuerai in un passaggio successivo. Un modo semplice per creare l'account di servizio è utilizzare la console Google Cloud. Per le istruzioni, consulta la sezione Creazione e gestione degli account di servizio nella documentazione di Google Cloud.
  2. Scarica la chiave dell'account di servizio sul tuo sistema. Segui le istruzioni riportate in Creazione di chiavi per gli account di servizio nella documentazione di Google Cloud.
  3. Sposta la chiave dell'account di servizio scaricata nella directory degli account di servizio: /hybrid-base-directory/hybrid-files/service-accounts.
  4. Esegui questi due comandi per ricevere un token:
    export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
    export TOKEN=$(gcloud auth application-default print-access-token)

    Dove org-admin-service-account-file è il percorso nel tuo sistema verso la chiave dell'account di servizio che hai scaricato con il ruolo Amministratore organizzazione Apigee.

  5. Chiama l'API setSyncAuthorization per abilitare le autorizzazioni richieste per il programma di sincronizzazione:
    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/your_org_name:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:synchronizer-manager-service-account-email"]}'
    

    Dove:

    • your_org_name: il nome della tua organizzazione ibrida.
    • synchronizer-manager-service-account-email: il nome di un account di servizio con il ruolo gestore di sincronizzazione Apigee. Il nome ha la forma di un indirizzo email. Ad esempio: apigee-synchronizer@my-project.iam.gserviceaccount.com

    Esempio:

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:apigee-synchronizer@my-project.iam.gserviceaccount.com"]}'
    
  6. Per verificare che l'account di servizio sia stato impostato, chiama la seguente API per 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/your_org_name:getSyncAuthorization" \
       -d ''
    

    L'output è simile al seguente:

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

Aggiungere l'alias host MART alla tua organizzazione

Devi aggiungere l'alias host dell'endpoint MART alla tua organizzazione Apigee. Imposta questo valore in precedenza quando imposti il valore della proprietà mart.hostAlias nel file di override. Il piano di gestione ha bisogno di questo indirizzo per comunicare con il piano di runtime su MART.

Per aggiungere l'alias host MART alla tua organizzazione:

  1. Ottieni il valore impostato in precedenza nel file di override per la proprietà mart.hostAlias. Affinché MART funzioni, l'alias host deve essere un nome di dominio completo.
  2. Individua la chiave dell'account di servizio con il ruolo Amministratore organizzazione Apigee che hai scaricato in precedenza, nella sezione Abilita l'accesso del sincronizzazione.
  3. Esegui questi due comandi per ricevere un token:
    export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
    export TOKEN=$(gcloud auth application-default print-access-token)

    Dove org-admin-service-account-file è il percorso nel tuo sistema verso la chiave dell'account di servizio che hai scaricato con il ruolo Amministratore organizzazione Apigee.

  4. Chiama la seguente API di gestione per aggiornare la tua organizzazione con l'endpoint MART:
    curl -v -X PUT \
       https://apigee.googleapis.com/v1/organizations/your_org_name \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $TOKEN" \
      -d '{
      "name" : "your_org_name",
      "properties" : {
        "property" : [ {
          "name" : "features.hybrid.enabled",
          "value" : "true"
        }, {
          "name" : "features.mart.server.endpoint",
          "value" : "https://HOST_ALIAS_DNS"
        } ]
      }
    }'

    Ecco un esempio. Assicurati di aggiungere il prefisso "https://" all'alias host.

    curl -v -X PUT \
       https://apigee.googleapis.com/v1/organizations/my_organization \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $TOKEN" \
      -d '{
      "name" : "my_organization",
      "properties" : {
        "property" : [ {
          "name" : "features.hybrid.enabled",
          "value" : "true"
        }, {
          "name" : "features.mart.server.endpoint",
          "value" : "https://foo-mart.example.com"
        } ]
      }
    }'

Salva il file di override

Assicurati di salvare il file di override. Questo file sarà necessario per eseguire upgrade, patch o altre modifiche future alla configurazione del cluster.