Ubuntu 24.04 に MicroK8S をインストール

 
Minikube から MicroK8S に乗り換えたのでメモ。

Snap でインストールする。

1
2
3
sudo apt update -y
sudo apt upgrade -y
sudo snap install microk8s --classic

ユーザーを microk8s グループに所属させる。

1
2
3
4
sudo usermod -a -G microk8s $USER
sudo chown -f -R $USER ~/.kube
newgrp microk8s
microk8s status --wait-ready

必要なアドオンを有効化しておく。

1
2
3
4
5
microk8s enable dns
microk8s enable dashboard
microk8s enable hostpath-storage
microk8s enable ingress
microk8s enable registry:size=100Gi

kubeconfig を生成する。
あとは kubectl を “microk8s kubectl” のエイリアスにしておく。

1
2
3
microk8s config > ~/.kube/config
echo "alias kubectl='microk8s kubectl'" >> ~/.bashrc
source ~/.bashrc

一旦動作確認。ノードとポッド一覧を見る。

1
2
kubectl get no
kubectl get po -A

MicorK8S の内蔵レジストリを使うので、SSL なしの in-secure registry の設定が必要。
Docker の daemon.json 設定を変えておく。

1
2
3
4
/* /etc/docker/daemon.json */
{
    "insecure-registries" : ["192.168.122.64:32000"]
}

daemon.json をリロードする。

1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

MicroK8S の containerd にも内蔵レジストリを使う設定をしておく。
ホスト名:ポート番号のディレクトリを作って、そこにSSL証明書を無視する設定を記入。

1
2
3
4
5
6
7
8
sudo mkdir -p /var/snap/microk8s/current/args/certs.d/192.168.122.64:32000
sudo tee /var/snap/microk8s/current/args/certs.d/192.168.122.64:32000/hosts.toml << EOF
 
  capabilities = ["pull", "resolve", "push"]
  skip_verify = true
EOF

そしたら microk8s を再起動。

1
2
microk8s stop
microk8s start

このあと、一通り docker container を新しいレジストリに push したら乗り換え完了。