Runtime service configuration overview

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 apigee-ingressgateway-manager and apigee-ingressgateways.

  • apigee-ingressgateway pod routes the traffic to the right Apigee environment based on hostname and basepath and it orchestrates traffic flow during the canary releases.
  • apigee-ingressgateway-manager pod task is to create and update the routing configuration of the Apigee Ingress.

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.

  • apigee-cassandra-default pods are the pods running the hybrid Cassandra database on a Kubernetes cluster. One or more pods together make a cluster that reads, writes, and stores persistent data for Apigee hybrid.
  • apigee-cassandra-user-setup pod initializes and configures the users and roles for the Cassandra database. These roles are used by Cassandra and runtime components to read and write data to the hybrid Cassandra database.
  • apigee-cassandra-schema-setup pod initializes and configures the database schema of the hybrid Cassandra database. This pod is for setting up Cassandra keyspace and table definitions with the hybrid Cassandra database.
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.