Gerenciar componentes do plano de ambiente de execução

Neste tópico, explicamos como configurar e gerenciar os componentes do plano do ambiente de execução híbrido do Apigee. Para uma lista dos componentes do plano do ambiente de execução que podem ser configurados, consulte Visão geral da configuração do serviço do ambiente de execução.

Sobre o arquivo de modificações

Na primeira vez que você instalar o ambiente de execução híbrido em um cluster, será preciso criar uma configuração arquivo de modificações. Esse arquivo permite que você modifique os valores de configuração padrão conforme necessário, configure ambientes, faça referência a certificados TLS e chaves de conta de serviço, atribua pools de nós do Kubernetes a componentes híbridos específicos e assim por diante.

As etapas de instalação híbrida percorrem o processo de criação de um arquivo de modificações e de aplicar a configuração a um cluster. Se você quiser alterar a configuração mais tarde, modifique o arquivo de modificações criado e aplique-o novamente.

Como fazer uma alteração de configuração

Para fazer uma mudança de configuração em um componente do plano de ambiente de execução híbrido, edite o arquivo de substituições e use o Helm para fazer upgrade do gráfico correspondente ao componente. O gráfico a seguir mostra quais gráficos correspondem a quais componentes da Apigee híbrida:

EscopoComponentesGráfico do Helm
Operador da Apigee Operador da Apigee apigee-operator
Armazenamento Cassandra apigee-datastore
Armazenamento na memória Redis apigee-redis
Relatórios Métricas do
logger
apigee-telemetry
Entrada Gateway de entrada da Apigee apigee-ingress-manager
Organização Apigee Connect Agent
MART
UDCA
Watcher
apigee-org
Ambiente Sincronizador
de ambiente de execução
apigee-env
Grupo de ambientes virtualhost apigee-virtualhost

Por exemplo, para alterar a contagem de réplicas no Processador de mensagens, siga estas etapas:

  1. Abra o arquivo OVERRIDES.yaml. Use o mesmo arquivo de modificações que foi usado para instalar o ambiente de execução híbrido no cluster.
  2. Localize o elemento runtime no arquivo. Exemplo:
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 1
      replicaCountMax: 2
    ...
  3. Altere as propriedades da contagem de réplicas, conforme necessário. Exemplo:
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 2
      replicaCountMax: 20
    ...
  4. Faça upgrade do ambiente.
  5. É preciso instalar um ambiente de cada vez. Especifique o ambiente com --set env=ENV_NAME.

    Simulação:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
    --install \
    --namespace APIGEE_NAMESPACE \
    --set env=ENV_NAME \
    -f OVERRIDES_FILE \
    --dry-run=server
    
    • ENV_RELEASE_NAME é o nome com que você instalou anteriormente o gráfico apigee-env. Na versão híbrida v1.10, geralmente é apigee-env-ENV_NAME. Na versão 1.11 e mais recentes da versão híbrida, geralmente ele é ENV_NAME.
    • ENV_NAME é o nome do ambiente que você está fazendo upgrade.
    • OVERRIDES_FILE é o novo arquivo de substituição para a v.1.3.6
  6. Faça upgrade do gráfico:
  7. helm upgrade ENV_RELEASE_NAME apigee-env/ \
    --install \
    --namespace APIGEE_NAMESPACE \
    --set env=ENV_NAME \
    -f OVERRIDES_FILE
    
  8. Para saber se ele está funcionando, confira o estado do respectivo ambiente:
  9. kubectl -n APIGEE_NAMESPACE get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    apigee-org1-dev-xxx            running     2d

Quais propriedades de configuração você pode modificar?

Veja a lista completa de propriedades configuráveis na Referência da propriedade de configuração. A referência lista apenas as propriedades que podem ser modificadas. Se você tentar modificar uma propriedade que não esteja na referência, a alteração será ignorada.

Como usar a referência de configuração

A Referência da propriedade de configuração usa a notação de ponto para descrever elementos de configuração, em que o primeiro item é o nome do elemento de nível superior seguido por propriedades e propriedades filho. Exemplo:

ao.image.pullPolicy

No arquivo de modificações, as propriedades são formatadas em YAML adequado. Para o exemplo acima, o elemento de nível superior ao tem recuo à esquerda e as propriedades de subelemento são recuadas nele. 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 estrofe YAML no arquivo de modificações e defina-a:

ao:
  image:
    pullPolicy: Always

Para outro exemplo, a propriedade cassandra.auth.admin.password (conforme listado na referência da propriedade de configuração) é usada para definir a senha de administrador do Cassandra. Para alterá-la, localize o YAML a seguir no arquivo de modificações e defina-o da seguinte maneira:

cassandra:
  auth:
    admin:
      password: abc123

Lembre-se de que a Referência de propriedade de configuração descreve todas as propriedades que podem ser definidas em componentes do plano do ambiente de execução híbrido. Siga o padrão explicado acima para modificar esses elementos no arquivo de modificações antes de aplicar as alterações no cluster.

Como usar arquivos de modificações de exemplos predefinidos

Quando você instala o ambiente de execução híbrido pela primeira vez, a Apigee recomenda que você use um dos arquivos de modificações de exemplo pré-configurados. Esses exemplos fornecem um conjunto completo de propriedades de configuração para cenários de instalação específicos, como para definir uma instalação de produção ou teste. Você só precisa fornecer valores apropriados para as propriedades e aplicar o arquivo de modificações ao cluster. Consulte a Etapa 6: criar as substituições para saber mais.

Sobre padrões de configuração

A Apigee mantém a configuração padrão de componentes no arquivo HYBRID_ROOT_DIR/config/values.yaml. Seus arquivos de modificações seguem a mesma estrutura YAML de values.yaml.

Um arquivo de modificações normalmente 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 você aplica uma configuração a um cluster, as modificações são mescladas com os padrões para criar a configuração completa do cluster do Kubernetes. Consulte também Testar a configuração mesclada.

O código a seguir mostra a configuração padrão para o componente mart, conforme encontrado em values.yaml. Observe que alguns valores têm padrões, enquanto outros como sslCertPath e sslKeyPath não. Forneça esses valores ausentes no arquivo de modificações, conforme explicado nas etapas de instalação. Se você quiser alterar algum valor padrão, verifique se ele pode ser editado na Referência de 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 os padrões de um componente e o componente ainda não estiver no arquivo de modificações, copie o YAML de values.yaml para o arquivo de modificações e modifique-o nele.

Anotações personalizadas

Anotações são mapas de chave-valor usados para anexar metadados a pods do Kubernetes da Apigee híbrida. É possível criar anotações personalizadas para as seguintes propriedades listadas na Referência de propriedade de configuração:

Para adicionar uma anotação personalizada, adicione uma estrofe ao arquivo OVERRIDES.yaml para o respectivo componente.

O exemplo a seguir ilustra como uma anotação pode ser especificada em pods runtime:

runtime:
  annotations:
    businessunit: "bu1"

Teste a configuração mesclada

Use a flag --dry-run para testar o arquivo de configuração mesclado sem aplicá-lo ao cluster. Essa opção é útil para depurar problemas de instalação porque mostra exatamente o que será aplicado ao cluster. Também é uma boa prática testar a configuração e armazená-la no controle 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 arquivos de modificações conforme necessário

Você pode criar quantas modificações quiser, em que cada uma atende a um requisito específico. Por exemplo, você pode ter um arquivo que modifique seu cluster para produção e outro para criar um cluster de teste. É possível manter esses arquivos no sistema de controle de origem.

Exemplo:

helm upgrade test-1-env apigee-env/ \
  --namespace APIGEE_NAMESPACE \
  --atomic \
  --set env=test-1-env \
  -f test-1-env-overrides.yaml

Excluir componentes do plano de ambiente de execução específicos do híbrido

Os componentes do plano do ambiente de execução incluem synchronizer, mart, runtime, cassandra e udca.

Para excluir os componentes do plano de execução específicos do híbrido do cluster, use o comando helm delete. Especifique o mesmo arquivo de substituições usado para instalar os componentes do ambiente de execução.

Exemplo:

Use o Helm para excluir cada componente individualmente. Por exemplo, para excluir o componente cassandra, use o seguinte comando:

helm -n APIGEE_NAMESPACE delete datastore

No exemplo acima, o componente do repositório de dados foi instalado com o nome "datastore". Se você instalou o componente com um nome diferente, forneça esse nome para excluir o componente. Por exemplo, se você instalou o gráfico apigee-datastore com helm install my-cassandra-storage apigee-datastore/, exclua-o usando o seguinte comando:

helm delete -n apigee my-cassandra-storage

Para recriar 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