## 安裝 ### k3d ```bash brew install k3d ``` ## 基本操作 ### 查看 clusters ```bash k3d cluster ls ``` ### 建 cluster ```bash k3d cluster create lab \ --servers 3 \ --k3s-arg "--disable=traefik@server:*" \ --agents 1 \ --api-port=6443 ``` > #### 附註 1:不要在 k3d 建立時為 node 下 labels > 目前試是會卡住 😅。 > > #### 附註 2:用 local registry 的方法 > ```bash > k3d registry create --port 5111 > ``` >> 不要用 5000 當作 registry 的 port >> ![image](https://hackmd.io/_uploads/SJxzEevi1g.png) >> 如果要用 local registry 記得在 /etc/hosts 加 k3d-registry 及用 `dscacheutil -flushcache` 清快取 >> 建立 cluster 時要加上 `--registry-use=k3d-registry:5111` > > #### 附註 3: > 比較 light weight 的裝法: > ```bash > k3d cluster create lab \ > --servers 1 \ > --k3s-arg "--disable=traefik@server:*" \ > --agents 0 \ > --no-lb > ``` > #### 附註 4: > traefik 如果沒有 disable 的話,k3d 的 traefik 預設有把 dashboard 打開。你可以把 LoadBalancer 9000 port forward 到本機: > http://localhost:9000/dashboard/#/ ### 為 nodes 上標籤 ```bash kubectl label nodes k3d-lab-server-0 node-type=infra tier=high kubectl label nodes k3d-lab-server-1 node-type=infra tier=medium kubectl label nodes k3d-lab-server-2 node-type=infra tier=low kubectl label nodes k3d-lab-agent-0 node-type=app ``` ### 增加節點 ```bash k3d node create lab-agent --role agent --cluster lab ``` ```bash kubectl label nodes k3d-lab-agent-1 node-type=app ``` ### 刪除節點 ```bash k3d node delete k3d-lab-agent-1 ``` --- ## Virtual kubelete ![image](https://hackmd.io/_uploads/S17cBJmjkl.png) ![image](https://hackmd.io/_uploads/SkfbP1XiJx.png)