The OpenShift API Server operator manages and updates the OpenShift API Server. The operator is based on OpenShift library-go framework and it is installed via Cluster Version Operator (CVO).
It contains the following sub-systems:
- Operator
- Configuration observer
By default, the operator exposes Prometheus metrics via metrics service.
The metrics are collected from following components:
- OpenShift API Server Operator
The configuration observer component is responsible for reacting on external configuration changes. For example, this allows external components (registry, etc..) to interact with the OpenShift API server configuration (OpenShiftAPIServerConfig custom resource).
Currently changes in following external components are being observed:
clusterimages.config.openshift.io custom resource- The observed CR resource is used to configure the
imagePolicyConfig.internalRegistryHostnamein Kubernetes API server configuration
- The observed CR resource is used to configure the
clusterprojects.config.openshift.io custom resource- The observed CR resource is used to configure the Project request defaults
clusteringress.config.openshift.io custom resource- The observed CR resource is used to set
routingConfig.subdomainin the OpenShift API server configuration.
- The observed CR resource is used to set
The configuration for the OpenShift API server is the result of merging:
- a default config
- observed config (compare observed values above)
spec.spec.unsupportedConfigOverridesfrom theopenshiftapiserveroperatorconfig.
All of these are sparse configurations, i.e. unvalidated json snippets which are merged in order to form a valid configuration at the end.
To gather all information necessary for debugging operator please use the must-gather tool.