Ative o acesso do sincronizador
Para ativar o acesso do sincronizador:
- 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
gcloudcriam a conta de serviço e atribuem-lhe a função Administrador da organização do Apigee:- 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. - 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.
 
 
 - Crie a conta:
      
 - 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.- Certifique-se de que está no diretório 
/hybrid-base-directory/hybrid-files/. - 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] $
 
 - Certifique-se de que está no diretório 
 - 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
 - Crie uma variável de ambiente ORG_ADMIN_ACCOUNT com o nome do ficheiro de chave.
    Por exemplo:
    
export ORG_ADMIN_ACCOUNT="hybrid-example-2-apigee-org-admin.json"
 - Execute os seguintes comandos para obter um token:
export GOOGLE_APPLICATION_CREDENTIALS=./service-accounts/$ORG_ADMIN_ACCOUNTexport TOKEN=$(gcloud auth application-default print-access-token) - Obtenha o endereço de email da sua conta de serviço do 
apigee-synchronizercom 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. - 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.
 - 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:
- Certifique-se de que está no diretório 
hybrid-base-directory/hybrid-files. - Verifique se 
kubectlestá 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
 - Faça uma inicialização de execução de ensaio. Execute o comando 
initcom 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.3, a sintaxe da flag
--dry-rundepende da versão dokubectlque está a executar. Verifique a versão dokubectlcom o seguinte comando:kubectl version
kubectlversão 1.17 e mais antigas:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=true
kubectlversão 1.18 e mais recentes:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=client
 - Se não houver erros, execute o comando 
initda seguinte forma:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml
O comando
initinstala os serviços de implementação do Apigee, o controlador de implementação do Apigee e o webhook de admissão do Apigee. - Para verificar o estado da implementação, pode usar os seguintes comandos:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yamlkubectl get pods -n apigee-systemkubectl get pods -n istio-systemQuando os pods estiverem prontos, avance para o passo seguinte.
 - Faça uma instalação de execução de ensaio. Execute o comando 
applycom a flag--dry-run.kubectlversão 1.17 e mais antigas:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
kubectlversão 1.18 e mais recentes:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=client
 - 
      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
 - 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.
 
Ative o Apigee Connect
O Apigee Connect gere a comunicação entre o plano de gestão do Apigee e o MART no plano de execução. Para mais informações, consulte o artigo Usar o Apigee Connect.
Para ativar o Apigee Connect, siga estes passos:
- 
  
Na linha de comandos, obtenha as suas credenciais de autenticação
gcloud, como mostra o exemplo seguinte:TOKEN=$(gcloud auth print-access-token)
Para verificar se o token foi preenchido, use
echo, como mostra o exemplo seguinte:echo $TOKEN
Esta ação deve apresentar o seu token como uma string codificada.
Para mais informações, consulte a vista geral da ferramenta de linhas de comando gcloud.
 - Use o seguinte comando para ver se o Apigee Connect está ativado para a sua organização.
  
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
Em que $ORG_NAME é o ID da sua organização.
Se a saída contiver o seguinte:
"name" : "features.mart.connect.enabled", "value" : "true"O Apigee Connect está ativado e pode ignorar o resto desta secção.
 - Ative o Apigee Connect com o seguinte comando:
  
curl -H "Authorization: Bearer $TOKEN" -X PUT \ -H "Content-Type: application/json" \ -d '{ "name" : "'"$ORG_NAME"'", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.connect.enabled", "value" : "true" } ] } }' \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"Se o resultado contiver as seguintes propriedades, o Apigee Connect foi ativado com êxito:
{ "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" }O resultado deve ter um aspeto semelhante ao seguinte:
{ "name": "hybrid-example-2", "createdAt": "1594409699772", "lastModifiedAt": "1594776283697", "environments": [ "example-env" ], "properties": { "property": [ { "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" } ] }, "analyticsRegion": "us-central1", "runtimeType": "HYBRID", "subscriptionType": "TRIAL" }