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:
cluster
images.config.openshift.io custom resource- The observed CR resource is used to configure the
imagePolicyConfig.internalRegistryHostname
in Kubernetes API server configuration
- The observed CR resource is used to configure the
cluster
projects.config.openshift.io custom resource- The observed CR resource is used to configure the Project request defaults
cluster
ingress.config.openshift.io custom resource- The observed CR resource is used to set
routingConfig.subdomain
in 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.unsupportedConfigOverrides
from 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.