Gérer les composants du plan d'exécution

Cet article explique comment configurer et gérer les composants du plan d'exécution Apigee hybrid. Pour obtenir la liste des composants du plan d'exécution que vous pouvez configurer, consultez la section Présentation de la configuration du service d'exécution.

À propos du fichier de remplacement

La première fois que vous installez l'environnement d'exécution hybride dans un cluster, vous devez créer un fichier de remplacement de configuration. Ce fichier vous permet de remplacer les valeurs de configuration par défaut si nécessaire, de configurer des environnements, de référencer des certificats TLS et des clés de comptes de service, d'attribuer des pools de nœuds Kubernetes à des composants hybrides spécifiques, etc.

Les étapes d'installation du système hybride décrivent le processus de création d'un fichier de remplacement et le processus d'application de votre configuration à un cluster. Si vous souhaitez modifier la configuration ultérieurement, modifiez le fichier de remplacement que vous avez créé, puis appliquez-le à nouveau.

Modifier une configuration

Pour modifier la configuration d'un composant du plan d'exécution hybride, modifiez votre fichier de remplacement et utilisez Helm pour mettre à niveau le chart correspondant au composant. Le graphique suivant montre quels charts correspondent aux composants Apigee hybrid:

Champ d'applicationComposantsChart Helm
Opérateur Apigee Opérateur Apigee apigee-operator
Stockage Cassandra apigee-datastore
Stockage en mémoire Redis apigee-redis
Rapports Logger
Metrics
apigee-telemetry
Entrée Passerelle d'entrée Apigee apigee-ingress-manager
Organisation Agent Apigee Connect
MART
UDCA
Watcher
apigee-org
Environnement Runtime
Synchronizer
apigee-env
Groupe d'environnements virtualhost apigee-virtualhost

Par exemple, pour modifier le nombre d'instances dupliquées sur le processeur de messages, procédez comme suit :

  1. Ouvrez votre fichier OVERRIDES.yaml. Veillez à utiliser le même fichier de remplacement que celui utilisé pour installer l'environnement d'exécution hybride dans le cluster.
  2. Recherchez l'élément runtime dans le fichier. Exemple :
    ...
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 1
      replicaCountMax: 2
    ...
  3. Modifiez les propriétés du nombre d'instances répliquées, selon vos besoins. Exemple :
    ...
    runtime:
      nodeSelector:
        key: cloud.google.com/gke-nodepool
        value: apigee-runtime
      replicaCountMin: 2
      replicaCountMax: 20
    ...
  4. Appliquez les modifications à l'aide du chart apigee-org :

      helm upgrade ORG_NAME apigee-org/ \
        --namespace APIGEE_NAMESPACE \
        --atomic \
        -f OVERRIDES_FILE.yaml
      

Quelles propriétés de configuration pouvez-vous modifier ?

Vous trouverez la liste complète des propriétés configurables dans la documentation de référence sur les propriétés de configuration. La référence ne répertorie que les propriétés que vous pouvez modifier. Si vous essayez de modifier une propriété qui ne figure pas dans la référence, la modification est ignorée.

Comment utiliser la référence de configuration ?

La documentation de référence sur la propriété de configuration utilise la notation par points pour décrire les éléments de configuration. Le premier élément est le nom de l'élément de niveau supérieur suivi des propriétés et des propriétés enfants. Exemple :

ao.image.pullPolicy

Dans le fichier de remplacement, les propriétés sont au format YAML approprié. Dans l'exemple ci-dessus, l'élément ao de niveau supérieur est mis en retrait à gauche et les propriétés des sous-éléments sont mis en retrait juste en-dessous. Le code YAML requiert également le signe "deux-points" à la fin de chaque élément et sous-élément.

Par exemple, pour définir la propriété ao.image.pullPolicy sur Always, recherchez ce stanza YAML dans le fichier de remplacement et définissez-le comme suit :

ao:
  image:
    pullPolicy: Always

Autre exemple, la propriété cassandra.auth.admin.password (telle qu'elle est répertoriée dans la référence de la propriété Configuration) est utilisée pour définir le mot de passe administrateur Cassandra. Pour le modifier, localisez le code YAML suivant dans le fichier de remplacement et définissez-le comme suit :

cassandra:
  auth:
    admin:
      password: abc123

N'oubliez pas que la référence sur les propriétés de configuration décrit toutes les propriétés que vous pouvez définir dans des composants de plan d'exécution hybride. Suivez le modèle expliqué ci-dessus pour modifier ces éléments dans votre fichier de remplacement avant d'appliquer les modifications à votre cluster.

Utiliser un exemple prédéfini de fichier de remplacement

Lorsque vous installez pour la première fois l'environnement d'exécution hybride, Apigee vous recommande d'utiliser l'un des exemples de fichiers de remplacement préconfigurés. Ces exemples fournissent un ensemble complet de propriétés de configuration pour des scénarios d'installation spécifiques, tels que la configuration d'une installation de production ou de test. Il vous suffit de fournir les valeurs appropriées pour les propriétés et d'appliquer le fichier de remplacement à votre cluster. Pour en savoir plus, consultez l'Étape 6 : Créer les remplacements.

À propos de la configuration par défaut

Apigee conserve la configuration de ses composants par défaut dans le fichier HYBRID_ROOT_DIR/config/values.yaml. Vos fichiers de remplacement suivent la même structure YAML que values.yaml.

Un fichier de remplacement n'inclut généralement qu'un sous-ensemble des propriétés de configuration trouvées dans values.yaml. N'oubliez pas que toutes les propriétés ne sont pas modifiables. Lorsque vous appliquez une configuration à un cluster, vos remplacements sont fusionnés avec les valeurs par défaut pour créer la configuration complète du cluster Kubernetes. Consultez également la section Tester la configuration fusionnée.

Le code suivant montre la configuration par défaut du composant mart, figurant dans values.yaml. Notez que certaines valeurs ont des valeurs par défaut, tandis que d'autres, telles que sslCertPath et sslKeyPath, n'en ont pas. Vous devez fournir ces valeurs manquantes dans votre fichier de remplacement, comme expliqué dans la procédure d'installation. Si vous souhaitez modifier l'une des valeurs par défaut, assurez-vous qu'elles sont modifiables en consultant la documentation de référence sur les propriétés de 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: |
...

Si vous souhaitez modifier les valeurs par défaut d'un composant et que le composant ne se trouve pas déjà dans votre fichier de remplacement, vous pouvez copier son fichier YAML depuis values.yaml dans votre fichier de remplacement et le modifier à partir de ce dernier.

Annotations personnalisées

Les annotations sont des mappages clé-valeur permettant d'associer des métadonnées à des pods Kubernetes Apigee Hybrid. Vous pouvez créer des annotations personnalisées pour les propriétés suivantes, répertoriées dans la documentation de référence sur les propriétés de configuration :

Pour ajouter une annotation personnalisée, ajoutez un stanza au fichier OVERRIDES.yaml pour le composant correspondant.

L'exemple suivant montre comment une annotation peut être spécifiée dans les pods runtime :

runtime:
  annotations:
    businessunit: "bu1"

Tester la configuration fusionnée

Vous pouvez utiliser l'option --dry-run pour tester le fichier de configuration fusionnée sans l'appliquer réellement à votre cluster. Cette option est utile pour déboguer un problème d'installation, car elle indique exactement ce qui sera appliqué au cluster. Il est également recommandé de tester la configuration et de la stocker dans le système de gestion de code source pour que vous ayez une référence des ressources installées et configurées dans le 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
helm upgrade ingress-manager apigee-ingress-manager/ /
  --install \
  --namespace APIGEE_NAMESPACE \
  --atomic \
  -f OVERRIDES_FILE.yaml \
  --dry-run

Créer plusieurs fichiers de remplacement selon vos besoins

Vous pouvez créer autant de fichiers de remplacement que vous le souhaitez, chacun d'entre eux répondant à une exigence spécifique. Par exemple, vous pouvez disposer d'un fichier de remplacement qui ajuste votre cluster pour la production, et un autre pour la création d'un cluster de test. Vous pouvez ensuite conserver ces fichiers dans votre système de gestion de code source.

Exemple :

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

Supprimer des composants spécifiques hybrides du plan d'exécution

Les composants du plan d'exécution incluent synchronizer, mart, runtime, cassandra et udca.

Pour supprimer les composants spécifiques hybrides du plan d'exécution de votre cluster, utilisez la commande helm delete. Veillez à spécifier le même fichier de remplacement que celui utilisé pour installer les composants d'exécution :

Exemple :

Avec Helm, vous devez supprimer chaque composant individuellement. Par exemple, pour supprimer le composant cassandra, exécutez la commande suivante :

helm -n APIGEE_NAMESPACE delete datastore

Dans l'exemple ci-dessus, le composant Datastore a été installé sous le nom "datastore". Si vous l'avez installé avec un autre nom, vous devez fournir ce nom pour supprimer le composant. Par exemple, si vous avez installé le chart apigee-datastore avec helm install my-cassandra-storage apigee-datastore/, supprimez-le à l'aide de la commande suivante :

helm delete -n apigee my-cassandra-storage

Pour recréer un ou plusieurs composants spécifiques (le groupe d'environnements dans cet exemple), procédez comme suit :

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