Como instalar e gerenciar a Apigee híbrida com gráficos do Helm
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Neste documento, orientamos você no processo passo a passo de instalação da
Apigee híbrida v1.10 usando gráficos do Helm.
Versão
Os gráficos Helm da Apigee híbrida são para uso com a Apigee híbrida
v1.10.x. Consulte o
histórico de versões da Apigee híbrida para conferir a lista de versões
híbridas.
Os gráficos do Helm não são totalmente compatíveis com CRDs. Portanto, usaremos o comando
kubectl -k para instalá-los e fazer upgrade deles.
Nosso objetivo é seguir as práticas recomendadas da comunidade e do Google em relação ao gerenciamento do
Kubernetes. As implantações de CRD com o Helm ainda não atingiram um estado de comunidade em que vemos um amplo suporte ou solicitações para esse modelo. Portanto,
o gerenciamento de CRDs da Apigee precisa ser feito usando kubectl, conforme
mencionado neste documento.
Em apigeectl, usamos arquivos em
overrides.yaml para contas de serviço e certificados; No entanto, o Helm não aceita referenciar arquivos fora do diretório do gráfico. Escolha uma
das seguintes opções para a conta de serviço e os arquivos de certificado:
Coloque cópias de arquivos relevantes dentro de cada diretório de gráfico
Crie links simbólicos dentro de cada diretório de gráfico para cada arquivo ou uma pasta. O Helm seguirá links simbólicos fora do diretório do gráfico, mas
gerará um aviso como este: apigee-operator/gsa -> ../gsa
Use secrets do Kubernetes. Por exemplo, para contas de serviço:
Nesta tabela, listamos os recursos e permissões necessários para o Kubernetes e a
Apigee.
Para filtrar essa tabela, realize uma ou mais destas ações: selecione uma categoria, digite um termo de pesquisa ou clique no cabeçalho de uma coluna para classificar.
A instalação dos componentes é feita da esquerda para a
direita, em sequência, como mostrado na figura a seguir. Os componentes
empilhados verticalmente na figura podem ser instalados juntos e em qualquer ordem.
Depois de instalar qualquer componente, você poderá atualizá-lo
individualmente e a qualquer momento. Por exemplo, réplica, memória, CPU e assim por diante.
Prepare-se para instalar a Apigee híbrida com gráficos do Helm
Crie o namespace que será usado para recursos apigee.
Ele precisa corresponder ao campo de namespace no arquivo
overrides.yaml. Se não estiver presente em overrides.yaml, o padrão será apigee.
Verifique se o namespace já existe:
kubectl get namespace apigee
Se o namespace existir, a saída incluirá:
NAME STATUS AGE
apigee Active 1d
Se o namespace ainda não existir, crie-o:
kubectl create namespace apigee
Crie o namespace apigee-system usado pelos recursos do operador da Apigee.
Verifique se o namespace já existe:
kubectl get namespace apigee-system
Se o namespace ainda não existir, crie-o:
kubectl create namespace apigee-system
Crie as contas de serviço e atribua os papéis do IAM apropriados a
elas. A Apigee híbrida usa as seguintes contas de serviço:
Conta de serviço
Papéis do IAM
apigee-cassandra
Administrador de objetos do Storage
apigee-logger
Gravador de registros
apigee-mart
Agente do Apigee Connect
apigee-metrics
Gravador de métricas do Monitoring
apigee-runtime
Nenhum papel necessário
apigee-synchronizer
Gerenciador de sincronização da Apigee
apigee-udca
Agente de análise da Apigee
apigee-watcher
Agente do ambiente de execução da Apigee
A Apigee fornece uma ferramenta,
create-service-account, no
diretório apigee-operator/etc/tools:
Essa ferramenta cria as contas de serviço, atribui os papéis do IAM a
cada uma delas e faz o download dos arquivos de certificado no formato JSON para
cada uma delas.
Crie o diretório em que você quer fazer o download dos arquivos de certificado da
conta de serviço. Você especificará isso no comando a seguir, no lugar de SERVICE_ACCOUNTS_PATH.
É possível criar todas as contas de serviço com um único comando
com as seguintes opções:
Esta é a mesma configuração de substituição que você usará para esta instalação do Helm. Para mais configurações, consulte a Referência da propriedade de configuração.
Verifique os identificadores nos nós do cluster.
Por padrão, a Apigee programa pods de dados em nós com o rótulo
cloud.google.com/gke-nodepool=apigee-data e os pods de ambiente de execução
são programados em nós com o rótulo
cloud.google.com/gke-nodepool=apigee-runtime. É possível personalizar os rótulos do pool de nós no arquivo overrides.yaml.
Para saber se ele está funcionando, confira o estado do respectivo ambiente:
kubectl -n apigee get apigeeenv
NAME STATE AGE GATEWAYTYPE
apigee-org1-dev-xxx running 2d
Crie os certificados TLS. É necessário fornecer certificados TLS para o gateway de entrada do ambiente de execução na configuração do Apigee Hybrid.
Crie os certificados. Em um ambiente de produção, será necessário usar certificados assinados. É possível usar um certificado e um par de chaves ou um secret do Kubernetes.
Para instalação de demonstração e teste, o gateway de ambiente de execução pode aceitar credenciais autoassinados. No exemplo a seguir, openssl é usado para gerar as credenciais autoassinadas:
É necessário instalar um grupo de ambiente (virtualhost) por vez. Especifique o grupo de ambientes com --set envgroup=ENV_GROUP_NAME:
# repeat the following command for each env group mentioned in the overrides.yaml file
helm upgrade apigee-virtualhost-ENV_GROUP_NAME apigee-virtualhost/ \
--install \
--namespace apigee \
--atomic \
--set envgroup=ENV_GROUP_NAME \
-f overrides.yaml
Isso cria a ApigeeRouteConfig (ARC), que cria internamente
a ApigeeRoute (AR) depois que o inspetor da Apigee extrai detalhes relacionados ao grupo de ambiente
do plano de controle. Portanto, verifique se o estado
de RA correspondente está em execução:
kubectl -n apigee get arc
NAME STATE AGE
apigee-org1-dev-egroup 2d
kubectl -n apigee get ar
NAME STATE AGE
apigee-org1-dev-egroup-xxxxxx running 2d
Outros casos de uso para gráficos do Helm com a Apigee híbrida
Backup e restauração do Cassandra
Para ativar o backup:
Atualize os detalhes do backup do Cassandra no arquivo overrides.yaml:
A configuração multirregional com gráficos Helm requer os mesmos pré-requisitos dos procedimentos apigeectl atuais. Para mais detalhes, consulte
Pré-requisitos para implantações multirregionais.
O procedimento para configurar o híbrido para multirregiões é o mesmo que o
atual no processo de configuração do host de semente
multirregional e do cluster e do contexto do Kubernetes.
Configurar a primeira região
Siga as etapas abaixo para configurar a primeira região e se preparar para a configuração da segunda:
SEED_HOST_IP_ADDRESS pelo endereço IP do host de semente, por exemplo, 10.0.0.11.
DATACENTER_NAME pelo nome do data center. Por exemplo, dc-2.
RACK_NAME pelo nome do rack, por exemplo, ra-1.
CLUSTER_NAME pelo nome do cluster da Apigee. Por padrão, o valor é apigeecluster. Se você usar um nome de cluster diferente, será preciso especificar um valor para cassandra.clusterName.
Esse valor precisa ser o mesmo em todas as regiões.
Copie o certificado do cluster atual para o novo cluster.
A nova raiz da CA é usada pelo Cassandra e outros componentes híbridos para mTLS.
Portanto, é essencial ter certificados consistentes em todo o cluster.
Defina o contexto como o namespace original:
kubectl config use-context ORIGINAL_CLUSTER_NAME
Exporte a configuração atual do namespace para um arquivo:
kubectl get namespace apigee -o yaml > apigee-namespace.yaml
Exporte o secret apigee-ca para um arquivo:
kubectl -n cert-manager get secret apigee-ca -o yaml > apigee-ca.yaml
Defina o contexto para o nome do cluster da nova região
kubectl config use-context NEW_CLUSTER_NAME
Importe a configuração do namespace para o novo cluster. Atualize o namespace no arquivo se estiver usando um namespace diferente na nova região:
kubectl apply -f apigee-namespace.yaml
Importe o secret para o novo cluster:
kubectl -n cert-manager apply -f apigee-ca.yaml
Agora use gráficos do Helm para instalar a Apigee híbrida na nova região com
os seguintes comandos do gráfico do Helm (como feito na região 1):
Depois que todos os componentes estiverem instalados, configure o Cassandra em todos os pods
nos novos data centers. Para instruções, consulte
Configurar a Apigee híbrida para várias regiões, selecione a plataforma,
role até Configurar a nova região e localize a etapa 5.
Depois que a replicação de dados for concluída e verificada, atualize os hosts de origem:
Remova multiRegionSeedHost: 10.0.0.11 de overrides-DATACENTER_NAME.yaml
A entrada multiRegionSeedHost não é mais necessária depois que a replicação de dados é estabelecida e espera-se que os IPs de pod mudem com o tempo.
Reaplique a alteração para atualizar a resposta automática do repositório de dados da Apigee:
Em vez de depender do repositório público do Google Cloud, talvez você
queira hospedar as imagens de maneira particular. Em vez de substituir cada componente, adicione detalhes do hub nas substituições:
hub: PRIVATE_REPO
Por exemplo, se o hub a seguir for fornecido, ele resolverá automaticamente o caminho da imagem:
hub: private-docker-host.com
como:
## an example of internal component vs 3rd party
containers:
- name: apigee-udca
image: private-docker-host.com/apigee-udca:1.10.5
imagePullPolicy: IfNotPresent
containers:
- name: apigee-ingressgateway
image: private-docker-host.com/apigee-asm-ingress:1.17.2-asm.8-distroless
imagePullPolicy: IfNotPresent
Para usar o
recurso de taints e tolerâncias do Kubernetes, é necessário definir a
propriedade de substituição tolerations para cada componente da Apigee híbrida.
Os seguintes componentes são compatíveis com a definição de tolerâncias:
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2026-05-21 UTC."],[],[]]