Aplique a configuração ao cluster
Para instalar o Apigee Hybrid no seu cluster:
- Certifique-se de que está no diretório
hybrid-base-directory/hybrid-files
. - Execute o comando
init
:$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, e implementa componentes que não são do Apigee Istio e Cert Manager. - Para verificar o estado da implementação, pode usar os seguintes comandos:
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
e
kubectl get pods -n apigee-system
e
kubectl get pods -n istio-system
Quando os pods estiverem prontos, avance para o passo seguinte.
- Faça uma instalação "de teste". Execute o comando
apply
com a flag--dry-run=true
. A execução de um teste permite-lhe verificar se existem erros antes de serem feitas alterações ao cluster.$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
-
Se não existirem erros, pode aplicar os componentes de tempo de execução específicos do Apigee ao cluster:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
- Para verificar o estado da implementação:
$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 serem iniciados.
Ative o acesso do sincronizador
- Crie uma conta de serviço do GCP e adicione-lhe a função Apigee Organization Admin. 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.
- Transfira a chave da conta de serviço para o seu sistema. Siga as instruções em Criar chaves de contas de serviço na documentação da GCP.
- Mova a chave de conta de serviço transferida para o diretório de contas de serviço:
/hybrid-base-directory
/hybrid-files/service-accounts
. - Execute estes dois comandos para obter um token:
export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
export TOKEN=$(gcloud auth application-default print-access-token)
Onde org-admin-service-account-file é o caminho no seu sistema para a chave da conta de serviço que transferiu com a função Administrador da organização Apigee.
- Chame a API setSyncAuthorization para
ativar as autorizações necessárias para o sincronizador:
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"]}'
Onde:
your_org_name
: o nome da sua organização híbrida.synchronizer-manager-service-account-email
: o nome de uma conta de serviço com a função Apigee Synchronizer Manager. O nome tem o formato de um endereço de email. Por exemplo:apigee-synchronizer@my-project.iam.gserviceaccount.com
Exemplo:
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"]}'
- Para verificar se a conta de serviço foi definida, chame a seguinte API para 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/your_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=" }
Adicione o IP do MART à sua organização
Tem de adicionar o endereço IP do ponto final MART à sua organização do Apigee. Definiu este valor anteriormente quando definiu o valor da propriedade mart.hostAlias
no ficheiro de substituições.
O plano de gestão precisa deste endereço para poder comunicar com o plano de execução
através do MART.
Siga estes passos para adicionar o IP do MART à sua organização:
- Obtenha o valor que definiu anteriormente no ficheiro de substituições para a propriedade
mart.hostAlias
. Para que o MART funcione, o alias do anfitrião tem de ser um nome de domínio totalmente qualificado. - Localize a chave da conta de serviço com a função Apigee Organization Admin que transferiu anteriormente na secção Ativar acesso do sincronizador.
- Execute estes dois comandos para obter um token:
export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
export TOKEN=$(gcloud auth application-default print-access-token)
Onde org-admin-service-account-file é o caminho no seu sistema para a chave da conta de serviço que transferiu com a função Administrador da organização Apigee.
- Chame a seguinte API de gestão para atualizar a sua organização com o ponto final 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" } ] } }'
Segue-se um exemplo. Certifique-se de que adiciona o prefixo "https://" ao nome do domínio.
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" } ] } }'
Guarde o ficheiro de substituições
Certifique-se de que guarda o ficheiro de substituições. Precisa deste ficheiro para fazer atualizações futuras, patches ou quaisquer outras modificações à configuração do cluster.