Este tópico explica como configurar e gerir os componentes do plano de execução do Apigee hybrid. Para ver uma lista dos componentes do plano de tempo de execução que pode configurar, consulte a vista geral da configuração do serviço de tempo de execução.
Acerca do ficheiro de substituições
Quando instala o tempo de execução híbrido num cluster pela primeira vez, tem de criar um ficheiro de substituições de configuração. Este ficheiro permite substituir os valores de configuração predefinidos conforme necessário, configurar ambientes, fazer referência a certificados TLS e chaves de contas de serviço, atribuir pools de nós do Kubernetes a componentes híbridos específicos, etc.
Os passos de instalação híbrida explicam o processo de criação de um ficheiro de substituições e de aplicação da sua configuração a um cluster. Se quiser alterar a configuração mais tarde, modifique o ficheiro de substituições que criou e volte a aplicá-lo.
Fazer uma alteração de configuração
Para fazer uma alteração de configuração a um componente do plano de tempo de execução híbrido, edite o ficheiro de substituições e use o Helm para atualizar o gráfico que corresponde ao componente. O gráfico seguinte mostra a correspondência entre os gráficos e os componentes do Apigee Hybrid:
Âmbito | Componentes | Gráfico de leme |
---|---|---|
Operador do Apigee | Operador do Apigee | apigee-operator |
Armazenamento | Cassandra | apigee-datastore |
Armazenamento na memória | Redis | apigee-redis |
Relatórios | Logger Metrics |
apigee-telemetry |
Ingress | Gateway de entrada do Apigee | apigee-ingress-manager |
Organização | Apigee Connect Agent MART UDCA Watcher |
apigee-org |
Ambiente | Runtime Synchronizer |
apigee-env |
Grupo de ambientes | virtualhost | apigee-virtualhost |
Por exemplo, para alterar a quantidade de réplicas no processador de mensagens, siga estes passos:
- Abra o ficheiro
OVERRIDES
.yaml
. Certifique-se de que usa o mesmo ficheiro de substituições que foi usado para instalar o tempo de execução híbrido no cluster. - Localize o elemento
runtime
no ficheiro. Por exemplo:runtime: nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime replicaCountMin: 1 replicaCountMax: 2 ...
-
Altere as propriedades de contagem de réplicas conforme necessário. Por exemplo:
runtime: nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime replicaCountMin: 2 replicaCountMax: 20 ...
- Atualize o ambiente.
- ENV_RELEASE_NAME é o nome com o qual instalou anteriormente o gráfico
apigee-env
. No híbrido v1.10, normalmente, éapigee-env-ENV_NAME
. No Hybrid v1.11 e mais recente, normalmente, é ENV_NAME. - ENV_NAME é o nome do ambiente que está a atualizar.
- OVERRIDES_FILE é o seu novo ficheiro de substituições para a versão 1.13.4
- Atualize o gráfico:
- Verifique se está em funcionamento consultando o estado do ambiente respetivo:
Tem de instalar um ambiente de cada vez. Especifique o ambiente com --set env=
ENV_NAME.
Execução de ensaio:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE \ --dry-run=server
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-org1-dev-xxx running 2d
Que propriedades de configuração pode modificar?
Pode encontrar a lista completa de propriedades configuráveis na referência de propriedades de configuração. A referência apenas lista as propriedades que pode modificar. Se tentar modificar uma propriedade que não esteja na referência, a alteração é ignorada.
Como usar a referência de configuração
A referência da propriedade de configuração usa a notação de pontos para descrever os elementos de configuração, em que o primeiro item é o nome do elemento de nível superior seguido de propriedades e propriedades secundárias. Por exemplo:
ao.image.pullPolicy
No ficheiro de substituições, as propriedades estão formatadas em YAML adequado. Para o exemplo acima,
o elemento ao
de nível superior tem uma indentação à esquerda
e as propriedades dos subelementos têm uma indentação abaixo. Além disso, o YAML requer dois pontos no
final de cada elemento e subelemento.
Por exemplo, para definir a propriedade ao.image.pullPolicy
como
Always
, localize esta secção YAML no ficheiro de substituições e defina-a
da seguinte forma:
ao: image: pullPolicy: Always
Por outro lado, a propriedade cassandra.auth.admin.password
(conforme
está listada na referência da propriedade de configuração) é usada para definir a palavra-passe de administrador do Cassandra. Para a alterar, localize o seguinte YAML no ficheiro de substituições e defina-o da seguinte forma:
cassandra: auth: admin: password: abc123
Lembre-se de que a referência da propriedade de configuração descreve todas as propriedades que pode definir em componentes do plano de tempo de execução híbrido. Siga o padrão explicado acima para modificar estes elementos no ficheiro de substituições antes de aplicar as alterações ao cluster.
Usar ficheiros de substituições de exemplos predefinidos
Quando instala o tempo de execução híbrido pela primeira vez, o Apigee recomenda que use um dos ficheiros de substituições de exemplo pré-configurados. Estes exemplos fornecem um conjunto completo de propriedades de configuração para cenários de instalação específicos, como a configuração de uma instalação de produção ou de teste. Só tem de fornecer valores adequados para as propriedades e aplicar o ficheiro de substituições ao seu cluster. Consulte o Passo 6: crie as substituições para mais informações.
Acerca das predefinições de configuração
O Apigee mantém a sua configuração de componentes predefinida no ficheiro
HYBRID_ROOT_DIR/config/values.yaml
. Os ficheiros de substituições seguem a mesma estrutura YAML
que values.yaml
.
Normalmente, um ficheiro de substituições inclui apenas um subconjunto das propriedades de configuração encontradas em
values.yaml
. Lembre-se de que nem todas as propriedades são editáveis. Quando aplica uma configuração
a um cluster, as substituições são unidas com as predefinições para criar a configuração completa do cluster
do Kubernetes. Consulte também o artigo Teste a configuração
unida.
O código seguinte mostra a configuração predefinida do componente mart
, conforme encontrado em values.yaml
. Tenha em atenção que alguns valores têm predefinições, enquanto outros, como sslCertPath
e sslKeyPath
, não têm. Tem de fornecer estes valores em falta no ficheiro de substituições, conforme explicado nos passos de instalação.
Se quiser alterar algum dos valores predefinidos, certifique-se de que são editáveis consultando a
referência da propriedade de configuração.
... mart: replicaCountMin: 2 replicaCountMax: 4 targetCPUUtilizationPercentage: 75 terminationGracePeriodSeconds: 30 sslCertPath: sslKeyPath: hostAlias: nodeSelector: key: value: revision: blue image: url: "gcr.io/apigee-release/hybrid/apigee-mart-server" tag: "1.13.4" pullPolicy: IfNotPresent resources: requests: cpu: 500m memory: 512Mi initCheckCF: resources: requests: cpu: 10m livenessProbe: timeoutSeconds: 1 failureThreshold: 12 periodSeconds: 5 initialDelaySeconds: 15 readinessProbe: timeoutSeconds: 1 successThreshold: 1 failureThreshold: 2 periodSeconds: 5 initialDelaySeconds: 15 metricsURL: "/v1/server/metrics" cwcAppend: | ...
Se quiser modificar as predefinições de um componente e o componente ainda não estiver no ficheiro de substituições, pode copiar o respetivo YAML de values.yaml
para o ficheiro de substituições e modificá-lo aí.
Anotações personalizadas
As anotações são mapas de chaves/valores usados para anexar metadados a pods do Kubernetes híbrido do Apigee. Pode criar anotações personalizadas para as seguintes propriedades indicadas na Referência de propriedades de configuração:
Para adicionar uma anotação personalizada, adicione uma estrofe ao ficheiro OVERRIDES.yaml
para o componente respetivo.
O exemplo seguinte ilustra como uma anotação pode ser especificada em runtime
pods:
runtime: annotations: businessunit: "bu1"
Teste a configuração unida
Pode usar a flag --dry-run
para testar o ficheiro de configuração
unido sem o aplicar realmente ao cluster. Esta opção é útil para depurar um problema de instalação, porque mostra exatamente o que vai ser aplicado ao cluster.
Também é uma boa prática testar a configuração e armazená-la no controlo de origem para ter uma referência dos recursos instalados e configurados no cluster.
kubectl apply -k apigee-operator/etc/crds/default/
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE.yaml \ --dry-run=server
helm upgrade ingress-manager apigee-ingress-manager/ / --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE.yaml \ --dry-run=server
Crie vários ficheiros de substituições conforme necessário
Pode criar quantos ficheiros de substituições quiser, em que cada um cumpre um requisito específico. Por exemplo, pode ter um ficheiro de substituições que ajuste o cluster para produção e outro para criar um cluster de testes. Em seguida, pode manter estes ficheiros no seu sistema de controlo de origem.
Por exemplo:
helm upgrade test-1-env apigee-env/ \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=test-1-env \ -f test-1-env-overrides.yaml
Elimine componentes do plano de tempo de execução específicos do híbrido
Os componentes do plano de tempo de execução incluem synchronizer
,
mart
, runtime
,
cassandra
e udca
.
Para eliminar os componentes do plano de tempo de execução específicos do híbrido do seu cluster, use o comando
helm delete
. Certifique-se de que especifica o mesmo ficheiro de substituições que usou para instalar os componentes de tempo de execução.
Por exemplo:
Se usar o Helm, tem de eliminar cada componente individualmente. Por exemplo, para eliminar o componente cassandra
, use o seguinte comando:
helm -n APIGEE_NAMESPACE delete datastore
No exemplo acima, o componente da base de dados foi instalado com o nome "datastore". Se o tiver instalado com um nome diferente, deve indicar esse nome para eliminar o componente. Por exemplo, se instalou o gráfico apigee-datastore
com
helm install my-cassandra-storage apigee-datastore/
. pode eliminá-lo com o seguinte comando:
helm delete -n apigee my-cassandra-storage
Para recriar um componente ou componentes específicos (o grupo de ambientes neste exemplo):
helm upgrade ENV_GROUP apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE.yaml