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
gcloud
criam 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-apigee-org-admin.json"
- 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)
- 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. - 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
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
- 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
- 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 dokubectl
que está a executar. Verifique a versão dekubectl
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
- 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. - 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.
- 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
-
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.