Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kairos Microk8s Cluster Plugin


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.

Configuration

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.

  • init This 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 node

      addons:
         - dns
    

Example

#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

About

Community repository maintained by https://github.com/spectrocloud/

Topics

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages