Spécifier des remplacements de configuration
Le programme d'installation d'Apigee hybrid utilise les valeurs par défaut pour de nombreux paramètres. Cependant, certains paramètres n'ont pas de valeurs par défaut. Vous devez fournir des valeurs pour ces paramètres, comme expliqué ci-dessous.
Avant de commencer
Nous vous recommandons de consulter les scénarios suivants pour déterminer si vous souhaitez configurer votre cluster pour eux. Ces configurations sont facultatives.
- Si vous prévoyez d'installer hybrid dans plusieurs régions, consultez la section Déploiement multirégional avant de continuer.
- Apigee hybride fournit des mots de passe par défaut pour les utilisateurs Cassandra. Apigee recommande de modifier les mots de passe utilisateur par défaut. Pour en savoir plus, consultez la page Configurer TLS pour Cassandra.
- Si vous souhaitez configurer les paramètres de stockage et de segments de mémoire pour Cassandra, consultez la page Configurer les paramètres de stockage et de segments de mémoire.
- Comme décrit sur la page Partie 1 : Configuration du projet et de l'organisation – Étape 1 : Activer les API, pour les scénarios d'installation en production, configurez un stockage sur disque SSD persistant pour Cassandra. Apigee ne permet pas d'utiliser des disques SSD locaux pour Apigee hybrid. Pour en savoir plus, consultez Ajouter un stockage SSD pour les déploiements de production.
Configurer le cluster
Par convention, les remplacements de configuration sont écrits dans un fichier nommé overrides.yaml
généralement stocké dans votre répertoire $APIGEE_HELM_CHARTS_HOME
.
- Créez un fichier nommé
overrides.yaml
dans votre répertoire$APIGEE_HELM_CHARTS_HOME
.Le fichier
overrides.yaml
fournit la configuration pour votre installation Apigee hybrid unique. Le fichier de remplacement utilisé à cette étape fournit une configuration de base pour une installation d'exécution Apigee hybrid peu encombrante, adaptée pour une première installation. - Dans
overrides.yaml
, ajoutez les valeurs de propriété requises, indiquées ci-dessous. Vous trouverez ci-dessous une description détaillée de chaque propriété.Sélectionnez l'onglet correspondant à votre installation de production ou hors production (démonstration, évaluation ou démonstration de faisabilité), selon votre choix à l'Étape 4 : Créer des comptes de service.
Pour les installations dans des environnements de production, consultez les exigences de stockage de la base de données Cassandra dans la section Configurer Cassandra pour la production.
Si vous installez Apigee hybrid sur GKE et que vous prévoyez d'utiliser Workload Identity pour authentifier les composants hybrides, sélectionnez l'onglet Production : Workload Identity ou Hors production : Workload Identity pour configurer votre fichier
overrides.yaml
.Production
Assurez-vous que le fichier
overrides.yaml
possède la structure et la syntaxe suivantes. Les valeurs de red, bold italics sont des valeurs de propriété que vous devez fournir. Vous pouvez les modifier sur cette page. Elles sont décrites dans le tableau ci-dessous.Il existe des différences entre les différentes plates-formes pour la région du projet Google Cloud et la région du cluster Kubernetes. Choisissez la plate-forme sur laquelle vous installez Apigee hybrid.
instanceID: "UNIQUE_INSTANCE_IDENTIFIER" namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. org: ORG_NAME envs: - name: ENVIRONMENT_NAME serviceAccountPaths: # Provide the path relative to the chart directory. synchronizer: SYNCHRONIZER_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-synchronizer.json" runtime: RUNTIME_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-runtime.json" udca: UDCA_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-udca.json" cassandra: hostNetwork: false # Set to false for single region installations and multi-region installations # with connectivity between pods in different clusters, for example GKE installations. # Set to true for multi-region installations with no communication between # pods in different clusters, for example GKE On-prem, GKE on AWS, Anthos on bare metal, # AKS, EKS, and OpenShift installations. # See Multi-region deployment: Prerequisites replicaCount: 3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: capacity: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. See Known issue 243167389. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # For example: "apigee-org/PROJECT_ID-apigee-mart.json" connectAgent: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # Use the same service account for mart and connectAgent # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-mart.json" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: LOGGER_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-logger.json" metrics: serviceAccountPath: METRICS_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-metrics.json" udca: serviceAccountPath: UDCA_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-udca.json" watcher: serviceAccountPath: WATCHER_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-watcher.json"
Hors production
Assurez-vous que le fichier
overrides.yaml
possède la structure et la syntaxe suivantes. Les valeurs de red, bold italics sont des valeurs de propriété que vous devez fournir. Vous pouvez les modifier sur cette page. Elles sont décrites dans le tableau ci-dessous.Il existe des différences entre les différentes plates-formes pour la région du projet Google Cloud et la région du cluster Kubernetes. Choisissez la plate-forme sur laquelle vous installez Apigee hybrid.
instanceID: "UNIQUE_INSTANCE_IDENTIFIER" namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. org: ORG_NAME envs: - name: ENVIRONMENT_NAME serviceAccountPaths: # Provide the path relative to the chart directory. synchronizer: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-non-prod.json" runtime: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-non-prod.json" udca: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "PROJECT_ID-apigee-non-prod.json" cassandra: hostNetwork: false # Set to false for single region installations and multi-region installations # with connectivity between pods in different clusters, for example GKE installations. # Set to true for multi-region installations with no communication between # pods in different clusters, for example GKE On-prem, GKE on AWS, Anthos on bare metal, # AKS, EKS, and OpenShift installations. # See Multi-region deployment: Prerequisites replicaCount: 1 # Use 1 for non-prod or "demo" installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. See Known issue 243167389. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" connectAgent: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # Use the same service account for mart and connectAgent # For example: "PROJECT_ID-apigee-non-prod.json" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" metrics: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" udca: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-non-prod.json" watcher: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH # Provide the path relative to the chart directory. # For example: "PROJECT_ID-apigee-non-prod.json"
Production : Workload Identity
Ce modèle est destiné aux installations de production sur GKE utilisant Workload Identity. Assurez-vous que le fichier
overrides.yaml
possède la structure et la syntaxe suivantes. Les valeurs de red, bold italics sont des valeurs de propriété que vous devez fournir. Vous pouvez les modifier sur cette page. Elles sont décrites dans le tableau ci-dessous.Si vous installez Apigee hybrid sur GKE, vous pouvez vous authentifier et envoyer des requêtes aux API Google, à savoir Workload Identity. Pour en savoir plus sur Workload Identity, consultez les sections suivantes :
- Introducing Workload Identity: Better authentication for your GKE applications
- Utiliser Workload Identity
Pour utiliser Workload Identity avec Apigee hybrid sur GKE, utilisez ce modèle, puis suivez les étapes décrites sur la page Étape 11 : Installer Apigee hybrid à l'aide de charts Helm pour créer les comptes de service Kubernetes et les associer aux comptes de service Google que vous avez créés à l'Étape 4 : Créer des comptes de service.
instanceID: "UNIQUE_INSTANCE_IDENTIFIER" namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: true k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. org: ORG_NAME envs: - name: ENVIRONMENT_NAME gsa: synchronizer: "SYNCHRONIZER_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-synchronizer@PROJECT_ID.iam.gserviceaccount.com" runtime: "RUNTIME_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-runtime@PROJECT_ID.iam.gserviceaccount.com" udca: "UDCA_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-udca@PROJECT_ID.iam.gserviceaccount.com" cassandra: hostNetwork: false # Set to false for single region installations and multi-region installations # with connectivity between pods in different clusters, for example GKE installations. # Set to true for multi-region installations with no communication between # pods in different clusters, for example GKE On-prem, GKE on AWS, Anthos on bare metal, # AKS, EKS, and OpenShift installations. # See Multi-region deployment: Prerequisites replicaCount: 3 # Use multiples of 3 for production. # See Configure Cassandra for production for guidelines. storage: capacity: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M # Minimum storage requirements for a production environment. # See Configure Cassandra for production. backup: enabled: true # Set to true for initial installation. # This triggers the chart to create the apigee-cassandra-backup Kubernetes service account when you install it. # See Cassandra backup overview for instructions on using cassandra.backup. ingressGateways: - name: INGRESS_NAME # maximum 17 characters. See Known issue 243167389. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE mart: gsa: "MART_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-mart@PROJECT_ID.iam.gserviceaccount.com" connectAgent: gsa: "MART_SERVICE_ACCOUNT_EMAIL" # Use the same service account for mart and connectAgent # For example: "apigee-mart@PROJECT_ID.iam.gserviceaccount.com" logger: enabled: true # enabled by default # See apigee-logger in Service accounts and roles used by hybrid components. gsa: "LOGGER_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-logger@PROJECT_ID.iam.gserviceaccount.com" metrics: gsa: "METRICS_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-metrics@PROJECT_ID.iam.gserviceaccount.com" udca: gsa: "UDCA_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-udca@PROJECT_ID.iam.gserviceaccount.com" watcher: gsa: "WATCHER_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-watcher@PROJECT_ID.iam.gserviceaccount.com"
Hors production : Workload Identity
Ce modèle est destiné aux installations hors production sur GKE utilisant Workload Identity. Assurez-vous que le fichier
overrides.yaml
possède la structure et la syntaxe suivantes. Les valeurs de red, bold italics sont des valeurs de propriété que vous devez fournir. Vous pouvez les modifier sur cette page. Elles sont décrites dans le tableau ci-dessous.Si vous installez Apigee hybrid sur GKE, vous pouvez vous authentifier et envoyer des requêtes aux API Google, à savoir Workload Identity. Pour en savoir plus sur Workload Identity, consultez les sections suivantes :
- Introducing Workload Identity: Better authentication for your GKE applications
- Utiliser Workload Identity
Pour utiliser Workload Identity avec Apigee hybrid sur GKE, utilisez ce modèle, puis suivez les étapes décrites sur la page Étape 11 : Installer Apigee hybrid à l'aide de charts Helm pour créer les comptes de service Kubernetes et les associer aux comptes de service Google que vous avez créés à l'Étape 4 : Créer des comptes de service.
instanceID: "UNIQUE_INSTANCE_IDENTIFIER" namespace: APIGEE_NAMESPACE # Usually "apigee" gcp: projectID: PROJECT_ID region: ANALYTICS_REGION workloadIdentity: enabled: true gsa: "NON_PROD_SERVICE_ACCOUNT_EMAIL" # For example: "apigee-non-prod@PROJECT_ID.iam.gserviceaccount.com" k8sCluster: name: CLUSTER_NAME region: CLUSTER_LOCATION # Must be the closest Google Cloud region to your cluster. org: ORG_NAME instanceID: "UNIQUE_INSTANCE_IDENTIFIER" cassandra: hostNetwork: false # false for all GKE installations. # See Multi-region deployment: Prerequisites replicaCount: 1 # Use 1 for non-prod or "demo" installations and multiples of 3 for production. # See Configure Cassandra for production for guidelines. backup: enabled: true # Set to true for initial installation. # This triggers the chart to create the apigee-cassandra-backup Kubernetes service account when you install it. # See Cassandra backup overview for instructions on using cassandra.backup. virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: PATH_TO_CERT_FILE sslKeyPath: PATH_TO_KEY_FILE ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 svcAnnotations: # optional. If you are on AKS, see Known issue #260772383 SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional envs: - name: ENVIRONMENT_NAME logger: enabled: false # Set to false for all GKE installations.
Exemple
L'exemple suivant montre un fichier de remplacement terminé avec des exemples de valeurs de propriété ajoutées :
instanceID: "my_hybrid_example" namespace: apigee gcp: projectID: hybrid-example region: us-central1 k8sCluster: name: apigee-hybrid region: us-central1 org: hybrid-example envs: - name: test serviceAccountPaths: synchronizer:my-hybrid-project-apigee-synchronizer.json runtime: my-hybrid-project-apigee-runtime.json udca: my-hybrid-project-apigee-udca.json cassandra: hostNetwork: false replicaCount: 3 ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: certs/keystore.pem sslKeyPath: certs/keystore.key logger: enabled: true # Set to "false" for GKE. Set to "true" for all other Kubernetes platforms. serviceAccountPath: apigee-telemetry/my-hybrid-project-apigee-logger.json mart: serviceAccountPath: my-hybrid-project-apigee-mart.json connectAgent: serviceAccountPath: my-hybrid-project-apigee-mart.json metrics: serviceAccountPath: my-hybrid-project-apigee-metrics.json udca: serviceAccountPath: my-hybrid-project-apigee-udca.json watcher: serviceAccountPath: my-hybrid-project-apigee-watcher.json
- Lorsque vous avez terminé, enregistrez le fichier.
Le tableau suivant décrit chacune des valeurs de propriété que vous devez fournir dans le fichier de remplacement. Pour en savoir plus, consultez la documentation de référence sur les propriétés de configuration.
Variable | Description | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
UNIQUE_INSTANCE_IDENTIFIER | Une chaîne unique pour identifier cette instance. Vous pouvez utiliser n'importe quelle combinaison de lettres et de chiffres (jusqu'à 63 caractères). Vous pouvez créer plusieurs organisations dans le même cluster, mais le |
|||||||||||||||||||||||||||
APIGEE_NAMESPACE | Espace de noms Kubernetes pour vos composants Apigee hybrid. La valeur par défaut est |
|||||||||||||||||||||||||||
ANALYTICS_REGION | Dans GKE, vous devez définir cette valeur sur la même région que celle où le cluster est exécuté. Sur toutes les autres plates-formes, sélectionnez la région d'analyse la plus proche de votre cluster compatible avec Analytics (consultez le tableau de la Partie 1, Étape 2 : Créer une organisation).
Il s'agit de la valeur que vous avez précédemment attribuée à la variable d'environnement |
|||||||||||||||||||||||||||
PROJECT_ID | Identifie le projet Google Cloud dans lequel apigee-logger et apigee-metrics envoient leurs données. Il s'agit de la valeur attribuée à la variable d'environnement PROJECT_ID . |
|||||||||||||||||||||||||||
CLUSTER_NAME | Le nom de votre cluster Kubernetes. Il s'agit de la valeur attribuée à la variable d'environnement CLUSTER_NAME . |
|||||||||||||||||||||||||||
CLUSTER_LOCATION | La région dans laquelle le cluster est exécuté. Il s'agit de la région dans laquelle vous avez créé le cluster à l'étape 1 : Créer un cluster.
Il s'agit de la valeur que vous avez précédemment attribuée à la variable d'environnement |
|||||||||||||||||||||||||||
ORG_NAME | ID de votre organisation Apigee hybrid. Il s'agit de la valeur attribuée à la variable d'environnement ORG_NAME . |
|||||||||||||||||||||||||||
ENVIRONMENT_GROUP_NAME | Nom du groupe d'environnements auquel vos environnements sont attribués.
Il s'agit du groupe que vous avez créé lors de la configuration du projet et de l'organisation - Étape 3 : Créer un groupe d'environnements. Il s'agit de la valeur attribuée à la variable d'environnement ENV_GROUP .
|
|||||||||||||||||||||||||||
PATH_TO_CERT_FILE PATH_TO_KEY_FILE |
Saisissez le chemin d'accès et le nom de la clé TLS autosignée et des fichiers de certificat que vous avez générés précédemment à l'Étape 5 : Créer des certificats TLS. Ces fichiers doivent se trouver dans le répertoire APIGEE_HELM_CHARTS_HOME/apigee-virtualhosts/certs .
Par exemple,sslCertPath: certs/keystore.crt sslKeyPath: certs/keystore.key. |
|||||||||||||||||||||||||||
INGRESS_NAME | Nom de la passerelle d'entrée Apigee de votre déploiement. Il peut s'agir de n'importe quel nom qui répond aux exigences suivantes :
Consultez la section |
|||||||||||||||||||||||||||
SVC_ANNOTATIONS_KEY : SVC_ANNOTATIONS_VALUE | (Facultatif) Il s'agit d'une paire clé-valeur qui fournit des annotations pour votre service d'entrée par défaut. Votre plate-forme cloud utilise des annotations pour vous aider à configurer votre installation hybride, par exemple pour définir le type d'équilibreur de charge sur interne ou externe.
Les annotations varient selon les plates-formes. Reportez-vous à la documentation de votre plate-forme pour connaître les annotations requises et celles suggérées. Mettez en commentaire ou supprimez cette section si vous ne l'utilisez pas. |
|||||||||||||||||||||||||||
SVC_LOAD_BALANCER_IP | (Facultatif) Une adresse IP que vous avez réservée pour votre équilibreur de charge.
Sur les plates-formes compatibles avec la spécification de l'adresse IP de l'équilibreur de charge, celui-ci est créé avec cette adresse IP.
Sur les plates-formes qui ne permettent pas de spécifier l'adresse IP de l'équilibreur de charge, cette propriété est ignorée.
Mettez en commentaire ou supprimez cette section si vous ne l'utilisez pas. | |||||||||||||||||||||||||||
ENVIRONMENT_NAME | Utilisez le même nom que celui que vous avez utilisé lors de la création d'un environnement dans l'interface utilisateur, comme expliqué à l'étape 3 "Créer un groupe d'environnements" de la configuration du projet et de l'organisation. | |||||||||||||||||||||||||||
*_SERVICE_ACCOUNT_FILEPATH | Chemin d'accès et compte de nom de fichier des fichiers JSON du compte de service dans votre répertoire de chart correspondant. Indiquez les noms en indiquant le chemin d'accès relatif au répertoire de chart. Par exemple :
Pour les environnements hors production, le nom du compte de service unique, Pour les environnements de production, le nom du fichier de clé de compte de service que vous avez généré à l'aide de l'outil Vous pouvez voir les fichiers du compte de service dans chaque répertoire de chart correspondant. Les noms par défaut des répertoires de charts correspondants pour les comptes de service sont les suivants :
|
|||||||||||||||||||||||||||
*_SERVICE_ACCOUNT_EMAIL | Adresses e-mail des comptes de service Google que vous devez fournir si vous utilisez Workload Identity sur GKE.
Il s'agit des comptes de service que vous avez créés à l'Étape 4 : Créer des comptes de service.
Vous pouvez trouver les adresses e-mail des comptes de service à l'aide de la commande suivante :
gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee" |
Résumé
Le fichier de configuration indique à Kubernetes comment déployer les composants hybrides sur un cluster. Vous allez ensuite activer l'accès du synchronisateur pour que les plans d'exécution et de gestion Apigee puissent communiquer.