Warning
Community supported. Support here is done by the community that manages this repository, not by the Kairos team. Open issues here, on this repository. It is moving to its own organization to avoid that confusion.
This provider will configure a Microk8s installation based on the cluster section of cloud init.
cluster_token: a token all members of the cluster must have to join the cluster.
control_plane_host: the host of the cluster control plane. This is used to join nodes to a cluster. If this is a single node cluster this is not required.
role: defines what operations is this device responsible for. The roles are described in detail below.
initThis role denotes a device that should initialize the dqlite cluster and operate as a Microk8s control plane. There should only be one device with this role per cluster.controlplane: runs the Microk8s control plane.worker: runs the Microk8s worker.
config: User provided configuration for microk8s. It supports the following configuration entries
-
clusterConfiguration: Defense cluster level parameters# Changes the default cluster agent port and the dqlite ports to use 30000 and 6443 which might be more likely to be open in firewalls `portCompatibilityRemap` : true # Writes the kubeconfig to a specified location `writeKubeconfig`: "/run/kubeconfig" # Switch dqlite to use the internal IP of the Node instead of the 127.0.0.1 `dqliteUseHostIPV4Address`: true # Uses the DNS server entries from the host for the coredns configuration(reads from /etc/resolv.conf) `useHostDNS`: true # Specifies custom DNs server. Overrides the previous setting `DNS` : 75.75.74.74 # Customize calico settings `calico`: # Enable IpinIP `calicoIPinIP`: true # Change the calico IP_AUTODETECTION_METHOD env . By default When forming a MicroK8s cluster, Calico is updated to use address that was used in the microk8s join command (IP_AUTODETECTION_METHOD=can-reach=10.10.10.10) `calicoAutoDetect`: "cidr=10.10.128.0/18" -
initConfiguration: Configuration only for the init nodeaddons: - dns
#cloud-config
cluster:
cluster_token: randomstring
control_plane_host: cluster.example.com
role: init
config: |
clusterConfiguration:
# Changes the default cluster agent port
portCompatibilityRemap : true
writeKubeconfig: "/run/kubeconfig"
dqliteUseHostIPV4Address: true
useHostDNS: true
calico:
calicoIPinIP: true
calicoAutoDetect: "cidr=10.10.128.0/18"
initConfiguration:
addons:
- dns