CKADの練習環境としてmikrok8sをUbuntu 20.04にインストールして触ってみました。
microk8sのインストール
snapを使ってインストールをします。
$ sudo snap install microk8s --classic --channel=1.19 microk8s (1.19/stable) v1.19.8 from Canonical✓ installed
インストールが完了したら、グループにアカウントを追加します
$ sudo usermod -a -G microk8s $USER $ sudo chown -f -R $USER ~/.kube
MicroK8sには、ステータスを表示するコマンドが組み込まれています。インストール中に、--wait-ready
フラグを使用してKubernetesサービスが初期化されるのを待つことができます。
$ microk8s status --wait-ready
microk8sはkubectlを実行するときのprefixにmicrok8s
をつけないと行けないのですが、もしマシン上にkubernetesをインストールしない場合は、aliasでkubectlで実行できるように変更すると便利になります。
$ touch ~/.bash_aliases $ echo "alias kubectl='microk8s kubectl'" > ~/.bash_aliases $ su - $USER
これでkubectlコマンドのように実行ができます。
Kubectlを試す
ノードを確認してみます。kubernetesではkubectl get nodes
で確認できます。
$ kubectl get nodes NAME STATUS ROLES AGE VERSION vagrant Ready <none> 6m30s v1.19.8-34+811e9feeade1d3
ちなみにmicrok8sをつけても動きます。
$ microk8s kubectl get nodes NAME STATUS ROLES AGE VERSION vagrant Ready <none> 8m32s v1.19.8-34+811e9feeade1d3
実行中のサービスを確認する場合はkubectl get services
を使用します。
$ kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.152.183.1 <none> 443/TCP 6m47s
こちらも通常通りmicrok8sをつけても動きます。
$ microk8s kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.152.183.1 <none> 443/TCP 33m
kubectlコマンドが遜色なく使えそうなので、この環境でCKADの対策をしてみたいと思います。