Project deployment
In general the helm chart of a projects consists of following but not exclusively these resources:
values.yaml
: to adjust the deployment configurationconfigmap: storing the configuration for the deployed project
deployment: deployment definition
hpa: horizontal pod autoscaler definition
pdb: pod disruption budget
routes: exposing the service to the outside world; only if istio is not used
service: service definition
solution: custom resource to define the project
istio related resources:
destination rules: the istio replacement of routes
virtual service: the istio replacement of service
values.yaml
The values.yaml
defines the defaults and options to adjust the deployment of a project.
In general but not exclusively following sections exists:
routes: Configuration of hsts headers, rate limits, exposed paths
horizontal pod autoscaler: enables and configures the horizontal pod autoscaler; must be in sync with deployment replica count and pod disruption budget
pod disruption budget: enables and configures the pod disruption budget; must be in sync with horizontal pod autoscaler and deployment replica count
deployment replica count: desired number of deployed containers; must be in sync with horizontal pod autoscaler and pod disruption budget
deployment container: in deep configuration of the container like resource requests and limits, security context, extra containers and init containers, extra volumes and volume mounts, startup, readiness and liveness probes
features flags: enabling or disabling of, e.g., kafka, mongo, etc. support
configuration secret source names: the names of secret storing the configuration and credentials of kafka, mongo, and oidc services
deployment configuration: the project name, identifier etc.
images: the used docker images
rbac: the service account name
configmap: additional config map configuration like logging
The details how to configure the project are described in Create or Update K5-Project Configurations
50
by default for any component,
see OpenShift annotation haproxy.router.openshift.io/rate-limit-connections.concurrent-tcp
in the
OpenShift documentation Route configuration