This section lists all of the configuration properties that you can use to customize the runtime plane of your Apigee hybrid deployment.
Top-level properties
The following table describes the top-level properties in the overrides.yaml
file. These are properties
that do not belong to another object, and apply at the org or environment level:
Property | Description |
---|---|
contractProvider |
Version: 1.0.0
Default value: https://apigee.googleapis.com Defines the API path for all APIs in your installation. |
gcpProjectID |
Version: 1.0.0
Default value: none Required ID of your Google Cloud project. Works with |
gcpRegion |
Version: 1.0.0
Default value: Required The closet GCP region or zone of your Kubernetes cluster. Works with |
imagePullSecrets.name |
Version: 1.0.0
Default value: none Kubernetes secret name configured as docker-registry type; used to pull images from private repo. |
k8sClusterName |
Type: Version: 1.0.0 Default value: none Name of the Kubernetes (K8S) procluster where your hybrid project is running. Works with
|
namespace |
Version: 1.0.0
Default value: The namespace of your Kubernetes cluster where the Apigee components will be installed. |
org |
Required
Version: 1.0.0 Default value: none Required The hybrid-enabled organization that was provisioned for you by Apigee during the hybrid installation. An organization is the top-level container in Apigee. It contains all your API proxies and related resources. If the value is empty, you must update it wiht your org name once you have created it. |
revision |
Version: 1.0.0
Default value: Apigee hybrid supports rolling Kubernetes updates, which allow deployment updates to take place with zero downtime by incrementally updating Pod instances with new ones. When updating certain YAML overrides that result in underlying Kubernetes PodTemplateSpec
change, the
When the
Changes to properties of the following objects require an update to For more information, see Rolling updates. |
validateServiceAccounts |
Version: 1.0.0
Default value: true Enables strict validation of service account permissions. This uses Cloud Resource Manager API method "testIamPermissions" to verify that the provided service account has the required permissions. In the case of service accounts for an Apigee Org, the project ID check is the one mapped to the Organization. For Metrics and Logger, the project checked is based on the "gcpProjectID" overrides.yaml configuration.
See also |
adah
The Apigee Deployment Admissionhook (ADAH) is responsible for validating the configuration which the user provides for the apigee-deployment-controller. It runs in a Kubernetes cluster, and is responsible for validating the incoming create/update/delete requests from the Apigee-deployment Controller. See also:
The following table describes the properties of the Apigee Deployment Controller adah
object:
Property | Description |
---|---|
adah.image.pullPolicy |
Version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
adah.image.tag |
Version: 1.0.0
Default value: The location of the Docker image for this service. |
adah.image.url |
Version: 1.0.0
Default value: The location of the Docker image for this service. |
adc
The Apigee Deployment Controller (ADC) is a process that manages deployment of Apigee in Kubernetes clusters. It is a Kubernetes custom controller that creates and updates low level Kubernetes and Istio resources that are required to deploy and maintain the ApigeeDeployment (AD).
See also adah (Apigee Deployment Admissionhook)
.The following table describes the properties of the apigee-deployment-controller adc
object:
Property | Description |
---|---|
adc.image.pullPolicy |
Version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
adc.image.tag |
Version: 1.0.0
Default value: The location of the Docker image for this service. |
adc.image.url |
Version: 1.0.0
Default value: The location of the Docker image for this service. |
adc.resources.limits.cpu |
Version: 1.0.0
Default value: The CPU limit for the resource in a Kubernetes container, in millicores. |
adc.resources.limits.memory |
Version: 1.0.0
Default value: The memory limit for the resource in a Kubernetes container, in mebibytes. |
adc.resources.requests.cpu |
Version: 1.0.0
Default value: The CPU needed for normal operation of the resource in a Kubernetes container, in millicores. |
adc.resources.requests.memory |
Version: 1.0.0
Default value: The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes. |
authz
The following table describes the properties of the authz
object:
Property | Description |
---|---|
authz.image.pullPolicy |
Version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
authz.image.tag |
Version: 1.0.0
Default value: The version label for this service's Docker image. |
authz.image.url |
Version: 1.0.0
Default value:
The location of the Docker image for this service. |
authz.livenessProbe.failureThreshold |
Version: 1.0.0
Default value: The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1. |
authz.livenessProbe.initialDelaySeconds |
Version: 1.0.0
Default value: The number of seconds after a container is started before a liveness probe is initiated. |
authz.livenessProbe.periodSeconds |
Version: 1.0.0
Default value: Determines how often to perform a liveness probe, in seconds. The minimum value is 1. |
authz.livenessProbe.timeoutSeconds |
Version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
authz.readinessProbe.failureThreshold |
Version: Beta2
Default value: The number of times Kubernetes will verify that readiness probes have failed before marking the pod unready. The minimum value is 1. |
authz.readinessProbe.initialDelaySeconds |
Version: 1.0.0
Default value: The number of seconds after a container is started before a readiness probe is initiated. |
authz.readinessProbe.periodSeconds |
Version: 1.0.0
Default value: Determines how often to perform a readiness probe, in seconds. The minimum value is 1. |
authz.readinessProbe.successThreshold |
Version: 1.0.0
Default value: The minimum consecutive successes needed for a readiness probe to be considered successful after a failure. The minimum value is 1. |
authz.readinessProbe.timeoutSeconds |
Version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
authz.resources.requests.cpu |
Version: 1.0.0
Default value: The ammount of CPU resources to allocate for authentication requests. |
authz.resources.requests.memory |
Version: 1.0.0
Default value: The ammount of memory resources to allocate for authentication requests. |
authz.serviceAccountPath |
Version: 1.0.0
Default value: none Required Path to Google Service Account key file with "Apigee Read Only Admin" role. |
busyBoxInit
The following table describes the properties of the busyBoxInit
object:
Property | Description |
---|---|
busyBoxInit.image.pullPolicy |
Version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
busyBoxInit.image.tag |
Version: 1.0.0
Default value: The version label for this service's Docker image. |
busyBoxInit.image.url |
Version: 1.0.0
Default value: The location of the Docker image for this service. |
cassandra
Defines the hybrid service that manages the runtime data repository. This repository stores application configurations, distributed quota counters, API keys, and OAuth tokens for applications running on the gateway.
For more information, see Configure Cassandra.
The following table describes the properties of the cassandra
object:
Property | Description |
---|---|
cassandra.auth.admin.password |
Version: 1.0.0
Default value: "iloveapis123" Required Password for the Cassandra administrator. The admin user is used for any administrative activities performed on the Cassandra cluster. |
cassandra.auth.ddl.password |
Version: 1.0.0
Default value: "iloveapis123" Required Password for the Cassandra Data Definition Language (DDL) user. Used by MART for any of the data definition tasks like keyspace creation, update, and deletion. |
cassandra.auth.default.password |
Version: 1.0.0
Default value: Required The password for the default Cassandra user created when Authentication is enabled. This password must be reset when configuring Cassandra authentication. See Configuring TLS for Cassandra. |
cassandra.auth.dml.password |
Version: 1.0.0
Default value: "iloveapis123" Required Password for the Cassandra Data Manipulation Language (DML) user. The DML user is used by the client communication to read and write data to Cassandra. |
cassandra.auth.image.pullPolicy |
Version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
cassandra.auth.image.tag |
Version: 1.0.0
Default value: The version label for this service's Docker image. |
cassandra.auth.image.url |
Version: 1.0.0
Default value: The location of the Docker image for this service. |
cassandra.backup.cloudProvider |
Version: 1.0.0
Default value: Required if backup is enabled. Cloud provider for backup storage. |
cassandra.backup.dbStorageBucket |
Version: 1.0.0
Default value: none Required if backup is enabled. Cloud storage bucket for the backup data. |
cassandra.backup.enabled |
Version: 1.0.0
Default value: Data backup is not enabled by default. To enable, set to |
cassandra.backup.image.pullPolicy |
Version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
cassandra.backup.image.tag |
Version: 1.0.0
Default value: The version label for this service's Docker image. |
cassandra.backup.image.url |
Version: 1.0.0
Default value: The location of the Docker image for this service. |
cassandra.backup.schedule |
Version: 1.0.0
Default value: The schedule for the chron job. |
cassandra.backup.serviceAccountPath |
Version: 1.0.0
Default value: none Required if backup is enabled. Path to Google Service Account key file with "Apigee Read Only Admin" role. |
cassandra.clusterName |
Version: 1.0.0
Default value: Specifies the name of the Cassandra cluster. |
cassandra.datacenter |
Version: 1.0.0
Default value: Specifies the datacenter of the Cassandra node. |
cassandra.dnsPolicy |
Version: 1.1.1
Default value: When cassandra.hostNetwork is set to |
cassandra.externalSeedHost |
Version: 1.0.0
Default value: none Hostname or IP of a Cassandra cluster node. If not set, the Kubernetes local service is used. |
cassandra.heapNewSize |
Version: 1.0.0
Default value: The amount of JVM system memory allocated to newer objects, in megabytes. |
cassandra.hostNetwork |
Version: 1.1.1
Default value: Set to true for Anthos based deployments. |
cassandra.image.pullPolicy |
Version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
cassandra.image.tag |
Version: 1.0.0
Default value: The version label for this service's Docker image. |
cassandra.image.url |
Version: 1.0.0
Default value: The location of the Docker image for this service. |
cassandra.maxHeapSize |
Version: 1.0.0
Default value: The upper limit of JVM system memory available fo Cassandra operations, in megabytes. |
cassandra.multiRegionSeedHost |
Version: 1.0.0
Default value: none IP address of an existing Cassandra cluster used to expand the existing cluster to a new region. See Configure the multi-region seed host. |
cassandra.nodeSelector.key |
Version: 1.0.0
Default value: none Required Node selector label key used to target dedicated Kubernetes nodes for See Add node selectors. |
cassandra.nodeSelector.value |
Version: 1.0.0
Default value: none Optional ode selector label value used to target dedicated Kubernetes nodes for
See nodeSelector. |
cassandra.port |
Version: 1.0.0
Default value: Port number used to connect to cassandra. |
cassandra.rack |
Version: 1.0.0
Default value: Specifies the rack of the Cassandra node. |
cassandra.readinessProbe.failureThreshold |
Version: 1.0.0
Default value: The number of times Kubernetes will verify that readiness probes have failed before marking the pod unready. The minimum value is 1. |
cassandra.readinessProbe.initialDelaySeconds |
Version: 1.0.0
Default value: The number of seconds after a container is started before a readiness probe is initiated. |
cassandra.readinessProbe.periodSeconds |
Version: 1.0.0
Default value: Determines how often to perform a readiness probe, in seconds. The minimum value is 1. |
cassandra.readinessProbe.successThreshold |
Version: 1.0.0
Default value: The minimum consecutive successes needed for a readiness probe to be considered successful after a failure. The minimum value is 1. |
cassandra.readinessProbe.timeoutSeconds |
Version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
cassandra.replicaCount |
Version: 1.0.0
Default value: Cassandra is a replicated database. It is configured to have at least 3 copies of the data in each region or data center. This property specifies the number of Cassandra nodes employed as a StatefulSet. |
cassandra.resources.requests.cpu |
Version: 1.0.0
Default value: The CPU needed for normal operation of the resource in a Kubernetes container, in millicores. |
cassandra.resources.requests.memory |
Version: 1.0.0
Default value: The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes. |
cassandra.restore.cloudProvider |
Version: 1.0.0
Default value: Required if restore is enabled. Cloud provider for backup storage. |
cassandra.restore.dbStorageBucket |
Version: 1.0.0
Default value: none Required if restore is enabled. Cloud storage bucket for the backup data to restore. |
cassandra.restore.enabled |
Version: 1.0.0
Default value: |
cassandra.restore.image.pullPolicy |
Version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
cassandra.restore.image.tag |
Version: 1.0.0
Default value: The version label for this service's Docker image. |
cassandra.restore.image.url |
Version: 1.0.0
Default value: The location of the Docker image for this service. |
cassandra.restore.serviceAccountPath |
Version: 1.0.0
Default value: none Required if restore is enabled. Path to Google Service Account key file with "Apigee Read Only Admin" role. |
cassandra.restore.snapshotTimestamp |
Version: 1.0.0
Default value: none Required if restore is enabled. Timestamp of the backup that should be restored. |
cassandra.storage.capacity |
Version: 1.0.0
Default value: Required if storage.storageClass is specified Specifies the disk size required, in mebibytes. |
cassandra.storage.storageClass |
Version: 1.0.0
Default value: none Specifies the class of on-prem storage being used. |
cassandra.terminationGracePeriodSeconds |
Version: 1.0.0
Default value: The time between a request for pod deletion and when the pod is killed, in seconds. During this period, any prestop hooks will be executed and any running process should terminate gracefully. |
defaults
The Default encryption keys for the Apigee hybrid installation.
The following table describes the properties of the defaults
object:
Property | Description |
---|---|
defaults.org.kmsEncryptionKey |
Version: 1.0.0
Default value: Default encryption key for the org in KMS. |
defaults.org.kvmEncryptionKey |
Version: 1.0.0
Default value: Default encryption key for the org in KVM. |
defaults.env.kmsEncryptionKey |
Version: 1.0.0
Default value: Default encryption key for the environment (env) in KMS. |
defaults.env.kvmEncryptionKey |
Version: 1.0.0
Default value: Default encryption key for the environment (env) in KVM. |
defaults.env.cacheEncryptionKey |
Version: 1.0.0
Default value: Default cache encryption key for the environment (env). |
envs
Defines an array of environments to which you can deploy your API proxies. Each environment provides an isolated context or "sandbox" for running API proxies.
Your hybrid-enabled organization must have at least one environment.
Use envs[]
to configure base path routing, which allows you to configure and manage
how Apigee hybrid routes API proxy calls to the correct environment.
For more information, see:
The following table describes the properties of the envs
object:
Property | Description |
---|---|
envs[].cacheEncryptionKey |
Version: 1.0.0
Default value: none Required Local file system path for the Apigee cache data's encryption key. |
envs[].hostAlias |
Version: 1.0.0
Default value: none Required
The DNS name for your server. For example, If you have multiple environments, you must use a unique host alias name for each
one. For example, |
envs[].kmsEncryptionKey |
Version: 1.0.0
Default value: none Required Local file system path for the Apigee KMS data's encryption key. |
envs[].name |
Version: 1.0.0
Default value: none Required Apigee environment name to be synchronized. |
envs[].pollInterval |
Version: 1.0.0
Default value: none Interval used for polling organization and environment synchronization changes, in seconds. |
envs[].paths.uri.prefixes |
Version: 1.0.0
Default value: none A property to support prefix base path routing. Provide those paths as in the pattern: org: hybrid envs: - name: test paths: uri: prefixes: - /foo - /bar |
envs[].port |
Version: 1.0.0
Default value: none TCP port number for HTTPS traffic. |
envs[].serviceAccountPaths.synchronizer |
Version: GA
Default value: none Path to file on local system to a Google Service Account key with the Apigee Synchronizer Manager role. |
envs[].serviceAccountPaths.udca |
Version: GA
Default value: none Path to file on local system to a Google Service Account key with the Apigee Analytic Agent role. |
envs[].sslCertPath |
Version: 1.0.0
Default value: none Required
The path on your system to a TLS certificate file. |
envs[].sslKeyPath |
Version: 1.0.0
Default value: none Required
The path on your system to the TLS private key file. |
httpProxy
httpProxy
provides configuration parameters for an HTTP forward proxy server. When
configured in overrides.yaml, all internet communication for the MART, Synchronizer, and UDCA
components pass through the proxy server.
See also: MART, Synchronizer, and UDCA.
The following table describes the properties of the httpProxy
object:
Property | Description |
---|---|
httpProxy.host |
Version: 1.1.1
Default value: none The hostname of the HTTP Proxy. |
httpProxy.port |
Version: 1.1.1
Default value: none The port of the HTTP Proxy. |
httpProxy.scheme |
Version: 1.1.1
Default value: The scheme used by the proxy. Values can be |
ingress
ingress
is the instantiation of the Istio Ingress Gateway, the Kubernetes Ingress
Resource is used to specify services that should be exposed outside the cluster. It defines a
containerized app that routes traffic from outside the runtime plane to services within the
runtime plane. Apigee installation creates two Istio Ingress objects for:
- Runtime
- MART
See also:
- Ingress Gateways in the istio documentation.
- Adding gateways about adding Istio ingress gatewawys in the GCP documentation.
- istio object in Apigee
- MART object
- Runtime object
The following table describes the properties of the ingress
object:
Property | Description |
---|---|
ingress.enableAccesslog |
Version: 1.0.0
Default value: Enable or disable the Ingress access log. By default, it is disabled. |
ingress.envoyHeaders.headers |
Version: 1.0.0
Default value: none A list of Envoy headers. |
ingress.envoyHeaders.preserved |
Version: 1.0.0
Default value: Determines whether to preserve or not to preserve Envoy's headers. By default, they are not. |
ingress.httpsRedirect |
Version: 1.0.0
Default value: Enable or disable the automatic HTTPS redirection for all incoming traffic. |
ingress.mart.loadBalancerIP |
Version: 1.1.1
Default value: IP address of the MART load balancer. |
ingress.runtime.loadBalancerIP |
Version: 1.1.1
Default value: IP address of the load balancer for the Apigee-runtime object. |
ingress.serviceType |
Version: 1.0.0
Default value: The type of service used for routing external traffic to internal services. Possible values include:
|
istio
Google Cloud Platform's (GCP's) implemention of Istio is a service mesh that layers onto existing your Apigee instance helping it integrate with the logging platform, telemetry and policy system.
See also: GCP's Istio documentation and What is Istio.
The following table describes the properties of the istio
object:
Property | Description |
---|---|
istio.ingressgateway.replicaCountMax |
Version: 1.0.0
Default value: 5 Required Maximum number of Istio ingress gateway replicas allowed. See:
|
istio.ingressgateway.replicaCountMin |
Version: 1.0.0
Default value: 1 Required Minimum number of Istio ingress gateway replicas required. See:
|
istio.ingressgateway.resources.requests.cpu |
Version: 1.0.0
Default value: 100m Required CPU resources allocated to the ingress controller, needed for the gateway to operate optimally. See:
|
istio.ingressgateway.resources.requests.memory |
Version: 1.0.0
Default value: 128Mi Memory resources allocated to the ingress controller, needed for the gateway to operate optimally. |
istio.nodeSelector.key |
Version: 1.0.0
Default value: none Optional node selector label key for targeting Kubernetes nodes for |
istio.nodeSelector.value |
Version: 1.0.0
Default value: none Optional node selector label value for targeting Kubernetes nodes for |
istio.pilot.replicaCountMax |
Version: 1.0.0
Default value: 5 Required The See Pilot: Core traffic management in the Istio documentation |
istio.pilot.replicaCountMin |
Version: 1.0.0
Default value: 1 Required The See Pilot: Core traffic management in the Istio documentation |
istio.pilot.resources.requests.cpu |
Version: 1.0.0
Default value: 500m Required CPU resources allocated to the pilot process, needed for the gateway to operate optimally. See:
|
istio.pilot.resources.requests.memory |
Version: 1.0.0
Default value: 2048Mi Memory resources allocated to the pilot process, needed for the gateway to operate optimally. See:
|
logger
Defines the service that manages operational logs. All of the Apigee hybrid services that run in your Kubernetes cluster output this information.
For more information, see Logging.
The following table describes the properties of the logger
object:
Property | Description |
---|---|
logger.enabled |
Version: 1.0.0
Default value: Enables or disables logging on the cluster. For non-GKE set to |
logger.fluentd.buffer_chunk_limit |
Version: 1.0.0
Default value: The maximum size of a buffer chunk allowed, in kilobytes. Chunks exceeding the limit will be flushed to the output queue automatically. |
logger.fluentd.buffer_queue_limit |
Version: 1.0.0
Default value: The maximum length of the output queue. The default limit is 256 chunks. |
logger.fluentd.flush_interval |
Version: 1.0.0
Default value: The interval to wait before invoking the next buffer flush, in seconds. |
logger.fluentd.max_retry_wait |
Version: 1.0.0
Default value: The maximum interval between write retries, in seconds. |
logger.fluentd.num_threads |
Version: 1.0.0
Default value: The number of threads used to flush the buffer. The default is 1. |
logger.image.pullPolicy |
Version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
logger.image.tag |
Version: 1.0.0
Default value: The version label for this service's Docker image. |
logger.image.url |
Version: 1.0.0
Default value: The location of the Docker image for this service. |
logger.livenessProbe.failureThreshold |
Version: 1.0.0
Default value: The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1. |
logger.livenessProbe.initialDelaySeconds |
Version: 1.0.0
Default value: The number of seconds after a container is started before a liveness probe is initiated. |
logger.livenessProbe.periodSeconds |
Version: 1.0.0
Default value: Determines how often to perform a liveness probe, in seconds. The minimum value is 1. |
logger.livenessProbe.successThreshold |
Version: 1.0.0
Default value: The minimum consecutive successes needed for a liveness probe to be considered successful after a failure. The minimum value is 1. |
logger.livenessProbe.timeoutSeconds |
Version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
logger.nodeSelector.key |
Version: 1.0.0
Default value: Required Node selector label key used to target dedicated Kubernetes nodes for See Add node selectors. |
logger.nodeSelector.value |
Version: 1.0.0
Default value: Required Node selector label value used to target dedicated Kubernetes nodes for See Add node selectors. |
logger.proxyURL |
Version: 1.0.0
Default value: none URL of the customer's proxy server. |
logger.resource.limits.memory |
Version: 1.0.0
Default value: The memory limit for the resource in a Kubernetes container, in mebibytes. |
logger.resource.limits.cpu |
Version: 1.0.0
Default value: The CPU limit for the resource in a Kubernetes container, in millicores. |
logger.resource.requests.cpu |
Version: 1.0.0
Default value: The CPU needed for normal operation of the resource in a Kubernetes container, in millicores. |
logger.resource.requests.memory |
Version: 1.0.0
Default value: The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes. |
logger.serviceAccountPath |
Version: 1.0.0
Default value: none Required Path to Google Service Account key file with "Apigee Read Only Admin" role. |
logger.terminationGracePeriodSeconds |
Version: 1.0.0
Default value: The time between a request for pod deletion and when the pod is killed, in seconds. During this period, any prestop hooks will be executed and any running process should terminate gracefully. |
mart
Defines the MART (Management API for RunTime data) service, which acts as an API provider for public Apigee APIs so that you can access and manage runtime data entities such as KMS (API Keys and OAuth tokens), KVM, Quota, and API products.
The following table describes the properties of the mart
object:
Property | Description |
---|---|
mart.hostAlias |
Version: 1.0.0
Default value: none The host alias pointing to the MART object. You can set this property to |
mart.image.pullPolicy |
Version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
mart.image.tag |
Version: 1.0.0
Default value: The version label for this service's Docker image. |
mart.image.url |
Version: 1.0.0
Default value: The location of the Docker image for this service. Check the values.yaml file for the specific URL.You can override this. |
mart.initCheckCF.resources.requests.cpu |
Version: 1.0.0
Default value: The amount of CPU resourced allocated to the initialization check of the Cloud Foundry process. |
mart.livenessProbe.failureThreshold |
Version: 1.0.0
Default value: The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1. |
mart.livenessProbe.initialDelaySeconds |
Version: 1.0.0
Default value: The number of seconds after a container is started before a liveness probe is initiated. |
mart.livenessProbe.periodSeconds |
Version: 1.0.0
Default value: Determines how often to perform a liveness probe, in seconds. The minimum value is 1. |
mart.livenessProbe.timeoutSeconds |
Version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
mart.metricsURL |
Version: 1.0.0
Default value: |
mart.nodeSelector.key |
Version: 1.0.0
Default value: none Optional node selector label key for targeting Kubernetes nodes for See Add node selectors. |
mart.nodeSelector.value |
Version: 1.0.0
Default value: none Optional node selector label value for targeting Kubernetes nodes for See Add node selectors. |
mart.readinessProbe.failureThreshold |
Version: 1.0.0
Default value: The number of times Kubernetes will verify that readiness probes have failed before marking the pod unready. The minimum value is 1. |
mart.readinessProbe.initialDelaySeconds |
Version: 1.0.0
Default value: The number of seconds after a container is started before a readiness probe is initiated. |
mart.readinessProbe.periodSeconds |
Version: 1.0.0
Default value: Determines how often to perform a readiness probe, in seconds. The minimum value is 1. |
mart.readinessProbe.successThreshold |
Version: 1.0.0
Default value: The minimum consecutive successes needed for a readiness probe to be considered successful after a failure. The minimum value is 1. |
mart.readinessProbe.timeoutSeconds |
Version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
mart.replicaCountMax |
Version: 1.0.0
Default value: Maximum number of replicas available for autoscaling. |
mart.replicaCountMin |
Version: 1.0.0
Default value: Minimum number of replicas available for autoscaling. |
mart.resources.requests.cpu |
Version: 1.0.0
Default value: The CPU needed for normal operation of the resource in a Kubernetes container, in millicores. |
mart.resources.requests.memory |
Version: 1.0.0
Default value: The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes. |
mart.serviceAccountPath |
Version: 1.1.1
Default value: none Required Path to Google Service Account key file with "Apigee Read Only Admin" role. |
mart.sslCertPath |
Version: 1.0.0
Default value: none Local file system path for loading and encoding the SSL cert to a Secret. |
mart.sslKeyPath |
Version: 1.0.0
Default value: none Local file system path for loading and encoding the SSL key to a Secret. |
mart.targetCPUUtilizationPercentage |
Version: 1.0.0
Default value: Target CPU utilization for the MART process on the pod. The
value of this field enables MART to auto-scale when CPU utilization
reaches this value, up to |
mart.terminationGracePeriodSeconds |
Version: 1.0.0
Default value: The time between a request for pod deletion and when the pod is killed, in seconds. During this period, any prestop hooks will be executed and any running process should terminate gracefully. |
metrics
Defines the service that collects operations metrics. You can use metrics data to monitor the health of Hybrid services, to set up alerts, and so on.
For more information, see Metrics collection overview.
The following table describes the properties of the metrics
object:
Property | Description |
---|---|
metrics.enabled |
Version: 1.0.0
Default value: Enables Apigee metrics. Set to |
metrics.nodeSelector.key |
Version: 1.0.0
Default value: none Required Node selector label key used to target dedicated Kubernetes nodes for See Add node selectors. |
metrics.nodeSelector.value |
Version: 1.0.0
Default value: none Required Node selector label value used to target dedicated Kubernetes nodes for See Add node selectors. |
metrics.prometheus.args.storage_tsdb_retention |
Version: 1.0.0
Default value: The amount of time Prometheus waits before removing old data from local storage, in hours. |
metrics.prometheus.containerPort |
Version: 1.0.0
Default value: The port to connect to the Prometheus metrics service. |
metrics.prometheus.image.pullPolicy |
Version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
metrics.prometheus.image.tag |
Version: 1.0.0
Default value: The version label for this service's Docker image. |
metrics.prometheus.image.url |
Version: 1.0.0
Default value: The location of the Docker image for this service. |
metrics.prometheus.livenessProbe.failureThreshold |
Version: 1.0.0
Default value: The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1. |
metrics.prometheus.livenessProbe.periodSeconds |
Version: 1.0.0
Default value: Determines how often to perform a liveness probe, in seconds. The minimum value is 1. |
metrics.prometheus.livenessProbe.timeoutSeconds |
Version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
metrics.prometheus.readinessProbe.failureThreshold |
Version: 1.0.0
Default value: The number of times Kubernetes will verify that readiness probes have failed before marking the pod unready. The minimum value is 1. |
metrics.prometheus.readinessProbe.periodSeconds |
Version: 1.0.0
Default value: Determines how often to perform a readiness probe, in seconds. The minimum value is 1. |
metrics.prometheus.readinessProbe.timeoutSeconds |
Version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
metrics.proxyURL |
Version: 1.0.0
Default value: none URL for the metrics process sidecar proxy in the Kubernetes cluster. |
metrics.resources.limits.cpu |
Version: 1.0.0
Default value: The CPU limit for the resource in a Kubernetes container, in millicores. |
metrics.resources.limits.memory |
Version: 1.0.0
Default value: The memory limit for the resource in a Kubernetes container, in mebibytes. |
metrics.resources.requests.cpu |
Version: 1.0.0
Default value: The CPU needed for normal operation of the resource in a Kubernetes container, in millicores. |
metrics.resources.requests.memory |
Version: 1.0.0
Default value: The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes. |
metrics.sdSidecar.containerPort |
Version: 1.0.0
Default value: The port for connecting to the StackDriver metrics service. |
metrics.sdSidecar.image.pullPolicy |
Version: 1.0.0
Default value: Determines when Kubelet pulls this service's Docker image. Possible values include:
|
metrics.sdSidecar.image.tag |
Version: 1.0.0
Default value: The version label for this service's Docker image. |
metrics.sdSidecar.image.url |
Version: 1.0.0
Default value: The location of the Docker image for this service. |
metrics.serviceAccountPath |
Version: 1.0.0
Default value: none Required Path to Google Service Account key file with "Apigee Read Only Admin" role. |
metrics.terminationGracePeriodSeconds |
Version: 1.0.0
Default value: The time between a request for pod deletion and when the pod is killed, in seconds. During this period, any prestop hooks will be executed and any running process should terminate gracefully. |
nodeSelector
The nodeSelector object defines the node for your Apigee instance. Behind the scenes when apigeectl runs, it is taking care to map the label key/value for apigeeRuntime and apigeeData to the individual Istio and MART components. You can override this for individual objects in the istio:nodeSelector and mart:nodeSelector properties.
The following table describes the properties of the nodeSelector
object:
Property | Description |
---|---|
nodeSelector.apigeeData.key |
Version: 1.0.0
Default value: "cloud.google.com/gke-nodepool" ApigeeData is the node for the Cassandra database. Node selector label key for targeting Kubernetes nodes for working with Apigee services data. See Add node selectors. |
nodeSelector.apigeeData.value |
Version: 1.0.0
Default value: "apigee-data" apigee-data is the node for the Cassandra database. Node selector label value for targeting Kubernetes nodes for working with Apigee services data. See Add node selectors. |
nodeSelector.apigeeRuntime.key |
Version: 1.0.0
Default value: "cloud.google.com/gke-nodepool" Apigee Runtime is the node for the runtime environment for the project. Node selector label key for targeting Kubernetes nodes for Apigee runtime services. See Add node selectors. |
nodeSelector.apigeeRuntime.value |
Version: 1.0.0
Default value: "apigee-runtime" apigee-runtime is the node for the runtime environment for the project. Node selector label value for targeting Kubernetes nodes for Apigee runtime services. See Add node selectors. |
nodeSelector.requiredForScheduling |
Version: 1.0.0
Default value: false The
For production, See Add node selectors. |
runtime
The following table describes the properties of the runtime
object:
Property | Description |
---|---|
runtime.image.pullPolicy |
Version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
runtime.image.tag |
Version: 1.0.0
Default value: The version label for this service's Docker image. |
runtime.image.url |
Version: 1.0.0
Default value: URL to your installation's image resource, like: The location of the Docker image for this service. |
runtime.livenessProbe.failureThreshold |
Version: 1.0.0
Default value: The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1. |
runtime.livenessProbe.initialDelaySeconds |
Version: 1.0.0
Default value: The number of seconds after a container is started before a liveness probe is initiated. |
runtime.livenessProbe.periodSeconds |
Version: 1.0.0
Default value: Determines how often to perform a liveness probe, in seconds. The minimum value is 1. |
runtime.livenessProbe.timeoutSeconds |
Version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
runtime.nodeSelector.key |
Version: 1.0.0
Default value: none Optional Node selector label key for targeting Kubernetes nodes for |
runtime.nodeSelector.value |
Version: 1.0.0
Default value: none Node selector label value for targeting Kubernetes nodes for See Add node selectors. |
runtime.readinessProbe.failureThreshold |
Version: 1.0.0
Default value: The number of times Kubernetes will verify that readiness probes have failed before marking the pod unready. The minimum value is 1. |
runtime.readinessProbe.initialDelaySeconds |
Version: 1.0.0
Default value: The number of seconds after a container is started before a readiness probe is initiated. |
runtime.readinessProbe.periodSeconds |
Version: 1.0.0
Default value: Determines how often to perform a readiness probe, in seconds. The minimum value is 1. |
runtime.readinessProbe.successThreshold |
Version: 1.0.0
Default value: The minimum consecutive successes needed for a readiness probe to be considered successful after a failure. The minimum value is 1. |
runtime.readinessProbe.timeoutSeconds |
Version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
runtime.replicaCountMax |
Version: 1.0.0
Default value: Maximum number of replicas available for autoscaling. |
runtime.replicaCountMin |
Version: 1.0.0
Default value: Minimum number of replicas available for autoscaling. |
runtime.resources.requests.cpu |
Version: 1.0.0
Default value: The CPU needed for normal operation of the resource in a Kubernetes container, in millicores. |
runtime.resources.requests.memory |
Version: 1.0.0
Default value: The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes. |
runtime.service.type |
Version: 1.0.0
Default value: The type of service. You can set this to a service other than ClusterIP; for example,
|
runtime.targetCPUUtilizationPercentage |
Version: 1.0.0
Default value: Target CPU utilization for the runtime process on the pod. The
value of this field enables the runtime to auto-scale when CPU utilization
reaches this value, up to |
runtime.terminationGracePeriodSeconds |
Version: 1.0.0
Default value: The time between a request for pod deletion and when the pod is killed, in seconds. During this period, any prestop hooks will be executed and any running process should terminate gracefully. |
synchronizer
Ensures that the Message Processors are kept up to date with the latest deployed API proxy bundles. To do this, the Synchronizer polls the management plane; when a new contract is detected, the Synchronizer sends it to the runtime plane.
For more information, see Synchronizer.
The following table describes the properties of the synchronizer
object:
Property | Description |
---|---|
synchronizer.image.pullPolicy |
Version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
synchronizer.image.tag |
Version: 1.0.0
Default value: The version label for this service's Docker image. |
synchronizer.image.url |
Version: 1.0.0
Default value: The location of the Docker image for this service. |
synchronizer.livenessProbe.failureThreshold |
Version: 1.0.0
Default value: The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1. |
synchronizer.livenessProbe.initialDelaySeconds |
Version: 1.0.0
Default value: The number of seconds after a container is started before a liveness probe is initiated. |
synchronizer.livenessProbe.periodSeconds |
Version: 1.0.0
Default value: Determines how often to perform a liveness probe, in seconds. The minimum value is 1. |
synchronizer.livenessProbe.timeoutSeconds |
Version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
synchronizer.nodeSelector.key |
Version: 1.0.0
Default value: none Required Optional node selector label key for targeting Kubernetes nodes for See nodeSelector. |
synchronizer.nodeSelector.value |
Version: 1.0.0
Default value: none Optional node selector label value used for targeting Kubernetes nodes for See nodeSelector. |
synchronizer.pollInterval |
Version: 1.0.0
Default value: The length of time that Synchronizer waits between polling operations. Synchronizer polls Apigee control plane services to detect and pull new runtime contracts. |
synchronizer.readinessProbe.failureThreshold |
Version: 1.0.0
Default value: The number of times Kubernetes will verify that readiness probes have failed before marking the pod unready. The minimum value is 1. |
synchronizer.readinessProbe.initialDelaySeconds |
Version: 1.0.0
Default value: The number of seconds after a container is started before a readiness probe is initiated. |
synchronizer.readinessProbe.periodSeconds |
Version: 1.0.0
Default value: Determines how often to perform a readiness probe, in seconds. The minimum value is 1. |
synchronizer.readinessProbe.successThreshold |
Version: 1.0.0
Default value: The minimum consecutive successes needed for a readiness probe to be considered successful after a failure. The minimum value is 1. |
synchronizer.readinessProbe.timeoutSeconds |
Version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
synchronizer.replicaCount |
Version: 1.0.0
Default value: Number of replicas for autoscaling. |
synchronizer.resources.requests.cpu |
Version: 1.0.0
Default value: The CPU needed for normal operation of the resource in a Kubernetes container, in millicores. |
synchronizer.resources.requests.memory |
Version: 1.0.0
Default value: The memory needed for normal operation of the resource in a Kubernetes container, in gigabytes. |
synchronizer.serviceAccountPath |
Version: 1.0.0
Default value: none Required Path to Google Service Account key file with "Apigee Read Only Admin" role. |
synchronizer.targetCPUUtilizationPercentage |
Version: 1.0.0
Default value:
Target CPU utilization for the Synchronizer process on the pod. The
value of this field enables Synchronizer to auto-scale when CPU utilization
reaches this value, up to |
synchronizer.terminationGracePeriodSeconds |
Version: 1.0.0
Default value: The time between a request for pod deletion and when the pod is killed, in seconds. During this period, any prestop hooks will be executed and any running process should terminate gracefully. |
udca
(Universal Data Collection Agent) Defines the service that runs within the data collection pod in the runtime plane. This service extracts analytics and deployment status data and sends it to the Unified Analytics Platform (UAP).
For more information, see Analytics and deployment status data collection.
The following table describes the properties of the udca
object:
Property | Description |
---|---|
udca.fluentd.image.pullPolicy |
Version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
udca.fluentd.image.tag |
Version: 1.0.0
Default value: The version label for this service's Docker image. |
udca.fluentd.image.url |
Version: 1.0.0
Default value: The location of the Docker image for this service. |
udca.fluentd.resource.limits.memory |
Version: 1.0.0
Default value: The memory limit for the resource in a Kubernetes container, in mebibytes. |
udca.fluentd.resource.requests.cpu |
Version: 1.0.0
Default value: The CPU needed for normal operation of the resource in a Kubernetes container, in millicores. |
udca.fluentd.resource.requests.memory |
Version: 1.0.0
Default value: The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes. |
udca.image.pullPolicy |
Version: 1.0.0
Default value: IfNotPresent Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
udca.image.tag |
Version: 1.0.0
Default value: The version label for this service's Docker image. |
udca.image.url |
Version: 1.0.0
Default value: The location of the Docker image for this service. |
udca.jvmXms |
Version: 1.0.0
Default value: The starting amount of memory for the data collection pod's JVM. |
udca.jvmXmx |
Version: 1.0.0
Default value: The maximum allocation of memory for the data collection pod's JVM. |
udca.livenessProbe.failureThreshold |
Version: 1.0.0
Default value: The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1. |
udca.livenessProbe.initialDelaySeconds |
Version: 1.0.0
Default value: The number of seconds after a container is started before a liveness probe is initiated. |
udca.livenessProbe.periodSeconds |
Version: 1.0.0
Default value: Determines how often to perform a liveness probe, in seconds. The minimum value is 1. |
udca.livenessProbe.timeoutSeconds |
Version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
udca.nodeSelector.key |
Version: 1.0.0
Default value: none Required Node selector label key used to target dedicated Kubernetes nodes for See Add node selectors. |
udca.nodeSelector.value |
Version: 1.0.0
Default value: none Required Node selector label value used to target dedicated Kubernetes nodes for See Add node selectors. |
udca.pollingIntervalInSec |
Version: 1.0.0
Default value: The length of time, in seconds, that UDCA waits between polling operations. UDCA polls the data directory on the data collection pod's file system to detect new files to be uploaded. |
prometheus.sslCertPath |
Version: 1.0.0
Default value: none Required Path to the SSL cert for the Prometheus metrics collection process. Prometheus is a tool Apigee can use for collecting and processing metrics. See:
|
prometheus.sslKeyPath |
Version: 1.0.0
Default value: none Required Path to the SSL Key for the Prometheus metrics collection process. Prometheus is a tool Apigee can use for collecting and processing metrics. See:
|
udca.replicaCountMax |
Version: 1.0.0
Default value: The maximum number of pods that hybrid can automatically add for the UDCA deployment. Because UDCA is implemented as a ReplicaSet, the pods are replicas. |
udca.replicaCountMin |
Version: 1.0.0
Default value: The minimum number of pods for the UDCA deployment. Because UDCA is implemented as a ReplicaSet, the pods are replicas. If the CPU usage goes above udca.targetCPUUtilizationPercentage,
then hybrid will gradually increase the number of pods, up to
|
udca.resource.requests.cpu |
Version: 1.0.0
Default value: The CPU needed for normal operation of the resource in a Kubernetes container, in millicores. |
udca.revision |
Version: 1
Default value: A static value that is populated in a label to enable canary deployments. |
udca.targetCPUUtilizationPercentage |
Version: 1.0.0
Default value: The threshold of CPU usage for scaling the number of pods in the ReplicaSet, as a percentage of total available CPU resources. Hybrid uses the combined utilization of all containers in the data collection pod (both fluentd and UDCA) to calculate the current utilization. When CPU usage goes above this value, then hybrid will gradually
increase the number of pods in the ReplicaSet, up to
|
udca.terminationGracePeriodSeconds |
Version: 1.0.0
Default value: The time between a request for pod deletion and when the pod is killed, in seconds. During this period, any prestop hooks will be executed and any running process should terminate gracefully. |