k3d 可在 Docker 中執行輕量級 Kubernetes 發行版 k3s,方便在單機快速建立測試用叢集。本文記錄在 Ubuntu 上安裝 kubectl 與 k3d,並建立叢集的步驟(需先安裝 Docker)。
一次完成:安裝 curl、下載最新版 kubectl 並設為可執行檔、再以官方腳本安裝 k3d。
apt update \ && apt install -y curl \ && wget "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" -O /usr/local/bin/kubectl \ && chmod +x /usr/local/bin/kubectl \ && curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash
建立名為 ct 的叢集(1 個 server、2 個 agent),對外開放 80/443,啟用使用者命名空間相容設定,掛載 Docker socket 並建立本地映像登錄。
ct
k3d cluster create ct \ --servers 1 \ --agents 2 \ --port 80:80@loadbalancer \ --port 443:443@loadbalancer \ --k3s-arg '--kubelet-arg=feature-gates=KubeletInUserNamespace=true@server:*' \ --k3s-arg '--kubelet-arg=feature-gates=KubeletInUserNamespace=true@agent:*' \ --volume /var/run/docker.sock:/var/run/docker.sock \ --registry-create k3d-ct-registry:5000
確認叢集節點皆已就緒。
kubectl get nodes
Deleting the wiki page "Service:k3d" cannot be undone. Continue?