zuul-jobs/roles/ensure-kubernetes/README.rst
Ian Wienand 99678c46e0 ensure-kubernetes: add microk8s support
Add microk8s support to the ensure-kubernetes role.  This installs via
a snap, and is currently only implemented for Ubuntu Jammy.

Mostly this is a straight-forward installation.  I did notice though
it needs a little more time to be stable in the test, so the timeout
is bumped slightly.

microk8s is the Ubuntu "blessed" way of doing things.  This should be
a better choice for Ubuntu platforms, because minikube is tightly tied
to cri-o, which is only packaged through kubic, which is currently in
some sort of deprecated but best-effort supported mode [1].  This was
inspired by an outage where the kubic gpg expired.  This appears fixed
now.

[1] https://kubic.opensuse.org/blog/2022-06-10-kubic-retired/

Change-Id: Id3e31c70a35dde218e35e7c50964f8a3c0348150
2023-01-08 08:05:40 -08:00

50 lines
1.3 KiB
ReStructuredText

An ansible role to install kubernetes.
**Role Variables**
.. zuul:rolevar:: ensure_kubernetes_type
:default: minikube
The kubernetes distribution to use. Currently ```minikube`` or
```microk8s```. Note that ```microk8s``` is only implemented for
Ubuntu Jammy distributions currently.
.. zuul:rolevar:: ensure_kubernetes_microk8s_channel
:default: latest/stable
The ``snap`` channel to use for ```microk8s```. See
`<https://microk8s.io/docs/setting-snap-channel>`__.
.. zuul:rolevar:: ensure_kubernetes_microk8s_addons
:default: ['dns', 'storage']
The addons for ``microk8s```. See
`<https://microk8s.io/docs/addons>`__
.. zuul:rolevar:: install_kubernetes_with_cluster
:default: True
If true, installs a Minikube cluster.
.. zuul:rolevar:: minikube_version
:default: latest
The version of Minikube to install.
.. zuul:rolevar:: minikube_dns_resolvers
:default: []
List of dns resolvers to configure in k8s. Use this to override the
resolvers that are found by default.
.. zuul:rolevar:: kubernetes_runtime
:default: docker
Which kubernetes runtime to use for minikube; values are ``docker`` or
``cri-o``.
.. zuul:rolevar:: ensure_kubernetes_minikube_addons
:default: []
List of addons to configure in k8s. Use this to enable the addons.