Virtualbox/Vagrantに構築したk0s環境へホストからkubectlできるようにする

前回はk0sでKubernetes環境をVirtualbox/Vagrantに構築し、nginxのデフォルトページを表示させるところまで行いました。

今回はこの構築した環境にkubectlできるようにします。

takapi86.hatenablog.com

結論から言うと手順はすごく簡単でした。

以下のディレクトリにkubeconfigの情報があります。

/var/lib/k0s/pki/admin.conf

これをホスト側に落としてきて、この設定でkubectlできるようにします。

vagrant ssh -c bash -c "sudo cat /var/lib/k0s/pki/admin.conf" > /Users/takapi/k0s/admin.conf
export KUBECONFIG=/Users/takapi/k0s/admin.conf

設定はデフォルトで、このような形になっているので、server をホスト側から接続できるようIPアドレスを書き換えます。

apiVersion: v1
clusters:
- cluster:
    server: https://localhost:6443
    certificate-authority-data: XXXXXXXXXXXX
  name: local
contexts:
- context:
    cluster: local
    namespace: default
    user: user
  name: Default
current-context: Default
kind: Config
preferences: {}
users:
- name: user
  user:
    client-certificate-data: XXXXXXXXXXXX
    client-key-data: XXXXXXXXXXXX
 apiVersion: v1
 clusters:
 - cluster:
-    server: https://localhost:6443
+    server: https://192.168.35.101:6443

これで完了。kubectlしてみます。

kubectl get pods

NAME                     READY   STATUS    RESTARTS   AGE
nginx-7848d4b86f-cnrff   1/1     Running   4          19h
nginx-7848d4b86f-nj6qm   1/1     Running   4          19h
nginx-7848d4b86f-t9zhw   1/1     Running   4          19h

podを5台にしてapplyします。

kubectl apply -f nginx.yaml
deployment.apps/nginx configured
service/nginx unchanged
kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
nginx-7848d4b86f-cnrff   1/1     Running   4          19h
nginx-7848d4b86f-mzghv   1/1     Running   0          9s
nginx-7848d4b86f-nj6qm   1/1     Running   4          19h
nginx-7848d4b86f-t9zhw   1/1     Running   4          19h
nginx-7848d4b86f-xsvnq   1/1     Running   0          9s

増えましたね、良さそう。

今回はこの辺で。