Passaggio 4: installa hybrid su GKE

Applica la configurazione al cluster.

Per installare Apigee hybrid nel cluster:

  1. Assicurati di trovarti nella directory hybrid-base-directory/hybrid-files.
  2. Esegui il comando init:
    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml

    Il comando init installa i servizi di deployment Apigee Apigee Deployment Controller e Apigee Admission Webhook e implementa i componenti non Apigee Istio e Cert Manager.

  3. 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.

  4. Esegui un'installazione di "prova". Esegui il comando apply con il flag --dry-run=true. L'esecuzione di una prova 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
  5. Se non sono presenti errori, puoi applicare i componenti di runtime specifici di Apigee al cluster:
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
  6. Per controllare lo stato del deployment:
    $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.

Attivare l'accesso al sincronizzatore

  1. Crea un account di servizio GCP e aggiungici 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 di GCP. Per istruzioni, vedi Creazione e gestione dei service account nella documentazione di GCP.
  2. Scarica la chiave del account di servizio sul tuo sistema. Segui le istruzioni riportate in Creazione di account di servizio account nella documentazione di GCP.
  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 tuo sistema della chiave del service account che hai scaricato con il ruolo Amministratore dell'organizzazione Apigee.

  5. Chiama l'API setSyncAuthorization per abilitare le autorizzazioni richieste per Synchronizer:
    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 Synchronizer 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 il account di servizio sia stato impostato, chiama la seguente API per ottenere un elenco di service account:
    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="
    }
        

Aggiunta dell'IP MART alla tua organizzazione

Devi aggiungere l'indirizzo IP dell'endpoint MART alla tua organizzazione Apigee. Hai impostato questo valore in precedenza quando hai impostato il valore della proprietà mart.hostAlias nel file di override. Il management plane ha bisogno di questo indirizzo per poter comunicare con il runtime plane tramite MART.

Per aggiungere l'IP 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 del account di servizio con il ruolo Amministratore organizzazione Apigee che hai scaricato in precedenza nella sezione Attiva l'accesso al 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 tuo sistema della chiave del service account 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://" al nome di dominio.

    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. Avrai bisogno di questo file per eseguire futuri upgrade, patch o altre modifiche alla configurazione del cluster.