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 server = "http://192.168.122.64:32000" capabilities = [ "pull" , "resolve" , "push" ] skip_verify = true EOF |
そしたら microk8s を再起動。
1 2 | microk8s stop microk8s start |
このあと、一通り docker container を新しいレジストリに push したら乗り換え完了。