Instale os componentes de tempo de execução do Apigee Hybrid
Neste passo, vai usar o Helm para instalar os seguintes componentes do Apigee Hybrid:
- Operador do Apigee
- Armazenamento de dados do Apigee
- Telemetria do Apigee
- Apigee Redis
- Gestor de entrada do Apigee
- Organização do Apigee
- Os seus ambientes do Apigee
Instale os gráficos para cada ambiente um de cada vez. A sequência em que instala os componentes é importante.
Notas de pré-instalação
- Se ainda não tiver instalado o Helm v3.14.2 ou superior, siga as instruções em Instalar o Helm.
-
O Apigee hybrid usa restrições do Helm para validar a configuração antes de instalar ou atualizar um gráfico. Pode ver informações específicas das restrições na saída de cada um dos comandos nesta secção, por exemplo:
# Source: apigee-operator/templates/apigee-operators-guardrails.yaml apiVersion: v1 kind: Pod metadata: name: apigee-hybrid-helm-guardrail-operator namespace: APIGEE_NAMESPACE annotations: helm.sh/hook: pre-install,pre-upgrade helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded labels: app: apigee-hybrid-helm-guardrailSe algum dos comandos
helm upgradefalhar, pode usar o resultado das restrições para ajudar a diagnosticar a causa. Consulte o artigo Diagnosticar problemas com restrições. - Antes de executar qualquer um dos comandos de instalação/atualização do Helm,
use a funcionalidade de teste do Helm adicionando
--dry-run=serverno final do comando. Consultehelm install --hpara ver uma lista dos comandos, das opções e da utilização suportados.
Passos de instalação
Selecione as instruções de instalação para o tipo de autenticação da conta de serviço na sua instalação híbrida:
Segredos do Kubernetes
- Se não o tiver feito, navegue para o diretório
APIGEE_HELM_CHARTS_HOME. Execute os seguintes comandos a partir desse diretório. - Instale o operador/controlador do Apigee:
- Execução de ensaio:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
- Instale o gráfico:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Valide a instalação do operador do Apigee:
helm ls -n APIGEE_NAMESPACE
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2025-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.1 1.15.1
-
Verifique se está em funcionamento, verificando a respetiva disponibilidade:
kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 34s
- Execução de ensaio:
-
Instale o arquivo de dados do Apigee:
- Execução de ensaio:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se o
apigeedatastoreestá em funcionamento verificando o respetivo estado antes de prosseguir para o passo seguinte:kubectl -n APIGEE_NAMESPACE get apigeedatastore default
NAME STATE AGE default running 51s
- Execução de ensaio:
-
Instale a telemetria da Apigee:
- Execução de ensaio:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está a funcionar corretamente verificando o respetivo estado:
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 55s
- Execução de ensaio:
-
Instale o Apigee Redis:
-
Execução de ensaio:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está a funcionar corretamente verificando o respetivo estado:
kubectl -n APIGEE_NAMESPACE get apigeeredis default
NAME STATE AGE default running 79s
-
-
Instale o gestor de entrada do Apigee:
-
Execução de ensaio:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está em funcionamento, verificando a respetiva disponibilidade:
kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 16s
-
-
Instale a organização do Apigee. Se tiver definido a variável de ambiente $ORG_NAME na sua shell, pode usá-la nos seguintes comandos:
-
Execução de ensaio:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está em funcionamento consultando o estado da organização respetiva:
kubectl -n APIGEE_NAMESPACE get apigeeorg
NAME STATE AGE my-project-123abcd running 4m18s
-
-
Instale o ambiente.
Tem de instalar um ambiente de cada vez. Especifique o ambiente com
--set env=ENV_NAME. Se tiver definido a variável de ambiente $ENV_NAME na sua shell, pode usá-la nos seguintes comandos:-
Execução de ensaio:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server
ENV_RELEASE_NAME é um nome usado para monitorizar a instalação e as atualizações do gráfico
apigee-env. Este nome tem de ser exclusivo dos outros nomes de lançamentos do Helm na sua instalação. Normalmente, este valor é igual aENV_NAME. No entanto, se o seu ambiente tiver o mesmo nome que o seu grupo de ambientes, tem de usar nomes de lançamentos diferentes para o ambiente e o grupo de ambientes, por exemplo,dev-env-releaseedev-envgroup-release. Para mais informações sobre lançamentos no Helm, consulte Três grandes conceitos na documentação do Helm. -
Instale o gráfico:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml
-
Verifique se está em funcionamento verificando o estado do ambiente respetivo:
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-my-project-my-env running 3m1s
-
-
Instale os grupos de ambientes (
virtualhosts).- Tem de instalar um grupo de ambientes (virtualhost) de cada vez. Especifique o grupo
do ambiente com
--set envgroup=ENV_GROUP. Se tiver definido a variável de ambiente $ENV_GROUP no seu shell, pode usá-la nos comandos seguintes. Repita os seguintes comandos para cada grupo de ambiente mencionado no seu ficheirooverrides.yaml:Execução de ensaio:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server
ENV_GROUP_RELEASE_NAME é um nome usado para monitorizar a instalação e as atualizações do gráfico
apigee-virtualhosts. Este nome tem de ser exclusivo dos outros nomes de lançamentos do Helm na sua instalação. Normalmente, este valor é igual aENV_GROUP. No entanto, se o grupo de ambientes tiver o mesmo nome que um ambiente na sua instalação, tem de usar nomes de lançamentos diferentes para o grupo de ambientes e o ambiente, por exemplo,dev-envgroup-releaseedev-env-release. Para mais informações sobre lançamentos no Helm, consulte Três grandes conceitos na documentação do Helm. -
Instale o gráfico:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml
- Verifique o estado do ApigeeRoute (AR).
A instalação do
virtualhostscria o ApigeeRouteConfig (ARC), que cria internamente o ApigeeRoute (AR) assim que o monitor do Apigee extrai os detalhes relacionados com o grupo de ambientes do plano de controlo. Por conseguinte, verifique se o estado do AR correspondente está em execução:kubectl -n APIGEE_NAMESPACE get arc
NAME STATE AGE apigee-org1-dev-egroup 2m
kubectl -n APIGEE_NAMESPACE get ar
NAME STATE AGE apigee-ingressgateway-internal-chaining-my-project-123abcd running 19m my-project-myenvgroup-000-321dcba running 2m30s
- Tem de instalar um grupo de ambientes (virtualhost) de cada vez. Especifique o grupo
do ambiente com
Ficheiros JSON
- Se não o tiver feito, navegue para o diretório
APIGEE_HELM_CHARTS_HOME. Execute os seguintes comandos a partir desse diretório. - Instale o operador/controlador do Apigee:
- Execução de ensaio:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
- Instale o gráfico:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Valide a instalação do operador do Apigee:
helm ls -n APIGEE_NAMESPACE
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2025-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.1 1.15.1
-
Verifique se está em funcionamento, verificando a respetiva disponibilidade:
kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 34s
- Execução de ensaio:
-
Instale o arquivo de dados do Apigee:
- Execução de ensaio:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se o
apigeedatastoreestá em funcionamento verificando o respetivo estado antes de prosseguir para o passo seguinte:kubectl -n APIGEE_NAMESPACE get apigeedatastore default
NAME STATE AGE default running 51s
- Execução de ensaio:
-
Instale a telemetria da Apigee:
- Execução de ensaio:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está a funcionar corretamente verificando o respetivo estado:
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 55s
- Execução de ensaio:
-
Instale o Apigee Redis:
-
Execução de ensaio:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está a funcionar corretamente verificando o respetivo estado:
kubectl -n APIGEE_NAMESPACE get apigeeredis default
NAME STATE AGE default running 79s
-
-
Instale o gestor de entrada do Apigee:
-
Execução de ensaio:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está em funcionamento, verificando a respetiva disponibilidade:
kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 16s
-
-
Instale a organização do Apigee. Se tiver definido a variável de ambiente $ORG_NAME na sua shell, pode usá-la nos seguintes comandos:
-
Execução de ensaio:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está em funcionamento consultando o estado da organização respetiva:
kubectl -n APIGEE_NAMESPACE get apigeeorg
NAME STATE AGE my-project-123abcd running 4m18s
-
-
Instale o ambiente.
Tem de instalar um ambiente de cada vez. Especifique o ambiente com
--set env=ENV_NAME. Se tiver definido a variável de ambiente $ENV_NAME na sua shell, pode usá-la nos seguintes comandos:-
Execução de ensaio:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server
ENV_RELEASE_NAME é um nome usado para monitorizar a instalação e as atualizações do gráfico
apigee-env. Este nome tem de ser exclusivo dos outros nomes de lançamentos do Helm na sua instalação. Normalmente, este valor é igual aENV_NAME. No entanto, se o seu ambiente tiver o mesmo nome que o seu grupo de ambientes, tem de usar nomes de lançamentos diferentes para o ambiente e o grupo de ambientes, por exemplo,dev-env-releaseedev-envgroup-release. Para mais informações sobre lançamentos no Helm, consulte Três grandes conceitos na documentação do Helm. -
Instale o gráfico:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml
-
Verifique se está em funcionamento verificando o estado do ambiente respetivo:
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-my-project-my-env running 3m1s
-
-
Instale os grupos de ambientes (
virtualhosts).- Tem de instalar um grupo de ambientes (virtualhost) de cada vez. Especifique o grupo
do ambiente com
--set envgroup=ENV_GROUP. Se tiver definido a variável de ambiente $ENV_GROUP no seu shell, pode usá-la nos comandos seguintes. Repita os seguintes comandos para cada grupo de ambiente mencionado no seu ficheirooverrides.yaml:Execução de ensaio:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server
ENV_GROUP_RELEASE_NAME é um nome usado para monitorizar a instalação e as atualizações do gráfico
apigee-virtualhosts. Este nome tem de ser exclusivo dos outros nomes de lançamentos do Helm na sua instalação. Normalmente, este valor é igual aENV_GROUP. No entanto, se o grupo de ambientes tiver o mesmo nome que um ambiente na sua instalação, tem de usar nomes de lançamentos diferentes para o grupo de ambientes e o ambiente, por exemplo,dev-envgroup-releaseedev-env-release. Para mais informações sobre lançamentos no Helm, consulte Três grandes conceitos na documentação do Helm. -
Instale o gráfico:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml
- Verifique o estado do ApigeeRoute (AR).
A instalação do
virtualhostscria o ApigeeRouteConfig (ARC), que cria internamente o ApigeeRoute (AR) assim que o monitor do Apigee extrai os detalhes relacionados com o grupo de ambientes do plano de controlo. Por conseguinte, verifique se o estado do AR correspondente está em execução:kubectl -n APIGEE_NAMESPACE get arc
NAME STATE AGE apigee-org1-dev-egroup 2m
kubectl -n APIGEE_NAMESPACE get ar
NAME STATE AGE apigee-ingressgateway-internal-chaining-my-project-123abcd running 19m my-project-myenvgroup-000-321dcba running 2m30s
- Tem de instalar um grupo de ambientes (virtualhost) de cada vez. Especifique o grupo
do ambiente com
Vault
- Se não o tiver feito, navegue para o diretório
APIGEE_HELM_CHARTS_HOME. Execute os seguintes comandos a partir desse diretório. - Instale o operador/controlador do Apigee:
- Execução de ensaio:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
- Instale o gráfico:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Valide a instalação do operador do Apigee:
helm ls -n APIGEE_NAMESPACE
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2025-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.1 1.15.1
-
Verifique se está em funcionamento, verificando a respetiva disponibilidade:
kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 34s
- Execução de ensaio:
-
Instale o arquivo de dados do Apigee:
- Execução de ensaio:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se o
apigeedatastoreestá em funcionamento verificando o respetivo estado antes de prosseguir para o passo seguinte:kubectl -n APIGEE_NAMESPACE get apigeedatastore default
NAME STATE AGE default running 51s
- Execução de ensaio:
-
Instale a telemetria da Apigee:
- Execução de ensaio:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está a funcionar corretamente verificando o respetivo estado:
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 55s
- Execução de ensaio:
-
Instale o Apigee Redis:
-
Execução de ensaio:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está a funcionar corretamente verificando o respetivo estado:
kubectl -n APIGEE_NAMESPACE get apigeeredis default
NAME STATE AGE default running 79s
-
-
Instale o gestor de entrada do Apigee:
-
Execução de ensaio:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está em funcionamento, verificando a respetiva disponibilidade:
kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 16s
-
-
Instale a organização do Apigee. Se tiver definido a variável de ambiente $ORG_NAME na sua shell, pode usá-la nos seguintes comandos:
-
Execução de ensaio:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está em funcionamento consultando o estado da organização respetiva:
kubectl -n APIGEE_NAMESPACE get apigeeorg
NAME STATE AGE my-project-123abcd running 4m18s
-
-
Instale o ambiente.
Tem de instalar um ambiente de cada vez. Especifique o ambiente com
--set env=ENV_NAME. Se tiver definido a variável de ambiente $ENV_NAME na sua shell, pode usá-la nos seguintes comandos:-
Execução de ensaio:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server
ENV_RELEASE_NAME é um nome usado para monitorizar a instalação e as atualizações do gráfico
apigee-env. Este nome tem de ser exclusivo dos outros nomes de lançamentos do Helm na sua instalação. Normalmente, este valor é igual aENV_NAME. No entanto, se o seu ambiente tiver o mesmo nome que o seu grupo de ambientes, tem de usar nomes de lançamentos diferentes para o ambiente e o grupo de ambientes, por exemplo,dev-env-releaseedev-envgroup-release. Para mais informações sobre lançamentos no Helm, consulte Três grandes conceitos na documentação do Helm. -
Instale o gráfico:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml
-
Verifique se está em funcionamento verificando o estado do ambiente respetivo:
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-my-project-my-env running 3m1s
-
-
Instale os grupos de ambientes (
virtualhosts).- Tem de instalar um grupo de ambientes (virtualhost) de cada vez. Especifique o grupo
do ambiente com
--set envgroup=ENV_GROUP. Se tiver definido a variável de ambiente $ENV_GROUP no seu shell, pode usá-la nos comandos seguintes. Repita os seguintes comandos para cada grupo de ambiente mencionado no seu ficheirooverrides.yaml:Execução de ensaio:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server
ENV_GROUP_RELEASE_NAME é um nome usado para monitorizar a instalação e as atualizações do gráfico
apigee-virtualhosts. Este nome tem de ser exclusivo dos outros nomes de lançamentos do Helm na sua instalação. Normalmente, este valor é igual aENV_GROUP. No entanto, se o grupo de ambientes tiver o mesmo nome que um ambiente na sua instalação, tem de usar nomes de lançamentos diferentes para o grupo de ambientes e o ambiente, por exemplo,dev-envgroup-releaseedev-env-release. Para mais informações sobre lançamentos no Helm, consulte Três grandes conceitos na documentação do Helm. -
Instale o gráfico:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml
- Verifique o estado do ApigeeRoute (AR).
A instalação do
virtualhostscria o ApigeeRouteConfig (ARC), que cria internamente o ApigeeRoute (AR) assim que o monitor do Apigee extrai os detalhes relacionados com o grupo de ambientes do plano de controlo. Por conseguinte, verifique se o estado do AR correspondente está em execução:kubectl -n APIGEE_NAMESPACE get arc
NAME STATE AGE apigee-org1-dev-egroup 2m
kubectl -n APIGEE_NAMESPACE get ar
NAME STATE AGE apigee-ingressgateway-internal-chaining-my-project-123abcd running 19m my-project-myenvgroup-000-321dcba running 2m30s
- Tem de instalar um grupo de ambientes (virtualhost) de cada vez. Especifique o grupo
do ambiente com
WIF para o GKE
- Se não o tiver feito, navegue para o diretório
APIGEE_HELM_CHARTS_HOME. Execute os seguintes comandos a partir desse diretório. - Instale o operador/controlador do Apigee:
- Execução de ensaio:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
- Instale o gráfico:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Valide a instalação do operador do Apigee:
helm ls -n APIGEE_NAMESPACE
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2025-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.1 1.15.1
-
Verifique se está em funcionamento, verificando a respetiva disponibilidade:
kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 34s
- Execução de ensaio:
-
Instale o arquivo de dados do Apigee:
- Execução de ensaio:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Configure as associações de contas de serviço para o Cassandra para a federação de identidades da carga de trabalho para o GKE:
O resultado do comando
helm upgradedevia ter contido comandos na secção NOTES. Siga esses comandos para configurar as associações da conta de serviço. Devem existir dois comandos no formato:Produção
gcloud iam service-accounts add-iam-policy-binding CASSANDRA_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-cassandra-default]" \ --project PROJECT_ID
Não prod
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-cassandra-default]" \ --project PROJECT_ID
E:
Produção
kubectl annotate serviceaccount apigee-cassandra-default \ iam.gke.io/gcp-service-account=CASSANDRA_SERVICE_ACCOUNT_EMAIL \ --namespace APIGEE_NAMESPACE
Não prod
kubectl annotate serviceaccount apigee-cassandra-default \ iam.gke.io/gcp-service-account=NON_PROD_SERVICE_ACCOUNT_EMAIL \ --namespace APIGEE_NAMESPACE
Por exemplo:
Produção
NOTES: For Cassandra backup GKE Workload Identity, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). gcloud iam service-accounts add-iam-policy-binding apigee-cassandra@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-cassandra-default]" \ --project my-project kubectl annotate serviceaccount apigee-cassandra-default \ iam.gke.io/gcp-service-account=apigee-cassandra@my-project.iam.gserviceaccount.com \ --namespace apigeeNão prod
NOTES: For Cassandra backup GKE Workload Identity, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-cassandra-default]" \ --project my-project kubectl annotate serviceaccount apigee-cassandra-default \ iam.gke.io/gcp-service-account=apigee-non-prod@my-project.iam.gserviceaccount.com \ --namespace apigeeOpcional: se não quiser configurar a cópia de segurança do Cassandra neste momento, edite o ficheiro de substituições para remover ou comentar a secção
cassandra.backupantes de executar o comandohelm upgradesem a flag--dry-run. Consulte o artigo Cópia de segurança e restauro do Cassandra para mais informações sobre a configuração da cópia de segurança do Cassandra. -
Instale o gráfico:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se o
apigeedatastoreestá em funcionamento verificando o respetivo estado antes de prosseguir para o passo seguinte:kubectl -n APIGEE_NAMESPACE get apigeedatastore default
NAME STATE AGE default running 51s
- Execução de ensaio:
-
Instale a telemetria da Apigee:
- Execução de ensaio:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Configure as associações de contas de serviço para o Logger e as métricas para a federação de identidades da carga de trabalho para o GKE:
O resultado do comando
helm upgradedevia ter contido comandos na secção NOTES. Siga esses comandos para configurar as associações da conta de serviço. Devem existir dois comandos no formato:Logger KSA:
apigee-logger-apigee-telemetrygcloud iam service-accounts add-iam-policy-binding LOGGER_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-logger-apigee-telemetry]" \ --project PROJECT_ID
KSA de métricas:
apigee-metrics-saProdução
gcloud iam service-accounts add-iam-policy-binding METRICS_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-metrics-sa]" \ --project PROJECT_ID
Não prod
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-metrics-sa]" \ --project PROJECT_ID
Por exemplo:
Produção
NOTES: For GKE Workload Identity, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). Logger KSA: apigee-logger-apigee-telemetry gcloud iam service-accounts add-iam-policy-binding apigee-logger@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-logger-apigee-telemetry]" \ --project my-project Metrics KSA: apigee-metrics-sa gcloud iam service-accounts add-iam-policy-binding apigee-metrics@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-metrics-sa]" \ --project my-projectNão prod
NOTES: For GKE Workload Identity, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). Logger KSA: apigee-logger-apigee-telemetry gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-logger-apigee-telemetry]" \ --project my-project Metrics KSA: apigee-metrics-sa gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-metrics-sa]" \ --project my-project -
Instale o gráfico:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está a funcionar corretamente verificando o respetivo estado:
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 55s
- Execução de ensaio:
-
Instale o Apigee Redis:
-
Execução de ensaio:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está a funcionar corretamente verificando o respetivo estado:
kubectl -n APIGEE_NAMESPACE get apigeeredis default
NAME STATE AGE default running 79s
-
-
Instale o gestor de entrada do Apigee:
-
Execução de ensaio:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está em funcionamento, verificando a respetiva disponibilidade:
kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 16s
-
-
Instale a organização do Apigee. Se tiver definido a variável de ambiente $ORG_NAME na sua shell, pode usá-la nos seguintes comandos:
-
Execução de ensaio:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Configure as associações de contas de serviço para componentes com âmbito da organização para a federação de identidades da carga de trabalho para o GKE, o MART, o Apigee Connect, o UDCA e o Watcher.
O resultado do comando
helm upgradedevia ter contido comandos na secção NOTES. Siga esses comandos para configurar as associações da conta de serviço. Devem existir quatro comandos.MART KSA:
apigee-mart-PROJECT_ID-ORG_HASH_ID-saProdução
gcloud iam service-accounts add-iam-policy-binding MART_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-mart-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
Não prod
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-mart-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
Connect Agent KSA:
apigee-connect-agent-PROJECT_ID-ORG_HASH_ID-saProdução
gcloud iam service-accounts add-iam-policy-binding MART_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-connect-agent-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
Não prod
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-connect-agent-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
Mint Task Scheduler KSA: (se estiver a usar a rentabilização para o Apigee hybrid)
apigee-mint-task-scheduler-PROJECT_ID-ORG_HASH_ID-saProdução
gcloud iam service-accounts add-iam-policy-binding MINT_TASK_SCHEDULER_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-mint-task-scheduler-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
Não prod
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-mint-task-scheduler-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
UDCA KSA:
apigee-udca-PROJECT_ID-ORG_HASH_ID-saProdução
gcloud iam service-accounts add-iam-policy-binding UDCA_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-udca-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
Não prod
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-udca-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
Watcher KSA:
apigee-watcher-PROJECT_ID-ORG_HASH_ID-saProdução
gcloud iam service-accounts add-iam-policy-binding WATCHER_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-watcher-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
Não prod
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-watcher-PROJECT_ID-ORG_HASH_ID-sa]" \ --project PROJECT_ID
Por exemplo:
Produção
NOTES: For Apigee Organization GKE Workload Identity, my-project, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). MART KSA: apigee-mart-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-mart@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-mart-my-project-1a2b3c4-sa]" \ --project my-project Connect Agent KSA: apigee-connect-agent-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-mart@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-connect-agent-my-project-1a2b3c4-sa]" \ --project my-project Mint task scheduler KSA: apigee-mint-task-scheduler-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-mint-task-scheduler@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-mint-task-scheduler-my-project-1a2b3c4-sa]" \ --project my-project UDCA KSA: apigee-udca-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-udca@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-udca-my-project-1a2b3c4-sa]" \ --project my-project Watcher KSA: apigee-watcher-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-watcher@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-watcher-my-project-1a2b3c4-sa]" \ --project my-projectNão prod
NOTES: For Apigee Organization GKE Workload Identity, my-project, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). MART KSA: apigee-mart-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-mart-my-project-1a2b3c4-sa]" \ --project my-project Connect Agent KSA: apigee-connect-agent-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-connect-agent-my-project-1a2b3c4-sa]" \ --project my-project UDCA KSA: apigee-udca-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-udca-my-project-1a2b3c4-sa]" \ --project my-project Watcher KSA: apigee-watcher-my-project-1a2b3c4-sa gcloud iam service-accounts add-iam-policy-binding apigee-non-prod@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-watcher-my-project-1a2b3c4-sa]" \ --project my-project -
Instale o gráfico:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está em funcionamento consultando o estado da organização respetiva:
kubectl -n APIGEE_NAMESPACE get apigeeorg
NAME STATE AGE my-project-123abcd running 4m18s
-
-
Instale o ambiente.
Tem de instalar um ambiente de cada vez. Especifique o ambiente com
--set env=ENV_NAME. Se tiver definido a variável de ambiente $ENV_NAME na sua shell, pode usá-la nos seguintes comandos:-
Execução de ensaio:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server
ENV_RELEASE_NAME é um nome usado para monitorizar a instalação e as atualizações do gráfico
apigee-env. Este nome tem de ser exclusivo dos outros nomes de lançamentos do Helm na sua instalação. Normalmente, este valor é igual aENV_NAME. No entanto, se o seu ambiente tiver o mesmo nome que o seu grupo de ambientes, tem de usar nomes de lançamentos diferentes para o ambiente e o grupo de ambientes, por exemplo,dev-env-releaseedev-envgroup-release. Para mais informações sobre lançamentos no Helm, consulte Três grandes conceitos na documentação do Helm. -
Configure as associações de contas de serviço para componentes com âmbito de ambiente para a federação de identidades da carga de trabalho para o GKE, o Runtime, o sincronizador e o UDCA.
O resultado do comando
helm upgradedevia ter contido comandos na secção NOTES. Siga esses comandos para configurar as associações da conta de serviço. Devem existir quatro comandos.KSA de tempo de execução:
apigee-runtime-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saProdução
gcloud iam service-accounts add-iam-policy-binding RUNTIME_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-runtime-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID
Não prod
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-runtime-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID
Synchronizer KSA:
apigee-synchronizer-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saProdução
gcloud iam service-accounts add-iam-policy-binding SYNCHRONIZER_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-synchronizer-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID
Não prod
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-synchronizer-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID
UDCA KSA:
apigee-udca-PROJECT_ID-ORG_HASH_ID-ENV_NAME-ENV_HASH_ID-saProdução
gcloud iam service-accounts add-iam-policy-binding UDCA_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-udca-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID
Não prod
gcloud iam service-accounts add-iam-policy-binding NON_PROD_SERVICE_ACCOUNT_EMAIL \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:PROJECT_ID.svc.id.goog[apigee/apigee-udca-PROJECT_ID-ENV_NAME-ENV_HASH_ID-sa]" \ --project PROJECT_ID
Por exemplo:
NOTES: For Apigee Environment GKE Workload Identity, my-env, please make sure to add the following membership to the IAM policy binding using the respective kubernetes SA (KSA). Runtime KSA: apigee-runtime-my-project-my-env-b2c3d4e-sa gcloud iam service-accounts add-iam-policy-binding apigee-runtime@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-runtime-my-project-my-env-b2c3d4e-sa]" \ --project my-project Synchronizer KSA: apigee-synchronizer-my-project-my-env-b2c3d4e-sa gcloud iam service-accounts add-iam-policy-binding apigee-synchronizer@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-synchronizer-my-project-my-env-b2c3d4e-sa]" \ --project my-project UDCA KSA: apigee-udca-my-project-my-env-b2c3d4e-sa: gcloud iam service-accounts add-iam-policy-binding apigee-udca@my-project.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:my-project.svc.id.goog[apigee/apigee-udca-my-project-my-env-b2c3d4e-sa]" \ --project my-project -
Instale o gráfico:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml
-
Verifique se está em funcionamento verificando o estado do ambiente respetivo:
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-my-project-my-env running 3m1s
-
-
Instale os grupos de ambientes (
virtualhosts).- Tem de instalar um grupo de ambientes (virtualhost) de cada vez. Especifique o grupo
do ambiente com
--set envgroup=ENV_GROUP. Se tiver definido a variável de ambiente $ENV_GROUP no seu shell, pode usá-la nos comandos seguintes. Repita os seguintes comandos para cada grupo de ambiente mencionado no seu ficheirooverrides.yaml:Execução de ensaio:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server
ENV_GROUP_RELEASE_NAME é um nome usado para monitorizar a instalação e as atualizações do gráfico
apigee-virtualhosts. Este nome tem de ser exclusivo dos outros nomes de lançamentos do Helm na sua instalação. Normalmente, este valor é igual aENV_GROUP. No entanto, se o grupo de ambientes tiver o mesmo nome que um ambiente na sua instalação, tem de usar nomes de lançamentos diferentes para o grupo de ambientes e o ambiente, por exemplo,dev-envgroup-releaseedev-env-release. Para mais informações sobre lançamentos no Helm, consulte Três grandes conceitos na documentação do Helm. -
Instale o gráfico:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml
- Verifique o estado do ApigeeRoute (AR).
A instalação do
virtualhostscria o ApigeeRouteConfig (ARC), que cria internamente o ApigeeRoute (AR) assim que o monitor do Apigee extrai os detalhes relacionados com o grupo de ambientes do plano de controlo. Por conseguinte, verifique se o estado do AR correspondente está em execução:kubectl -n APIGEE_NAMESPACE get arc
NAME STATE AGE apigee-org1-dev-egroup 2m
kubectl -n APIGEE_NAMESPACE get ar
NAME STATE AGE apigee-ingressgateway-internal-chaining-my-project-123abcd running 19m my-project-myenvgroup-000-321dcba running 2m30s
- Tem de instalar um grupo de ambientes (virtualhost) de cada vez. Especifique o grupo
do ambiente com
- (Opcional) Pode ver o estado das suas contas de serviço do Kubernetes na página Kubernetes: Vista geral das cargas de trabalho no Google Cloud console.
WIF noutras plataformas
- Se não o tiver feito, navegue para o diretório
APIGEE_HELM_CHARTS_HOME. Execute os seguintes comandos a partir desse diretório. - Instale o operador/controlador do Apigee:
- Execução de ensaio:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
- Instale o gráfico:
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Valide a instalação do operador do Apigee:
helm ls -n APIGEE_NAMESPACE
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2025-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.1 1.15.1
-
Verifique se está em funcionamento, verificando a respetiva disponibilidade:
kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 34s
- Execução de ensaio:
-
Instale o arquivo de dados do Apigee:
- Execução de ensaio:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Se tiver ativado a cópia de segurança ou o restauro do Cassandra, conceda aos serviços do Cassandra Kubernetes
acesso para se fazerem passar pela
apigee-cassandraconta de serviço do IAM associada.-
Apresente os endereços de email da conta de serviço IAM para o Cassandra:
Produção
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-cassandra"
Não prod
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-non-prod"
O resultado deve ser semelhante ao seguinte:
Produção
apigee-cassandra apigee-cassandra@my-project.iam.gserviceaccount.com FalseNão prod
apigee-non-prod apigee-non-prod@my-project.iam.gserviceaccount.com False -
Liste as contas de serviço do Kubernetes do Cassandra:
kubectl get serviceaccount -n APIGEE_NAMESPACE | grep "apigee-cassandra"
O resultado deve ser semelhante ao seguinte:
apigee-cassandra-backup-sa 0 7m37s apigee-cassandra-default 0 7m12s apigee-cassandra-guardrails-sa 0 6m43s apigee-cassandra-restore-sa 0 7m37s apigee-cassandra-schema-setup-my-project-1a2b2c4 0 7m30s apigee-cassandra-schema-val-my-project-1a2b2c4 0 7m29s apigee-cassandra-user-setup-my-project-1a2b2c4 0 7m22s -
Se tiver criado as contas de serviço do Kubernetes
apigee-cassandra-backup-saouapigee-cassandra-restore-sa, conceda a cada uma delas acesso à representação da conta de serviço da IAMapigee-cassandracom o seguinte comando:Produção
Modelo
gcloud iam service-accounts add-iam-policy-binding \ CASSANDRA_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-cassandra@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-cassandra-backup-sa" \ --role=roles/iam.workloadIdentityUserNão prod
Modelo
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-cassandra-backup-sa" \ --role=roles/iam.workloadIdentityUserOnde:
CASSANDRA_IAM_SA_EMAIL: o endereço de email da conta de serviço de IAM do Cassandra.PROJECT_NUMBER: o número do projeto do projeto onde criou o Workload Identity Pool.POOL_ID: o ID do Workload Identity Pool.MAPPED_SUBJECT: a conta de serviço do Kubernetes da reivindicação no seu token de ID. Na maioria das instalações híbridas, este tem o formato:system:serviceaccount:APIGEE_NAMESPACE:K8S_SA_NAME.- Para
apigee-cassandra-backup-sa, vai ser algo semelhante asystem:serviceaccount:apigee:apigee-cassandra-backup-sa. - Para
apigee-cassandra-restore-sa, vai ser algo semelhante asystem:serviceaccount:apigee:apigee-cassandra-restore-sa.
- Para
-
Apresente os endereços de email da conta de serviço IAM para o Cassandra:
-
Verifique se o
apigeedatastoreestá em funcionamento verificando o respetivo estado antes de prosseguir para o passo seguinte:kubectl -n APIGEE_NAMESPACE get apigeedatastore default
NAME STATE AGE default running 51s
- Execução de ensaio:
-
Instale a telemetria da Apigee:
- Execução de ensaio:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está a funcionar corretamente verificando o respetivo estado:
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 55s
-
Conceda às contas de serviço do Kubernetes de telemetria acesso para usar a identidade da
apigee-metricsconta de serviço do IAM associada.-
Indique o endereço de email da conta de serviço IAM para métricas:
Produção
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-metrics"
O resultado deve ser semelhante ao seguinte:
apigee-metrics apigee-metrics@my-project.iam.gserviceaccount.com False
Não prod
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-non-prod"
O resultado deve ser semelhante ao seguinte:
apigee-non-prod apigee-non-prod@my-project.iam.gserviceaccount.com False
-
Liste as contas de serviço do Kubernetes de telemetria:
kubectl get serviceaccount -n APIGEE_NAMESPACE | grep "telemetry"
O resultado deve ser semelhante ao seguinte:
apigee-metrics-apigee-telemetry 0 42m apigee-open-telemetry-collector-apigee-telemetry 0 37m
-
Conceda a cada uma das contas de serviço do Kubernetes de telemetria acesso para se fazer passar pela
apigee-metricsconta de serviço do IAM com o seguinte comando:Produção
KSA de métricas da Apigee:
apigee-metrics-apigee-telemetryparaapigee-metricsconta de serviço do IAM da GoogleCódigo
gcloud iam service-accounts add-iam-policy-binding \ METRICS_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-metrics@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-metrics-apigee-telemetry" \ --role=roles/iam.workloadIdentityUserKSA do Apigee OpenTelemetry Collector:
apigee-open-telemetry-collector-apigee-telemetryparaapigee-metricsconta de serviço do Google IAMCódigo
gcloud iam service-accounts add-iam-policy-binding \ METRICS_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-metrics@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-open-telemetry-collector-apigee-telemetry" \ --role=roles/iam.workloadIdentityUserNão prod
KSA de métricas da Apigee:
apigee-metrics-apigee-telemetryparaapigee-non-prodconta de serviço do IAM da GoogleCódigo
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-metrics-apigee-telemetry" \ --role=roles/iam.workloadIdentityUserKSA do Apigee OpenTelemetry Collector:
apigee-open-telemetry-collector-apigee-telemetryparaapigee-non-prodconta de serviço do Google IAMCódigo
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-open-telemetry-collector-apigee-telemetry" \ --role=roles/iam.workloadIdentityUser
-
Indique o endereço de email da conta de serviço IAM para métricas:
- Execução de ensaio:
-
Instale o Apigee Redis:
-
Execução de ensaio:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está a funcionar corretamente verificando o respetivo estado:
kubectl -n APIGEE_NAMESPACE get apigeeredis default
NAME STATE AGE default running 79s
-
-
Instale o gestor de entrada do Apigee:
-
Execução de ensaio:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está em funcionamento, verificando a respetiva disponibilidade:
kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 16s
-
-
Instale a organização do Apigee. Se tiver definido a variável de ambiente $ORG_NAME na sua shell, pode usá-la nos seguintes comandos:
-
Execução de ensaio:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml \ --dry-run=server
-
Instale o gráfico:
helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml
-
Verifique se está em funcionamento consultando o estado da organização respetiva:
kubectl -n APIGEE_NAMESPACE get apigeeorg
NAME STATE AGE my-project-123abcd running 4m18s
-
Conceda às contas de serviço do Kubernetes com âmbito da organização acesso para usar a identidade das contas de serviço do IAM associadas.
-
Indique os endereços de email das contas de serviço IAM usadas pelos componentes
apigee-mart,apigee-udcaeapigee-watcher:Produção
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-mart\|apigee-udca\|apigee-watcher"
O resultado deve ser semelhante ao seguinte:
apigee-mart apigee-mart@my-project.iam.gserviceaccount.com False apigee-udca apigee-udca@my-project.iam.gserviceaccount.com False apigee-watcher apigee-watcher@my-project.iam.gserviceaccount.com False
Se estiver a usar a rentabilização para o Apigee hybrid, também tem de obter o endereço de email da conta de serviço
apigee-mint-task-scheduler.gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-mint-task-scheduler"
O resultado deve ser semelhante ao seguinte:
apigee-mint-task-scheduler apigee-mint-task-scheduler@my-project.iam.gserviceaccount.com False
Não prod
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-non-prod"
O resultado deve ser semelhante ao seguinte:
apigee-non-prod apigee-non-prod@my-project.iam.gserviceaccount.com False -
Liste as contas de serviço do Kubernetes ao nível da organização:
kubectl get serviceaccount -n APIGEE_NAMESPACE | grep "apigee-connect-agent\|apigee-mart\|apigee-udca\|apigee-watcher"
O resultado deve ser semelhante ao seguinte:
apigee-connect-agent-my-project-123abcd 0 1h4m apigee-mart-my-project-123abcd 0 1h4m apigee-mint-task-scheduler-my-project-123abcd 0 1h3m apigee-udca-my-project-123abcd 0 1h2m apigee-watcher-my-project-123abcd 0 1h1m -
Use os seguintes comandos para conceder às contas de serviço do Kubernetes com âmbito da organização acesso
para usar a identidade das contas de serviço do IAM associadas da seguinte forma:
Produção
Associe o agente KSA:
apigee-connect-agent-ORG_NAME-ORG_HASH_IDconta de serviço do Kubernetes à conta de serviço doapigee-martIAM.Código
gcloud iam service-accounts add-iam-policy-binding \ APIGEE_MART_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-mart@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-connect-agent-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserMART KSA:
apigee-mart-ORG_NAME-ORG_HASH_IDconta de serviço do Kubernetes paraapigee-martconta de serviço do IAM. O MART e o agente Connect usam a mesma conta de serviço do IAM.Código
gcloud iam service-accounts add-iam-policy-binding \ APIGEE_MART_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-mart@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-mart-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserMint task scheduler KSA: (se estiver a usar a rentabilização para o Apigee Hybrid)
apigee-mint-task-scheduler-ORG_NAME-ORG_HASH_IDConta de serviço do Kubernetes para a conta de serviço doapigee-mint-task-schedulerIAM.Código
gcloud iam service-accounts add-iam-policy-binding \ APIGEE_MINT_TASK_SCHEDULER_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-mint-task-scheduler@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-mint-task-scheduler-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserUDCA KSA ao nível da organização:
apigee-udca-ORG_NAME-ORG_HASH_IDconta de serviço do Kubernetes paraapigee-udcaconta de serviço do IAM.Código
gcloud iam service-accounts add-iam-policy-binding \ APIGEE_UDCA_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-udca-task-scheduler@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-udca-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserWatcher KSA:
apigee-watcher-ORG_NAME-ORG_HASH_IDconta de serviço do Kubernetes paraapigee-watcherconta de serviço de IAM.Código
gcloud iam service-accounts add-iam-policy-binding \ APIGEE_WATCHER_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-watcher@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-watcher-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserNão prod
Associe o agente KSA:
apigee-connect-agent-ORG_NAME-ORG_HASH_IDconta de serviço do Kubernetes à conta de serviço doapigee-non-prodIAM.Código
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-connect-agent-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserMART KSA:
apigee-mart-ORG_NAME-ORG_HASH_IDconta de serviço do Kubernetes paraapigee-non-prodconta de serviço do IAM.Código
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-mart-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserMint task scheduler KSA: (se estiver a usar a rentabilização para o Apigee Hybrid)
apigee-mint-task-scheduler-ORG_NAME-UUIORG_HASH_IDDConta de serviço do Kubernetes para a conta de serviço doapigee-non-prodIAM.Código
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-mint-task-scheduler-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserUDCA KSA ao nível da organização:
apigee-udca-ORG_NAME-ORG_HASH_IDconta de serviço do Kubernetes paraapigee-non-prodconta de serviço do IAM.Código
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-udca-my-org-123abcd" \ --role=roles/iam.workloadIdentityUserWatcher KSA:
apigee-watcher-ORG_NAME-ORG_HASH_IDconta de serviço do Kubernetes paraapigee-non-prodconta de serviço de IAM.Código
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-watcher-my-org-123abcd" \ --role=roles/iam.workloadIdentityUser
-
Indique os endereços de email das contas de serviço IAM usadas pelos componentes
-
-
Instale o ambiente.
Tem de instalar um ambiente de cada vez. Especifique o ambiente com
--set env=ENV_NAME. Se tiver definido a variável de ambiente $ENV_NAME na sua shell, pode usá-la nos seguintes comandos:-
Execução de ensaio:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run=server
ENV_RELEASE_NAME é um nome usado para monitorizar a instalação e as atualizações do gráfico
apigee-env. Este nome tem de ser exclusivo dos outros nomes de lançamentos do Helm na sua instalação. Normalmente, este valor é igual aENV_NAME. No entanto, se o seu ambiente tiver o mesmo nome que o seu grupo de ambientes, tem de usar nomes de lançamentos diferentes para o ambiente e o grupo de ambientes, por exemplo,dev-env-releaseedev-envgroup-release. Para mais informações sobre lançamentos no Helm, consulte Três grandes conceitos na documentação do Helm. -
Instale o gráfico:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml
-
Verifique se está em funcionamento verificando o estado do ambiente respetivo:
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-my-project-my-env running 3m1s
-
Conceda às contas de serviço do Kubernetes com âmbito no ambiente acesso para usar a identidade das contas de serviço do IAM associadas.
-
Apresente o endereço de email das contas de serviço IAM usadas pelos componentes
apigee-runtime,apigee-synchronizereapigee-udca:Produção
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-runtime\|apigee-synchronizer\|apigee-udca"
Não prod
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-non-prod"
gcloud iam service-accounts list --project PROJECT_ID | grep "apigee-mart\|apigee-udca\|apigee-watcher"
O resultado deve ser semelhante ao seguinte:
Produção
apigee-runtime apigee-runtime@my-project.iam.gserviceaccount.com False apigee-synchronizer apigee-synchronizer@my-project.iam.gserviceaccount.com False apigee-udca apigee-udca@my-project.iam.gserviceaccount.com FalseNão prod
apigee-non-prod apigee-non-prod@my-project.iam.gserviceaccount.com False -
Liste as contas de serviço do Kubernetes com âmbito no ambiente:
kubectl get serviceaccount -n APIGEE_NAMESPACE | grep "apigee-runtime\|apigee-synchronizer\|apigee-udca"
O resultado deve ser semelhante ao seguinte:
apigee-runtime-my-project--my-env-cdef123 0 19m apigee-synchronizer-my-project-my-env-cdef123 0 17m apigee-udca-my-project-123abcd 0 1h29m apigee-udca-my-project-my-env-cdef123 0 22m -
Use o seguinte comando para conceder às contas de serviço do Kubernetes com âmbito do ambiente acesso
para usar a identidade das contas de serviço do IAM associadas da seguinte forma:
Produção
KSA de tempo de execução:
apigee-runtime-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA paraapigee-runtimeSA da IAM do GoogleCódigo
gcloud iam service-accounts add-iam-policy-binding \ RUNTIME_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-runtime@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-runtime-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUserSincronizador KSA:
apigee-synchronizer-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA paraapigee-synchronizerSA do IAM da GoogleCódigo
gcloud iam service-accounts add-iam-policy-binding \ SYNCHRONIZER_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-synchronizer@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-synchronizer-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUserUDCA KSA:
apigee-udca-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA paraapigee-udcaGoogle IAM SACódigo
gcloud iam service-accounts add-iam-policy-binding \ UDCA_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-udca@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-udca-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUserNão prod
KSA de tempo de execução:
apigee-runtime-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA paraapigee-non-prodSA da IAM do GoogleCódigo
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-runtime-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUserNão prod
Sincronizador KSA:
apigee-synchronizer-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA paraapigee-non-prodSA do IAM da GoogleCódigo
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-synchronizer-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUserNão prod
UDCA KSA:
apigee-udca-PROJECT_ID-ENV_NAME-ENV_HASH_ID-saKSA paraapigee-non-prodGoogle IAM SACódigo
gcloud iam service-accounts add-iam-policy-binding \ NON_PROD_IAM_SA_EMAIL \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \ --role=roles/iam.workloadIdentityUserExemplo
gcloud iam service-accounts add-iam-policy-binding \ apigee-non-prod@my-project.iam.gserviceaccount.com \ --member="principal://iam.googleapis.com/projects/1234567890/locations/global/workloadIdentityPools/my-pool/subject/system:serviceaccount:apigee:apigee-udca-my-project-my-env-cdef123" \ --role=roles/iam.workloadIdentityUser
-
Apresente o endereço de email das contas de serviço IAM usadas pelos componentes
-
-
Instale os grupos de ambientes (
virtualhosts).- Tem de instalar um grupo de ambientes (virtualhost) de cada vez. Especifique o grupo
do ambiente com
--set envgroup=ENV_GROUP. Se tiver definido a variável de ambiente $ENV_GROUP no seu shell, pode usá-la nos comandos seguintes. Repita os seguintes comandos para cada grupo de ambiente mencionado no seu ficheirooverrides.yaml:Execução de ensaio:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run=server
ENV_GROUP_RELEASE_NAME é um nome usado para monitorizar a instalação e as atualizações do gráfico
apigee-virtualhosts. Este nome tem de ser exclusivo dos outros nomes de lançamentos do Helm na sua instalação. Normalmente, este valor é igual aENV_GROUP. No entanto, se o grupo de ambientes tiver o mesmo nome que um ambiente na sua instalação, tem de usar nomes de lançamentos diferentes para o grupo de ambientes e o ambiente, por exemplo,dev-envgroup-releaseedev-env-release. Para mais informações sobre lançamentos no Helm, consulte Três grandes conceitos na documentação do Helm. -
Instale o gráfico:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml
- Verifique o estado do ApigeeRoute (AR).
A instalação do
virtualhostscria o ApigeeRouteConfig (ARC), que cria internamente o ApigeeRoute (AR) assim que o monitor do Apigee extrai os detalhes relacionados com o grupo de ambientes do plano de controlo. Por conseguinte, verifique se o estado do AR correspondente está em execução:kubectl -n APIGEE_NAMESPACE get arc
NAME STATE AGE apigee-org1-dev-egroup 2m
kubectl -n APIGEE_NAMESPACE get ar
NAME STATE AGE apigee-ingressgateway-internal-chaining-my-project-123abcd running 19m my-project-myenvgroup-000-321dcba running 2m30s
- Tem de instalar um grupo de ambientes (virtualhost) de cada vez. Especifique o grupo
do ambiente com
Passo seguinte
No passo seguinte, vai configurar o gateway de entrada do Apigee e implementar um proxy para testar a instalação.
(NEXT) Passo 1: exponha a entrada do Apigee 2