View a Transcript of the screenscast.
Build a verifiably conformant kubernetes cluster in containers.
Take note of the Status below and the Releases page.
Either Podman or Docker must be installed frst. If both are installed mokctl
will choose to use Podman.
If your distribution enables cgroups v2 then it must be disabled. Only Fedora do this right now, so for Fedora 31 or 32 do:
grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"
To build and install from source:
git clone https://github.com/mclarkson/my-own-kind.git
cd my-own-kind
Install into /usr/local/bin
(don't use mokctl if any tests fail):
sudo make test
sudo make install
Then use mokctl
:
alias mokctl="sudo mokctl"
mokctl build image
mokctl create cluster myk8s 1 0
Removal
# To remove mokctl
sudo make uninstall
# OR, to remove mokctl and the `~/.mok/` configuration directory
sudo make purge
Install Docker if you don't have it already.
Paste the following alias into your teminal:
alias mokctl='docker run --rm --privileged -ti -v /var/run/docker.sock:/var/run/docker.sock -v ~/.mok/:/root/.mok/ -e TERM=xterm-256color mclarkson/mokctl'
Then use mokctl:
mokctl build image
mokctl create cluster myk8s 1 0
export KUBECONFIG=~/.mok/admin.conf
kubectl get pods -A
kubectl run -ti --image busybox busybox sh
See: Mokctl on Docker Hub.
Mokctl Utility
OS | Termnal | Status |
---|---|---|
Fedora 31 | Gnome Terminal | Works - must disable cgroup2 |
Fedora 32 | Gnome Terminal | Works - must disable cgroup2 |
Mac OS | Default terminal | ? |
Windows | Cygwin | ? |
To see how mokctl
was created go to the docs section.
A remake of the original Bootstrap Kubernetes the hard way on Google Cloud Platform. No scripts. with slight configuration changes, only where necessary, to make it work with My Own Kind.
Mokctl is used to create seven container nodes: a load balancer, 3 controller nodes and 3 worker nodes without melting your laptop.
Please check the 'Help Wanted' issues if you fancy helping.
All types of contributions are welcome, from bug reports, success stories, feature requests, fixing typppos, to coding. Also check the CONTRIBUTING.md document.