Kubernetes
The Kubernetes section of the configuration file contains properties that are closely related to Kubernetes, such as Kubernetes version, network plugin, and DNS mode. In addition, the Kubespray project version and URL can also be specified in this section of the Kubitect configuration.
Configuration🔗︎
Kubespray version🔗︎
v2.0.0 Required
As Kubitect relays on the Kubespray for deploying a Kubernetes cluster, a Kubespray project is cloned during a cluster creation. This property defines the version of the Kubespray to be cloned. All Kubespray versions can be found on on their GitHub release page.
kubernetes:
kubespray:
version: v2.19.0
Kubespray URL🔗︎
v2.0.0 Default: https://github.com/kubernetes-sigs/kubespray
By default, Kubespray is cloned from the official GitHub repository. If there is a need to use a custom forked version of the project, the url to the repository can be specified with this property.
kubernetes:
kubespray:
url: https://github.com/kubernetes-sigs/kubespray
Kubernetes version🔗︎
v2.0.0 Required
The Kubernetes version must be defined in the Kubitect configuration. It must be ensured that Kubespray supports the provided Kubernetes version, otherwise the cluster setup will fail. In addition, Kubernetes version must be prefixed with the v
.
kubernetes:
version: v1.23.6
Kubernetes network plugin🔗︎
v2.0.0 Default: calico
Kubitect supports multiple Kubernetes network plugins. Currently, the following network plugins are supported:
calico
canal
cilium
flannel
kube-router
weave
If the network plugin is not set in the Kubitect configuration file, calico
is used by default.
kubernetes:
networkPlugin: calico
Kubernetes DNS mode🔗︎
v2.0.0 Default: coredns
Two DNS servers are supproted, coredns
and kubedns
. It is highly recommended to use CoreDNS, which has replaced the kube-dns. If this property is omitted, CoreDNS is used.
kubernetes:
dnsMode: coredns
Copy kubeconfig🔗︎
v2.0.0 Default: false
Kubitect provides option to automatically copy the Kubeconfig file to ~/.kube/config
path. By default, this option is disabled, as it can overwrite an existing file.
kubernetes:
other:
copyKubeconfig: true
Auto renew control plane certificates🔗︎
v2.2.0 Default: false
Control plane certificates are valid for 1 year and are renewed each time the cluster is upgraded. In some rare cases, this can cause clusters that are not upgraded frequently to stop working properly. Therefore, the control plane certificates can be renewed automatically on the first Monday of each month by setting the autoRenewCertificates
property to true.
kubernetes:
other:
autoRenewCertificates: true
Example usage🔗︎
Minimal configuration🔗︎
The minimalistic Kubernetes configuration encompasses setting Kubernetes and Kubesrpay versions.
kuberentes:
version: v1.23.7
kubespray:
version: v2.19.0