前言
本文為「Kubernetes 實作手冊:基礎入門篇」課程的學習筆記。
簡介
KIND 是 Kubernetes In Docker 的意思,使用 Docker 容器做為 Kubernetes 節點。適合用於測試 Kubernetes 本身,並建構多節點的 Kubernetes 叢集。
做法
先啟動全新的虛擬環境。
1 | vagrant destroy |
在虛擬機器中安裝 kind。
1 | curl -Lo ./kind "https://github.com/kubernetes-sigs/kind/releases/download/v0.7.0/kind-$(uname)-amd64" && chmod +x ./kind |
使用指定的設定檔創建一個多節點的叢集。
1 | sudo ./kind create cluster --config hiskio-course/vagrant/kind.yaml |
指定的設定檔如下:
1 | kind: Cluster |
修正權限。
1 | sudo chown -R $USER $HOME/.kube |
安裝 kubectl 指令。
1 | sudo apt-get update && sudo apt-get install -y apt-transport-https curl |
取得叢集資訊。
1 | kubectl cluster-info --context kind-kind |
取得 Pod 列表。
1 | kubectl -n kube-system get pods |
取得 Node 列表。
1 | kubectl get nodes |
取得 Docker 容器列表,會有 kind-worker
、kind-worker2
和 kind-control-plane
三個容器。
1 | docker ps |
進到 kind-control-plane
容器內。
1 | docker exec -it kind-control-plane bash |
使用 crictl
指令查看容器列表,會有 kube-apiserver
、kube-controller-manager
、kube-scheduler
和 etcd
等容器。
1 | crictl ps |
補充
如果在創建叢集時,遇到以下錯誤訊息:
1 | k8s: ERROR: failed to create cluster: failed to generate kubeadm config content: failed to get kubernetes version from node: failed to get file: command "docker exec --privileged kind-control-plane cat /kind/version" failed with error: exit status 1 |
可以使用以下指令:
1 | sudo ./kind create cluster --config hiskio-course/vagrant/kind.yaml |