Multipass: https://multipass.run/docs
- MacOS
- Homebrew Installation if need
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
- Windows
- Linux
This will create a virtual machien which use 22.04 latest/stable image from offical website.
# create vm
multipass launch \
-c 6 -m 10G -d 50G \
-n k8s-summit \
jammy
# list virtual machine
multipass list
# exec into vm
multipass shell k8s-summit
Inside virtual machine
# List package information and channels
snap info microk8s
sudo snap install microk8s --channel=1.24/stable --classic
# List snap packages & channel
snap list
# add the user ubuntu to the 'microk8s' group
sudo usermod -a -G microk8s ubuntu
sudo chown -f -R ubuntu ~/.kube
# reload the user groups or reboot
newgrp microk8s
check status
microk8s status
Add alias in ~/.bash_aliases
alias kubectl='microk8s kubectl'
Enable addons dns and hostpath-storage
microk8s status
microk8s enable dns hostpath-storage
# Check
microk8s status --wait-ready
https://microk8s.io/docs/addon-dns https://microk8s.io/docs/addon-hostpath-storage
Check addons status with kubectl
microk8s kubectl rollout status deployments/hostpath-provisioner -n kube-system -w
microk8s kubectl rollout status deployments/coredns -n kube-system -w
sudo snap install juju --classic
In Juju, a controller is the initial cloud instance that is created by the juju client during bootstrapping. It is a central piece of Juju, being responsible for implementing all the changes defined by a Juju user.
juju bootstrap microk8s micro
# Check status
microk8s kubectl get namespace | grep controller | awk '{print $1}' | xargs microk8s kubectl get all -n
juju controllers
juju clouds