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 do plano do ambiente de execução híbrido, edite o arquivo de substituições e aplique as alterações com o Helm ou com apigeectl, dependendo da ferramenta de gerenciamento.

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. Aplique as mudanças com os seguintes comandos:

    Helm

    É preciso instalar um ambiente de cada vez. Especifique o ambiente com --set env=ENV_NAME.

    1. Faça primeiro uma simulação:
      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 que você instalou anteriormente o gráfico apigee-env. Na versão híbrida v1.10, geralmente é apigee-env-ENV_NAME. Na versão híbrida v1.11 e mais recentes, geralmente é ENV_NAME.
      • ENV_NAME é o nome do ambiente que você está fazendo upgrade.
      • OVERRIDES_FILE é o caminho para o arquivo de substituições.1.3.6
    2. Faça upgrade do 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
  5. Para saber se ele está funcionando, confira o estado do respectivo ambiente:
    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: 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

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.

Helm

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 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.

Por exemplo:

Helm

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

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 do cluster os componentes do plano do ambiente de execução específicos da Apigee híbrida, use os comandos helm delete ou apigeectl delete. Especifique o mesmo arquivo de substituições usado para instalar os componentes do ambiente de execução.

Por exemplo:

Helm

Use o Helm para excluir cada componente individualmente. Por exemplo, para excluir o componente cassandra, use o seguinte comando:
helm -n apigee 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

apigeectl

Com apigeectl, é possível excluir todos os componentes do ambiente de execução de uma só vez ou limitar o escopo para excluir um por vez. Por exemplo, para excluir todos os componentes de uma vez:
$APIGEECTL_HOME/apigeectl delete -f OVERRIDES_FILE.yaml

Para excluir o componente cassandra:

$APIGEECTL_HOME/apigeectl delete -f OVERRIDES_FILE.yaml --datastore

Para recriar componentes específicos (o grupo de ambientes neste exemplo):

Helm

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