high_availability_config.yml¶
This file configures Kubernetes control plane high availability (HA) using a virtual IP address and load-balanced API servers.
Configure exactly one entry in service_k8s_cluster_ha. Its cluster_name
must match the single service_k8s_cluster entry selected with
deployment: true in omnia_config.yml. The provisioning path uses
virtual_ip_address to generate kube-vip and Kubernetes API configuration
regardless of the enable_k8s_ha value, so set enable_k8s_ha: true for the
supported configuration.
Parameter Reference¶
|
Parameter |
Details |
|---|---|
|
service_k8s_cluster_ha list / elements=dict / required |
High Availability (HA) configuration for Kubernetes (K8s) service clusters. Configure exactly one entry. Orchestrator validates it against the Kubernetes cluster selected for deployment and generates kube-vip configuration from its virtual IP address. |
|
cluster_name string / required |
Identifies the intended service cluster. This value must match the single |
|
enable_k8s_ha boolean / required |
Possible values: Set this value to |
|
virtual_ip_address string / required |
This is a mandatory and user-configurable parameter. Captures the virtual IP address for the K8s service node HA setup. Ensure that the Sample value: Input validation requires this VIP to be a usable address in the shared control-plane admin subnet, requires the complete MetalLB pool to belong to that subnet, and rejects conflicts with OIM, mapped node, DHCP, and MetalLB addresses. |
Prerequisites¶
- Add the matching service Kubernetes cluster to
omnia_config.yml. - The
virtual_ip_addressmust be a free IP on the admin network subnet -- it must not be assigned to any physical server or DHCP range. - Define at least three control-plane nodes for the supported HA topology. The
validator checks the cluster-name relationship, VIP subnet, shared
control-plane subnet, complete
pod_external_ip_rangeplacement, and configured-address conflicts; it does not enforce the control-plane node count or detect addresses used by external devices.
Usage example¶
---
service_k8s_cluster_ha:
- cluster_name: service_cluster
enable_k8s_ha: true
virtual_ip_address: "172.16.107.1"
Info
- Omnia Config -- Kubernetes deployment settings.
- Minimum Nodes -- Minimum node counts for HA deployments.
- Ports -- Kubernetes ports including the API server.