Gerenciar componentes do plano de tempo de execução

Este tópico explica como configurar e gerenciar os componentes do plano de tempo de execução híbrido da Apigee. Para obter uma lista dos componentes do plano de tempo de execução que você pode configurar, consulte Visão geral da configuração do serviço de tempo de execução .

Sobre o arquivo de substituições

Ao instalar o ambiente de execução híbrido pela primeira vez em um cluster, você deve criar um arquivo de substituições de configuração. Este arquivo permite substituir valores de configuração padrão conforme necessário, configurar ambientes, referenciar certificados TLS e chaves de contas de serviço, atribuir pools de nós do Kubernetes a componentes híbridos específicos e assim por diante.

As etapas da instalação híbrida descrevem o processo de criação de um arquivo de substituições e a aplicação da sua configuração a um cluster. Se desejar alterar a configuração posteriormente, modifique o arquivo de substituições criado e reaplique-o.

Fazendo uma alteração de configuração

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

Escopo Componentes Carta de leme
Operador Apigee Operador Apigee apigee-operator
Armazenar Cassandra apigee-datastore
Armazenamento na memória Redis apigee-redis
Relatórios madeireiro
Métricas
apigee-telemetry
Entrada Gateway de entrada da Apigee apigee-ingress-manager
Organização Agente Apigee Connect
MERCADO
UDCA
Observador
apigee-org
Ambiente Tempo de execução
Sincronizador
apigee-env
Grupo de meio ambiente host virtual apigee-virtualhost

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

  1. Abra o arquivo OVERRIDES .yaml . Certifique-se de usar o mesmo arquivo de substituições que foi usado para instalar o ambiente de execução híbrido no cluster.
  2. Localize o elemento runtime no arquivo. Por exemplo:
    ...
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 1
      replicaCountMax: 2
    ...
  3. 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
    ...
  4. Atualize o ambiente.
  5. Você deve instalar um ambiente por vez. Especifique o ambiente com --set env= ENV_NAME .

    Teste de 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 o qual você instalou anteriormente o gráfico apigee-env . No Hybrid v1.10, geralmente é apigee-env- ENV_NAME . No Hybrid v1.11 e versões mais recentes, geralmente é ENV_NAME .
    • ENV_NAME é o nome do ambiente que você está atualizando.
    • OVERRIDES_FILE é seu novo arquivo de substituições para a versão v.1.3.6
  6. Atualize o gráfico:
  7. helm upgrade ENV_RELEASE_NAME apigee-env/ \
    --install \
    --namespace APIGEE_NAMESPACE \
    --set env=ENV_NAME \
    -f OVERRIDES_FILE
    
  8. Verifique se ele está ativo e funcionando verificando o estado do respectivo env:
  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?

Você pode encontrar a lista completa de propriedades configuráveis ​​na Referência de propriedades de configuração . A referência lista apenas as propriedades que você pode modificar; 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 de propriedade Configuration usa a notação de ponto para descrever elementos de configuração, onde o primeiro item é o nome do elemento de nível superior, seguido pelas propriedades e propriedades filhas. Por exemplo:

ao.image.pullPolicy

No arquivo de substituições, as propriedades são formatadas em YAML adequado. No exemplo acima, o elemento ao de nível superior é recuado à esquerda e as propriedades do subelemento são recuadas abaixo dele. 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 substituições e defina-a da seguinte maneira:

ao:
  image:
    pullPolicy: Always

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

cassandra:
  auth:
    admin:
      password: abc123

Lembre-se de que a referência de propriedade de configuração descreve todas as propriedades que você pode definir nos componentes do plano de execução híbrido. Siga o padrão explicado acima para modificar esses elementos no seu arquivo de substituições antes de aplicar as alterações ao seu cluster.

Usando arquivos de substituição de exemplo predefinidos

Ao instalar o ambiente de execução híbrido pela primeira vez, a Apigee recomenda o uso de um dos arquivos de substituição 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 configurar uma instalação de produção ou teste. Tudo o que você precisa fazer é fornecer os valores apropriados para as propriedades e aplicar o arquivo de substituição ao seu cluster. Consulte a Etapa 6: Criar as substituições para obter mais informações.

Sobre padrões de configuração

O Apigee mantém sua configuração de componente padrão no arquivo HYBRID_ROOT_DIR /config/values.yaml . Seus arquivos de substituição seguem a mesma estrutura YAML de values.yaml .

Um arquivo de substituiçõ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 . Ao aplicar uma configuração a um cluster, suas substituiçõ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. Você deve fornecer esses valores ausentes no seu arquivo de substituições, conforme explicado nas etapas de instalação . Se desejar alterar algum dos valores padrão, certifique-se de que eles sejam editáveis, consultando a referência da propriedade Configuration .

...
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 você quiser modificar os padrões de um componente e o componente ainda não estiver no seu arquivo de substituições, você pode copiar o YAML dele de values.yaml para o seu arquivo de substituições e modificá-lo lá.

Anotações personalizadas

Anotações são mapas de chave/valor usados ​​para anexar metadados a pods híbridos do Kubernetes da Apigee. Você pode criar anotações personalizadas para as seguintes propriedades listadas na Referência de propriedades 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

Você pode usar a flag --dry-run para testar o arquivo de configuração mesclado sem aplicá-lo ao seu cluster. Esta opção é útil para depurar um problema de instalação, pois 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 que você tenha 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-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

Crie vários arquivos de substituição conforme necessário

Você pode criar quantos arquivos de substituição desejar, cada um atendendo a um requisito específico. Por exemplo, você pode ter um arquivo de substituição que ajusta seu cluster para produção e outro para criar um cluster de teste. Você pode então manter esses arquivos em seu sistema de controle de origem.

Por exemplo:

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

Excluir 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 excluir os componentes do plano de execução específicos do híbrido do seu cluster, use o comando helm delete . Certifique-se de especificar o mesmo arquivo de substituição usado para instalar os componentes do plano de execução.

Por exemplo:

Usando o Helm, você deve 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 de armazenamento de dados foi instalado com o nome "datastore". Se você o instalou com um nome diferente, deverá fornecer esse nome para excluir o componente. Por exemplo, se você instalou o gráfico apigee-datastore com helm install my-cassandra-storage apigee-datastore/ , deverá excluí-lo com o seguinte comando:

helm delete -n apigee my-cassandra-storage

Para recriar um ou mais componentes específicos (o grupo de ambiente neste exemplo):

helm upgrade ENV_GROUP apigee-virtualhost/ \
  --install \
  --namespace apigee \
  --atomic \
  --set envgroup=ENV_GROUP_NAME \
  -f OVERRIDES_FILE.yaml