Passaggio 4: installa il modello ibrido su GKE

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. Il contesto corrente deve essere impostato sul cluster a 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 lo Servizi di deployment Apigee Apigee Deployment Controller e Apigee Admission Webhook, che esegue il deployment componenti Istio e Responsabile della certificazione.

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

    e

    kubectl get pods -n apigee-system

    e

    kubectl get pods -n istio-system

    Quando i pod sono pronti, vai al passaggio successivo.

  5. Fai una prova installare l'app. Esegui il comando apply con il flag --dry-run=true. Eseguire un'esercitazione simulata ti consente di verificare la presenza di errori prima che vengano apportate modifiche al cluster.
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
  6. Se non ci sono errori, puoi applicare le opzioni specifiche componenti runtime 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 l'accesso per sincronizzare

  1. Crea un account di servizio Google Cloud e aggiungi il ruolo Amministratore dell'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 è tramite la console Google Cloud. Per istruzioni, vedi Creazione e gestione degli account di servizio nella documentazione di Google Cloud.
  2. Scarica la chiave dell'account di servizio nel sistema. Segui le istruzioni in Creazione delle chiavi degli 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 ottenere 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 sul sistema della chiave dell'account di servizio che hai scaricato con il ruolo Amministratore dell'organizzazione Apigee.

  5. Chiama l'API setSyncAuthorization per attivare le autorizzazioni richieste per il sincronizzatore:
    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 Apigee Sincronizzar Manager. Il nome è formato come 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="
    }
        

Aggiungi l'alias host MART alla tua organizzazione

Devi aggiungere l'alias host dell'endpoint MART alla tua organizzazione Apigee. Hai impostato questo valore in precedenza, quando viene impostato il valore della proprietà mart.hostAlias nelle sostituzioni . Il piano di gestione ha bisogno di questo indirizzo per poter comunicare con il runtime in aereo sopra la MART.

Segui questi passaggi per aggiungere l'alias host MART alla tua organizzazione:

  1. Recupera il valore impostato in precedenza nel file degli override per il valore mart.hostAlias proprietà. 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 dell'organizzazione Apigee che hai scaricato in precedenza nella sezione Attivare l'accesso del sincronizzatore.
  3. Esegui questi due comandi per ottenere 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 sul sistema della chiave dell'account di servizio che hai scaricato con il ruolo Amministratore dell'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 degli override

Assicurati di salvare il file degli override. Avrai bisogno di questo file per eseguire upgrade futuri, di patch o altre modifiche alla configurazione del cluster.