Ativar acesso do sincronizador
Para ativar o acesso do sincronizador:
- Crie uma conta de serviço do Google Cloud e adicione o papel Administrador da organização da Apigee
a ela. Essa conta de serviço será usada para autenticar uma chamada de API que você fará
em uma etapa posterior. Uma maneira fácil de criar a conta de serviço é por meio do console do GCP.
Para instruções, consulte
Como criar e gerenciar contas de serviço na documentação do GCP.
Por exemplo, os comandos
gcloud
a seguir criarão a conta de serviço e atribuirão o Administrador da organização do Apigee a ela:- 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 você está criando. "
apigee-org-admin
" é recomendado para este tutorial. - Atribua o papel Administrador da organização da Apigee à 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"
Em que:
- $PROJECT_ID é o nome do projeto do Google Cloud que você criou na Etapa 2: criar um projeto do Google Cloud.
- apigee-org-admin é o nome da conta de serviço que você acabou de criar.
- roles/apigee.admin é o papel de roles/apigee.admin.
- Crie a conta:
- Faça o download da chave de conta de serviço no seu sistema. Use o seguinte comando para fazer o download
da chave no seu diretório
service-accounts/
. Para mais informações, consulte as instruções em Como criar chaves de conta de serviço na documentação do GCP.- Verifique se você está no diretório
/hybrid-base-directory/hybrid-files/
. - Faça o download da 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
A resposta será semelhante a esta:
created key [a0b1c2d3e4f5a0b1c2d3e4f5a0b1c2d3e4f5a0b1] of type [json] as [./service-accounts/hybrid- example-apigee-org-admin.json] for [apigee-org-admin@my-hybrid.iam.gserviceaccount.com] $
- Verifique se você está no diretório
- Verifique o caminho para a chave da conta de serviço do administrador da organização da Apigee com o seguinte comando:
ls service-accounts/*admin*
O resultado será similar a este:
service-accounts/hybrid-example-apigee-org-admin.json
- Crie uma variável de ambiente ORG_ADMIN_ACCOUNT com o nome do arquivo da chave.
Exemplo:
export ORG_ADMIN_ACCOUNT="hybrid-example-2-apigee-org-admin.json"
- Execute os seguintes comandos para receber um token:
export GOOGLE_APPLICATION_CREDENTIALS=./service-accounts/$ORG_ADMIN_ACCOUNT
export TOKEN=$(gcloud auth application-default print-access-token)
- Encontre o endereço de e-mail da conta de serviço
apigee-synchronizer
com o seguinte comando:gcloud iam service-accounts list --filter "apigee-synchronizer"
Se ele corresponder ao padrão
apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com
, use esse padrão na próxima etapa - Chame a API setSyncAuthorization para
ativar as permissões necessárias para o Sincronizador usando o 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"'"]}'
Em que:
$ORG_NAME
: o nome da organização híbrida.apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com
: o endereço de e-mail da conta de serviço apigee-syncronizer.
- Para verificar se a conta de serviço foi definida, use o seguinte comando para chamar a API a fim de conseguir
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 ''
A resposta será semelhante a:
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
Aplicar a configuração ao cluster
Siga estas etapas para instalar a Apigee híbrida no cluster:
- Verifique se você está no diretório
hybrid-base-directory/hybrid-files
. - Verifique se
kubectl
está definido para o contexto correto usando o seguinte comando. O contexto atual será definido como o cluster ao qual você está implantando a Apigee híbrida.kubectl config get-contexts
- Verifique se a variável
KUBECONFIG
está definida usando o comando a seguir. Caso contrário, consulte os Pré-requisitos.echo $KUBECONFIG
- Faça uma inicialização de simulação. Execute o comando
init
com a sinalização--dry-run
. Uma simulação permite verificar se há erros antes de qualquer alteração no cluster.Na versão híbrida 1.3, a sintaxe da sinalização
--dry-run
depende da versão dekubectl
que você está executando. Verifique a versão dekubectl
com o seguinte comando:kubectl version
kubectl
versão 1.17 e anteriores:$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
- Se não houver erros, execute o comando
init
da seguinte maneira:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml
O comando
init
instala os serviços de implantação da Apigee,, o Apigee Deployment Controller e o Apigee Admission Webhook. - Para verificar o status da implantação, use 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, vá para a próxima etapa.
- Faça uma instalação de simulação. Execute o comando
apply
com a sinalização--dry-run
.kubectl
versão 1.17 e anteriores:$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
-
Se não houver erros, aplique os
componentes de ambiente de execução específicos da Apigee ao cluster com o seguinte comando:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
- Para verificar o status da implantação, execute o seguinte comando:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
Repita essa etapa até que os pods estejam prontos. Os pods podem levar vários minutos para serem iniciados.
Ativar Apigee Connect
O Apigee Connect gerencia a comunicação entre o plano de gerenciamento do Apigee e o MART no plano de ambiente de execução. Para mais informações, consulte Como usar o Apigee Connect.
Para ativar o Apigee Connect, siga as etapas a seguir:
-
Na linha de comando, receba as credenciais de autenticação de
gcloud
. Veja o exemplo a seguir:TOKEN=$(gcloud auth print-access-token)
Para verificar se o token foi preenchido, use
echo
, como mostra o exemplo a seguir:echo $TOKEN
Isso exibirá seu token como uma string codificada.
Para mais informações, consulte a visão geral da ferramenta de linha de comando gcloud.
- Use o comando a seguir para ver se o Apigee Connect está ativado para sua organização.
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
Em que $ORG_NAME é o ID da organização.
Se a saída contiver o seguinte:
"name" : "features.mart.connect.enabled", "value" : "true"
O Apigee Connect está ativado e o restante desta seção pode ser pulado.
- 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 propriedades a seguir, o Apigee Connect foi ativado com sucesso:
{ "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" }
A resposta será semelhante a esta:
{ "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" }