Spécifier des remplacements de configuration
Le programme d'installation d'Apigee hybrid utilise les valeurs par défaut pour de nombreux paramètres. Toutefois, certains paramètres n'ont pas de valeurs par défaut. Vous devez fournir des valeurs pour ces paramètres, comme expliqué ci-dessous.
Par convention, les remplacements de configuration sont écrits dans un fichier nommé overrides.yaml
dans votre répertoire $HYBRID_FILES/overrides
.
- Créez un fichier nommé
overrides.yaml
dans votre répertoire$HYBRID_FILES/overrides
. Exemple :vi $HYBRID_FILES/overrides/overrides.yaml
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é :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. 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.
gcp: region: ANALYTICS_REGION projectID: GCP_PROJECT_ID 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 # 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 virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: ./certs/CERT_NAME.pem sslKeyPath: ./certs/KEY_NAME.key ao: args: # This configuration is introduced in hybrid v1.8 disableIstioConfigInAPIServer: true # This configuration is introduced in hybrid v1.8 ingressGateways: - name: INGRESS_NAME # maximum 17 characters. replicaCountMin: 2 replicaCountMax: 10 # You do not need to set Annotations or LoadBalancerIP if you are creating your own Kubernetes # service for ingress deployment. In prod, it's recommended to create your own Kubernetes service. # See: Expose Apigee ingress gateway. 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 serviceAccountPaths: synchronizer: NON_PROD_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-non-prod.json" udca: NON_PROD_SERVICE_ACCOUNT_FILEPATH runtime: NON_PROD_SERVICE_ACCOUNT_FILEPATH mart: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH connectAgent: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH metrics: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH udca: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH watcher: serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH logger: enabled: false # Set to false to disable logger for GKE installations. # Set to true for all platforms other than GKE. # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: NON_PROD_SERVICE_ACCOUNT_FILEPATH
Prod
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. Elles sont décrites dans le tableau ci-dessous.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.
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.
gcp: region: ANALYTICS_REGION projectID: GCP_PROJECT_ID 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 # 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 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. virtualhosts: - name: ENVIRONMENT_GROUP_NAME selector: app: apigee-ingressgateway ingress_name: INGRESS_NAME sslCertPath: ./certs/CERT_NAME.pem sslKeyPath: ./certs/KEY_NAME.key ao: args: # This configuration is introduced in hybrid v1.8 disableIstioConfigInAPIServer: true # This configuration is introduced in hybrid v1.8 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 envs: - name: ENVIRONMENT_NAME serviceAccountPaths: synchronizer: SYNCHRONIZER_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-synchronizer.json" udca: UDCA_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-udca.json" runtime: RUNTIME_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-runtime.json" mart: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-mart.json" connectAgent: serviceAccountPath: MART_SERVICE_ACCOUNT_FILEPATH # Use the same service account for mart and connectAgent metrics: serviceAccountPath: METRICS_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-metrics.json" udca: serviceAccountPath: UDCA_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-udca.json" watcher: serviceAccountPath: WATCHER_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-watcher.json" logger: enabled: false # Set to false to disable logger for GKE installations. # Set to true for all platforms other than GKE. # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: LOGGER_SERVICE_ACCOUNT_FILEPATH # For example: "./service-accounts/GCP_PROJECT_ID-apigee-logger.json"
Exemple
L'exemple suivant montre un fichier de remplacement terminé avec des exemples de valeurs de propriété ajoutées :
gcp: region: us-central1 projectID: hybrid-example k8sCluster: name: apigee-hybrid region: us-central1 org: hybrid-example instanceID: "my_hybrid_example" cassandra: hostNetwork: false virtualhosts: - name: example-env-group selector: app: apigee-ingressgateway ingress_name: my-ingress-1 sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key ao: args: disableIstioConfigInAPIServer: true ingressGateways: - name: my-ingress-1 replicaCountMin: 2 replicaCountMax: 10 envs: - name: test serviceAccountPaths: synchronizer: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-synchronizer.json udca: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-udca.json runtime: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-runtime.json mart: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-mart.json connectAgent: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, example-hybrid-apigee-mart.json metrics: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-metrics.json udca: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-udca.json watcher: serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, my-hybrid-project-apigee-watcher.json logger: enabled: false # Set to "false" for GKE. Set to "true" for all other Kubernetes platforms. serviceAccountPath: ./service-accounts/my-hybrid-project-apigee-non-prod.json # for production environments, LOGGER_SERVICE_ACCOUNT_NAME.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 |
---|---|
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 |
GCP_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 . |
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 |
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 .
|
CERT_NAME KEY_NAME |
Saisissez 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 base_directory/hybrid-files/certs .
Exemple :
sslCertPath: ./certs/keystore.pem 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. Les annotations sont utilisées par votre plate-forme cloud 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. |
SVC_LOAD_BALANCER_IP | (Facultatif) 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. |
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 service-accounts/ . Les noms doivent inclure le chemin d'accès au fichier de compte de service. Il peut s'agir d'un chemin complet ou du chemin relatif permettant d'accéder à votre répertoire hybrid-files/ . Si vous incluez un chemin d'accès relatif, vous devez appeler apigeectl , la commande permettant d'appliquer cette configuration, à partir de votre répertoire hybrid-files/ .
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 consulter la liste des fichiers de compte de service dans votre répertoire Les noms par défaut des comptes de service de l'environnement de production sont les suivants :
|
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.
1 2 3 4 5 6 (SUITE) Étape 7 : Activer l'accès au synchronisateur 8 9 10