Kubernetes

The kubernetes field is used to specify the kubernetes provider and version. This field is optional and not specifying it will result in boundless defaulting to the existing provider.

There are currently two kubernetes providers that are officially supported by boundless: kind and k0s.

An existing provider can also be used to specify an unsupported kubernetes provider. Using this provider will install boundless and the specified addons on an existing kubernetes cluster but no cluster management will be possible. If a kubeconfig is not specified, boundless will fail to find the existing cluster.

Using an unsupported kubernetes provider expects that the underlying cluster is being managed outside of boundless.

k0s

Specifying a k0s will create a k0s cluster, install the boundless operator, and install the specified components. The following is an example of how to specify a k0s cluster:

spec:
  kubernetes:
    provider: k0s
    version: 1.28.5+k0s.0
    infra:
      hosts:
        - ssh:
            address: 10.0.0.1
            keyPath: ""
            port: 22
            user: root
          role: controller
        - ssh:
            address: 10.0.0.2
            keyPath: ""
            port: 22
            user: root
          role: worker
    config: ...
FieldDescription
providerUsed to specify the kubernetes provider to use for the cluster [k0s/kind/existing]
versionUsed to specify the version of k0s to install
infraUsed to specify the nodes for the cluster. (Atleast one node must be specified)
infra.hosts.ssh.addressUsed to specify the address of the node
infra.hosts.ssh.keyPathUsed to specify the path to the node’s ssh key
infra.hosts.ssh.portUsed to specify the port of the node’s ssh
infra.hosts.ssh.userUsed to specify the user of the node’s ssh
infra.hosts.roleUsed to specify the role of the node’s ssh [controller/worker/single/localhost]
configUsed to specify the k0s configuration to use for the cluster (optional)

kind

Specifying a kind provider will create a kind cluster, install the boundless operator, and install the specified components. The following is an example of how to specify a kind cluster:

apiVersion: boundless.mirantis.com/v1alpha1
kind: Blueprint
metadata:
  name: boundless-cluster
spec:
  kubernetes:
    provider: kind
    config: ...
FieldDescription
providerUsed to specify the kubernetes provider to use for the cluster [k0s/kind/existing]
configUsed to specify the kind configuration to use for the cluster (optional)

existing

Using an unsupported kubernetes provider expects that the underlying cluster is being managed outside of boundless.

Specifying an existing provider will install boundless and the specified addons on an existing kubernetes cluster. This is the default value that will be used if no kubernetes section is provided in the blueprint. The following is an example of how to specify an existing cluster:

apiVersion: boundless.mirantis.com/v1alpha1
kind: Blueprint
metadata:
  name: boundless-cluster
spec:
  kubernetes:
    provider: existing
    kubeConfig: /home/user/.kube/config

Read more about kubeconfig precedence in the ../kubeconfig section.

FieldDescription
providerUsed to specify the kubernetes provider to use for the cluster [k0s/kind/existing]
kubeConfigUsed to specify the path to the kubeconfig file to use for the cluster (optional)