Addons🔗︎
Configuration🔗︎
Kubespray addons🔗︎
Kubespray provides a variety of configurable addons to enhance the functionality of Kubernetes. Some popular addons include the Ingress-NGINX controller and MetalLB.
Kubespray addons can be configured under the addons.kubespray
property. It's important to note that the Kubespray addons are configured in the same as they would be for Kubespray itself, as Kubitect copies the provided configuration into Kubespray's group variables during cluster creation.
The full range of available addons can be explored in the Kubespray addons sample, which is available on GitHub. Most addons are also documented in the official Kubespray documentation.
addons:
kubespray:
# Nginx ingress controller deployment
ingress_nginx_enabled: true
ingress_nginx_namespace: "ingress-nginx"
ingress_nginx_insecure_port: 80
ingress_nginx_secure_port: 443
# MetalLB deployment
metallb_enabled: true
metallb_speaker_enabled: true
metallb_ip_range:
- "10.10.9.201-10.10.9.254"
metallb_pool_name: "default"
metallb_auto_assign: true
metallb_version: v0.12.1
metallb_protocol: "layer2"
Rook addon🔗︎
v2.2.0 Experimental
Rook is an orchestration tool that integrates Ceph with Kubernetes. Ceph is a highly reliable and scalable storage solution, and Rook simplifies its management by automating the deployment, scaling and management of Ceph clusters.
To enable Rook in Kubitect, set addons.rook.enabled
property to true.
addons:
rook:
enabled: true
Note that Rook is deployed only on worker nodes. When a cluster is created without worker nodes, Kubitect attempts to install Rook on the master nodes. In addition to enabling the Rook addon, at least one data disk must be attached to a node suitable for Rook deployment. If Kubitect determines that no data disks are available for Rook, it will skip installing Rook.
Node selector🔗︎
The node selector is a dictionary of node labels used to determine which nodes are eligible for Rook deployment. If a node does not match all of the specified node labels, Rook resources cannot be deployed on that node and disks attached to that node are not used for distributed storage.
addons:
rook:
nodeSelector:
rook: true
Version🔗︎
By default, Kubitect uses the latest (master) version of Rook. If you want to use a specific version of Rook, you can set the addons.rook.version
property to the desired version.
addons:
rook:
version: v1.11.3