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 alteração de configuração em um componente de plano de execução híbrido, edite o arquivo de modificações e aplique as alterações com apigeectl.

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: 4
    ...
  4. Use apigeectl para aplicar a alteração ao cluster:
    apigeectl apply -f ./OVERRIDES.yaml --org --env ENV_NAME

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. Por exemplo:

authz.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 authz 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 authz.image.pullPolicy como Always, localize esta estrofe YAML no arquivo de modificações e defina-a:

authz:
  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: configurar o cluster para mais informações.

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.

Arquivos de modificações de amostra

A Apigee fornece um conjunto de arquivos de modificações de amostra para ajudar a configurar sua implantação híbrida. É uma boa prática copiar e modificar o arquivo de modificações que melhor atende aos seus requisitos de instalação.

As amostras a seguir estão incluídas no diretório HYBRID_ROOT_DIR/examples:

Arquivos de modificações de amostra Descrição
overrides-small.yaml Essa amostra é ideal para dar os primeiros passos rapidamente. Ele usa a abrangência mínima recomendada para iniciar os componentes do ambiente de execução híbrido. Essa configuração de exemplo depende o máximo possível das configurações e valores padrão. Todas as réplicas mínimas estão definidas como 1.
overrides-medium.yaml Esse exemplo é um bom ponto de partida para ambientes de teste e de controle de qualidade. Os componentes individuais receberam um nível mais alto de recursos para lidar com tráfego adicional. O Cassandra usa discos SSD para desempenho. Nesse ambiente, é recomendável que os usuários instalem componentes com estado e sem estado em nós separados. Consulte Configurar nós dedicados.
overrides-large.yaml Essa amostra é um bom ponto de partida para ambientes de alto desempenho, como pré-produção e produção. O exemplo inclui propriedades para definir chaves de criptografia, senhas e outros. Os componentes individuais têm no mínimo duas réplicas.

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

É possível usar a sinalização --dry-run com apigeectl para testar o arquivo de configuração mesclado sem realmente aplicá-lo ao cluster. Essa opção é útil para depurar um problema 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.

Na Apigee híbrida, a sintaxe da sinalização --dry-run depende da versão de kubectl que você está executando. Verifique a versão de kubectl com o seguinte comando:

kubectl version

kubectl versão 1.17 e anterior:

APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES.yaml --dry-run=true

kubectl versão 1.18 e mais recente:

APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES.yaml --dry-run=client

Para ver mais informações, consulte apigeectl.

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.

apigeectl apply  -f ./test_env_override.yaml

Para ver mais informações, consulte apigeectl.

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

Para excluir os componentes do plano de execução específicos do híbrido do cluster, use o comando apigeectl delete. Esses componentes incluem synchronizer, mart, runtime, cassandra e udca. Certifique-se de especificar o mesmo arquivo de modificações usado para instalar os componentes do ambiente de execução:

Exemplo:

apigeectl delete -f ./OVERRIDES.yaml

É possível usar o comando apigeectl apply para recriar um componente ou componentes específicos:

apigeectl apply --org --env ENV_NAME -f ./OVERRIDES.yaml

Para ver mais informações, consulte apigeectl.

Excluir um componente específico

Se você quiser excluir somente um componente específico, use a opção -c com apigeectl delete. Certifique-se de especificar o mesmo arquivo de modificações usado para instalar os componentes do ambiente de execução.

Por exemplo, para excluir o componente synchronizer, use este comando:

apigeectl delete --org --env ENV_NAME -f ./OVERRIDES.yaml

Em seguida, use o comando apigeectl apply para recriar o componente:

apigeectl apply --org --env ENV_NAME -f ./OVERRIDES.yaml

Para ver mais informações, consulte apigeectl.

Excluir todos os componentes

Para excluir todos os componentes do cluster de maneira híbrida, incluindo aqueles criados pelo comando apigeectl init, use o comando apigeectl delete com a sinalização --all. Certifique-se de especificar o mesmo arquivo de modificações usado para instalar os componentes do ambiente de execução:

Exemplo:

apigeectl delete -f ./OVERRIDES.yaml --all

Para ver mais informações, consulte apigeectl.