今天要來建第一個 Kubernetes 叢集,用的工具是 kind
kind 的全名是 Kubernetes IN Docker,它會把 Kubernetes 的節點直接跑成 Docker Container。所以昨天那些 Container 的東西不是白看的,等一下建完叢集,用 docker ps 就會看到它
先建立叢集,名字取 ithome-lab,之後三十天都會用這一個
kind create cluster --name ithome-lab
# 用來刪除指定kind叢集
# kind delete cluster --name ithome-lab

第一次跑會慢一點,因為要先下載 node image。跑完之後回頭看一下 Docker
docker ps

會看到一個叫 ithome-lab-control-plane 的 Container,這就是我的整個叢集。所謂的叢集聽起來很大一包,實際上現在只是我電腦裡的一個 Container :D
接著看 Node。Node 是 Kubernetes 眼中的一台機器,後面所有的 Pod 都會被安排到某個 Node 上面跑
kubectl get nodes -o wide
kubectl cluster-info --context kind-ithome-lab

現在只有一個 Node,角色是 control-plane。正式環境會把負責決策的 control-plane 跟負責跑應用的 worker 分開,但 kind 預設的單節點叢集是兩件事都由它做,所以之後我的 Pod 也會跑在這個 Node 上
最後是 context。kubectl 自己並不知道要連哪個叢集,這些連線設定都放在 kubeconfig 裡(Windows 在 C:\Users\你的帳號.kube\config),一組設定就是一個 context
kubectl config current-context #顯示目前正在操作的內容配置(Context)名稱
kubectl config get-contexts #列出所有可用的叢集環境與清單
kubectl config use-context <context-name> #切換到指定的叢集或環境

叢集今天先不刪,明天還要用
明天見 :D

學長我有私訊你! 我叢集壞掉了,再麻煩您教我一下!
你確定你有做嗎學長
學長我有私訊你! 我K8s壞掉了,再麻煩您教我一下!
你確定嗎
Are you sure about that