The Apigee hybrid runtime plane is made up of a variety of services. Each service is deployed
on nodes within your Kubernetes cluster, and each one can be configured using the
overrides.yaml
file.
The following table summarizes the runtime services:
Service | Description | Configuration Object | Implemented As | Scope |
---|---|---|---|---|
Apigee Ingress | Apigee Ingress is an edge load balancer that receives incoming connections and routes
them to the correct message processor. It includes two parts: the
|
apigeeIngressGateway |
Deployment | Kubernetes cluster |
Apigee Operators | Apigee Operators (AO) creates and updates low level Kubernetes and Istio resources that are required to deploy and maintain the ApigeeDeployment (AD) configuration. For example, the controller carries out the release of message processors and validates the AD configuration before making it persistent in Kubernetes cluster. | ao |
Deployment | Kubernetes cluster |
Cassandra |
Acts as a runtime datastore that provides Apigee local persistent storage for KMS, OAuth, KVMs, and caching for the runtime plane. You can have separate Cassandra rings for KMS, OAuth, KVMs, and caching.
|
cassandra |
StatefulSet | Organization (one or more orgs) |
Apigee Connect | The Connect Agent allows the Apigee hybrid management plane to connect securely to the MART service in the runtime plane without requiring you to expose the MART endpoint on the internet. | connectAgent |
Deployment | Kubernetes cluster |
Logger | Extracts log files and sends the data to the monitoring application associated with your Google Cloud account (currently Cloud Operations). | logger |
DaemonSet | Cluster (one or more organizations in the same cluster) |
Management API for Runtime data (MART) | Exposes an endpoint to administer data entities on the runtime plane, such as KMS (API keys and OAuth tokens), quotas, KVMs, and API products. MART services are scoped to a single organization. | mart |
Deployment | Organization |
Message Processor | Consumes rolling updates from the management plane to provide API request processing and policy execution on the runtime plane. Each Message Processor is scoped to a single environment. | runtime |
Deployment | Environment |
Metrics | Collects operations metrics that you can use to monitor the health of hybrid services, to set up alerts, and so on. | metrics |
Deployment | Cluster (one or more organizations in the same cluster) |
Redis | Apigee Redis is used to keep track of rate limit counts in Apigee and hybrid, which applies only when the SpikeArrest policy has the effectiveCount option enabled. | redis |
Deployment | Kubernetes cluster |
Synchronizer | Fetches configuration data about an API environment from the management plane to the runtime plane. A Synchronizer can poll one or more environments in the same or different organizations. | synchronizer |
Deployment | Environment |
Universal Data Collection Agent (UDCA) | Extracts analytics and deployment status data and sends it to the UAP service in the management plane so that you can access it with the management UI. | udca |
Deployment | Environment |
Watcher | The watcher is a process that watches for configuration changes and triggers their application to the runtime plane. The watcher also sends Apigee Ingress and runtime deployment status back to the control plane. The watcher fetches the deployment status from all apigee runtime pods, merges the status and sends the status to the ConfigStore on Management Plane | watcher |
Deployment | Kubernetes cluster |
Most services make socket connections with other internal or external services that you should be aware of. For more information, see Hybrid ports.