Passo 7: instale o tempo de execução híbrido

Ative o acesso do sincronizador

Para ativar o acesso do sincronizador:

  1. Crie uma conta de serviço do Google Cloud e adicione-lhe a função Administrador da organização do Apigee. Esta conta de serviço vai ser usada para autenticar uma chamada API que vai fazer num passo posterior. Uma forma fácil de criar a conta de serviço é através da consola do GCP. Para ver instruções, consulte o artigo Criar e gerir contas de serviço na documentação da GCP.

    Por exemplo, os seguintes comandos gcloud criam a conta de serviço e atribuem-lhe a função Administrador da organização do Apigee:

    1. Crie a conta:
      gcloud iam service-accounts create apigee-org-admin \
          --display-name="apigee-org-admin"

      Em que apigee-org-admin é o nome da conta de serviço que está a criar. "apigee-org-admin" é recomendado para este tutorial.

    2. Atribua a função Apigee Org Admin à conta de serviço:
      gcloud projects add-iam-policy-binding $PROJECT_ID \
          --member="serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com" \
          --role="roles/apigee.admin"

      Onde:

      • $PROJECT_ID é o nome do seu projeto do Google Cloud que criou no Passo 2: crie um projeto do Google Cloud.
      • apigee-org-admin é o nome da conta de serviço que acabou de criar.
      • roles/apigee.admin é a função de administrador da organização do Apigee.
  2. Transfira a chave da conta de serviço para o seu sistema. Use o seguinte comando para transferir a chave para o diretório service-accounts/. Para mais informações, consulte as instruções em Criar chaves de contas de serviço na documentação do GCP.
    1. Certifique-se de que está no diretório /hybrid-base-directory/hybrid-files/.
    2. Transfira a chave:
      gcloud iam service-accounts keys create ./service-accounts/$PROJECT_ID-apigee-org-admin.json \
        --iam-account apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com

      O resultado deve ter um aspeto semelhante ao seguinte:

      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. Valide o caminho para a chave da conta de serviço de administrador da organização do Apigee com o seguinte comando:
    ls service-accounts/*admin*

    O resultado deve ter um aspeto semelhante ao seguinte:

    service-accounts/hybrid-example-apigee-org-admin.json
  4. Crie uma variável de ambiente ORG_ADMIN_ACCOUNT com o nome do ficheiro de chave. Por exemplo:
    export ORG_ADMIN_ACCOUNT="hybrid-example-apigee-org-admin.json"
  5. Execute os seguintes comandos para obter um token:
    export GOOGLE_APPLICATION_CREDENTIALS=./service-accounts/$ORG_ADMIN_ACCOUNT
    export TOKEN=$(gcloud auth application-default print-access-token)
  6. Obtenha o endereço de email da sua conta de serviço do apigee-synchronizer com o seguinte comando:
    gcloud iam service-accounts list --filter "apigee-synchronizer"

    Se corresponder ao padrão apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com, pode usar esse padrão no passo seguinte.

  7. Chame a API setSyncAuthorization para ativar as autorizações necessárias para o sincronizador através do seguinte 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"'"]}'
    

    Onde:

    • $ORG_NAME: o nome da sua organização híbrida.
    • apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com: o endereço de email da conta de serviço do sincronizador do Apigee.
  8. Para verificar se a conta de serviço foi definida, use o seguinte comando para chamar a API e obter uma lista de contas de serviço:
    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:getSyncAuthorization" \
       -d ''
    

    O resultado tem um aspeto semelhante ao seguinte:

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

Aplique a configuração ao cluster

Siga os passos abaixo para instalar o Apigee hybrid no seu cluster:

  1. Certifique-se de que está no diretório hybrid-base-directory/hybrid-files.
  2. Verifique se kubectl está definido para o contexto correto através do seguinte comando. O contexto atual deve ser definido para o cluster no qual está a implementar o Apigee Hybrid.
    kubectl config get-contexts
  3. Apenas para as plataformas AWS no GKE, EKS e GKE On-Prem, verifique se a variável KUBECONFIG está definida através do seguinte comando.
    echo $KUBECONFIG
  4. Faça uma inicialização de execução de ensaio. Execute o comando init com a flag --dry-run. A execução de um teste permite-lhe verificar a existência de erros antes de serem feitas alterações ao cluster.

    Na versão híbrida 1.4.4, a sintaxe da flag --dry-run depende da versão do kubectl que está a executar. Verifique a versão de kubectl com o seguinte comando:

    kubectl version

    kubectl versão 1.17 e mais antigas:

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

    kubectl versão 1.18 e mais recentes:

    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=client
  5. Se não houver erros, execute o comando init da seguinte forma:
    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml

    O comando init instala os serviços de implementação do Apigee, o controlador de implementação do Apigee e o webhook de admissão do Apigee.

  6. Para verificar o estado da implementação, pode usar os seguintes comandos:
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
    kubectl get pods -n apigee-system
    kubectl get pods -n istio-system

    Quando os pods estiverem prontos, avance para o passo seguinte.

  7. Faça uma instalação de execução de ensaio. Execute o comando apply com a flag --dry-run.

    kubectl versão 1.17 e mais antigas:

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

    kubectl versão 1.18 e mais recentes:

    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=client
  8. Se não existirem erros, pode aplicar os componentes de tempo de execução específicos do Apigee ao cluster com o seguinte comando:
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
  9. Para verificar o estado da implementação, execute o seguinte comando:
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml

    Repita este passo até que todos os pods estejam prontos. Os pods podem demorar vários minutos a iniciar.