ece1031e13
I had to remove the config option for `juju deploy hello-kubecon --config juju-external-hostname=kubecon.test` to make it worked. With `--config juju-external-hostname=kubecon.test` the unit was stuck at ` waiting for Pebble in workload container`. It worked like a charm with `juju deploy hello-kubecon`. ``` Every 2.0s: juju status --color B550-AORUS: Tue Mar 15 13:11:05 2022 Model Controller Cloud/Region Version SLA Timestamp hello-kubecon my-k8s-new my-k8s-new 2.9.26 unsupported 13:11:05Z App Version Status Scale Charm Store Channel Rev OS Address Message hello-kubecon waiting 1 hello-kubecon charmhub stable 14 kubernetes 10.152.183.100 installing agent ingress active 1 nginx-ingress-integrator charmhub stable 27 kubernetes 10.152.183.162 Unit Workload Agent Address Ports Message hello-kubecon/0* waiting idle 10.1.85.13 waiting for Pebble in workload container ingress/0* active idle 10.1.85.14 ``` |
||
---|---|---|
ceph-osd.yaml | ||
LICENSE | ||
lxd.conf | ||
maas-cloud.yaml | ||
maas-setup.sh | ||
README.md |
Bare metal Kubernetes with MAAS, LXD, and Juju
Intro
This is a series of commands and configuration files that will guide you to build your own emulated bare metal k8s cluster on a single machine, using https://maas.io.
It is designed to be used in conjunction with an explanatory video tutorial: https://www.youtube.com/watch?v=sLADei_c9Qg
How to use
Read maas-setup.sh. The script is not fully automated and requires manual intervention at times. Read the comments to understand the process.
Requirements
You need a reasonably powerful bare metal machine, 4 or more cores with 32 GB of RAM and 500GB of free disk space. Assumes a fresh install of Ubuntu server (20.04 or higher) on the machine.
You will need to install the command line configuration tool for Kubernetes kubectl
The reason you need a bare metal machine is because nesting multiple layers of VMs will not work and/or have performance problems.
Note: this tutorial has not been tested on versions prior to 20.04.