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 e assim sucessivamente.
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
aplique as alterações com o Helm ou o apigeectl
, consoante a sua ferramenta de gestão.
Por exemplo, para alterar a contagem 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 motor 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
- Aplique as alterações com os seguintes comandos:
Leme
Tem de instalar um ambiente de cada vez. Especifique o ambiente com
--set env=
ENV_NAME.- Faça primeiro uma execução de ensaio:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE \ --dry-run
- 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 caminho para o ficheiro de substituições.1.3.6
- ENV_RELEASE_NAME é o nome com o qual instalou anteriormente o gráfico
- Atualize o gráfico:
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE
apigeectl
Use
apigeectl
para aplicar a alteração ao cluster:apigeectl apply -f OVERRIDES.yaml --org --env apigee-env
- Faça primeiro uma execução de ensaio:
- Verifique se está em funcionamento consultando o estado do ambiente respetivo:
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 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: configure o cluster 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 às 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.3.6" 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í.
Ficheiros de substituições de exemplo
O Apigee fornece um conjunto de ficheiros de substituições de exemplo para ajudar a configurar a sua implementação híbrida. É uma boa prática copiar e modificar o ficheiro de substituições que corresponde mais de perto aos requisitos de instalação.
Os seguintes exemplos estão incluídos no diretório HYBRID_ROOT_DIR/examples
:
Ficheiros de substituições de exemplo | Descrição |
---|---|
overrides-small.yaml |
Este exemplo é ideal para começar rapidamente. Usa a área de ocupação mínima recomendada para iniciar os componentes de tempo de execução híbrido. Esta configuração de exemplo baseia-se o mais possível nas definições e nos valores predefinidos. Todas as réplicas mínimas estão definidas como 1 . |
overrides-medium.yaml |
Este exemplo é um bom ponto de partida para ambientes de teste e controlo de qualidade. Os componentes individuais receberam um nível mais elevado de recursos para lidar com tráfego adicional. O Cassandra usa discos SSD para o desempenho. Neste ambiente, recomenda-se que os utilizadores instalem componentes com estado e sem estado em nós separados. Consulte Configure nós dedicados. |
overrides-large.yaml |
Este exemplo é um bom ponto de partida para ambientes de elevado desempenho, como pré-produção e produção. O exemplo inclui propriedades para definir chaves de encriptação, palavras-passe e outras. Os componentes individuais têm um mínimo de duas réplicas. |
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 da propriedade 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, uma vez que 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.
Leme
kubectl apply -k apigee-operator/etc/crds/default/
helm upgrade operator apigee-operator/ \ --install \ --namespace apigee-system \ --atomic \ -f OVERRIDES_FILE.yaml \ --dry-run
helm upgrade ingress-manager apigee-ingress-manager/ / --install \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml \ --dry-run
apigeectl
APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES.yaml --dry-run=client
Para mais informações, consulte apigeectl
.
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:
Leme
helm upgrade test-1-env apigee-env/ \ --namespace apigee \ --atomic \ --set env=test-1-env \ -f test-1-env-overrides.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f test-1-env-overrides.yaml --env test-1-env
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 cluster, use os comandos
helm delete
ou apigeectl 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:
Leme
Se usar o Helm, tem de eliminar cada componente individualmente. Por exemplo, para eliminar o componentecassandra
, use o seguinte comando:
helm -n apigee 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
apigeectl
Com o comando apigeectl
, pode eliminar todos os componentes de tempo de execução de uma vez ou limitar o âmbito
para eliminar um componente de cada vez. Por exemplo, para eliminar todos os componentes de uma só vez:
$APIGEECTL_HOME/apigeectl delete -f OVERRIDES_FILE.yaml
Para eliminar o componente cassandra
:
$APIGEECTL_HOME/apigeectl delete -f OVERRIDES_FILE.yaml --datastore
Para recriar um componente ou componentes específicos (o grupo de ambientes neste exemplo):
Leme
helm upgrade ENV_GROUP apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --env ENV_NAME --settings virtualhosts