/k0surl

Primary LanguageShellApache License 2.0Apache-2.0

k0surl

k0surl configures and installs a k0s Kubernetes cluster and a pre-configured set of add-ons to a set of servers using k0sctl and helm.

Applying changes to the cluster

Localhost

./apply.sh

With custom hosts

Example hosts.patch.yaml file with a controller and two workers:

apiVersion: k0sctl.k0sproject.io/v1beta1
kind: Cluster
metadata:
  name: k0s
spec:
  hosts:
    - role: controller
      ssh:
        address: 35.247.41.116
        user: ethan
        keyPath: ~/.ssh/id_ed25519
    - role: worker
      ssh:
        address: 34.234.21.65
        user: ethan
        keyPath: ~/.ssh/id_ed25519
    - role: worker
      ssh:
        address: 35.237.129.32
        user: ethan
        keyPath: ~/.ssh/id_ed25519
HOSTS_PATCH_FILE=./hosts.patch.yaml ./apply.sh

Output the default configuration

CONFIG_DIR=~/mycluser ./config.sh

With custom configuration

CONFIG_DIR=~/mycluser ./apply.sh

With debug logging

DEBUG=true ./apply.sh

Accessing the cluster

$ export KUBECONFIG=./build/render/kubeconfig.yaml
$ ./bin/kubectl get nodes
...

Resetting the cluster

./reset.sh

Add-ons

name supported
openebs yes
rook todo
registry todo
prometheus todo
velero todo
kots yes
... todo

Known limitations

  • Preflights and troubleshoot
  • Airgap with add-ons
  • E2E tests