匿名
尚未登入
登入
頂極製作所
搜尋
檢視 緯育 2026-0524 的原始碼
出自頂極製作所
命名空間
頁面
討論
更多
更多
頁面操作
閱讀
檢視原始碼
歷史
←
緯育 2026-0524
由於下列原因,您沒有權限進行編輯此頁面的動作:
您請求的操作只有這個群組的使用者能使用:
管理員
您可以檢視並複製此頁面的原始碼。
本講於2026-05-24聚焦Kubernetes(K8s)環境的自動化部署、叢集架構與基礎操作,系統性說明以 Expo 將 Lab 8 的地端/VM 版較完整叢集安裝流程自動化,並比較輕量環境(MiniKube、K3d)與雲端託管(EKS、GKE)開源與商業生態差異。課程主軸為 kubectl 指令與資源物件操作,刻意不教 Dashboard,改以命令列與 YAML/JSON 設定為核心,涵蓋節點與 Pod 寬欄位輸出判讀、控制平面元件對應、Container runtime 辨識、三節點與單點失敗風險、Help/completion 自動補全啟用與永久化、動詞-資源-物件名稱三段式操作、Namespace、Get All、Service/Endpoint 與網路連通性差異。深入講解 YAML 結構(apiVersion、kind、metadata、spec)、縮排規則與常見鍵(name、image、command、args、workingDir),並以探測與自我修復心智模型為重點:Running 不等於可用;需以 Liveness/Readiness 的 exec/TCP/HTTP 探測與合宜的 InitialDelay/Timeout 驅動控制器在失敗時依重啟策略介入。最後介紹 Labels 與 Selectors(Equality/Set-based)的管理與覆寫、移除操作,作為資源篩選與治理基礎。 === 部署選項、課程定位與工具觀點 === * 以 Expo 將 Lab 8 的 K8s 安裝步驟自動化,降低人為成本與錯誤;對應用導向者不強迫從零安裝。 * 輕量體驗:MiniKube、K3d;較完整叢集:地端實體/VM。雲端託管:EKS、GKE需付費且行為細節可能與原生開源有差異。 * 工具取捨:偏好直接用 kubectl 指令以掌握細節;K9S 可視化但資訊可能不完全符合需求;不教 Dashboard。 === 叢集架構與節點角色 === * 自建地端需自行維護控制面(API server、etcd、controller-manager、scheduler);雲端由供應商代管。 * 常見三節點設計(至少一控制面+兩運算節點)以達備援;單節點雖可運作但屬單點失敗風險。 * kubectl get nodes 的欄位判讀:Name、Status(Ready/NotReady)、Role/Label、Age、Version;版本自1.24起移除dockershim,常見runtime為containerd,近期版本約1.35/1.36。 === kubectl 操作方法與輸出判讀 === * 三段式操作:kubectl + 動詞 + 類型 + 名稱;常見動詞:get、describe、create、apply、edit、delete、logs。 * Help 與 completion:深入閱讀 kubectl help;啟用並永久化 Bash/Zsh/Fish 的自動補全,提升效率與正確性。 * 寬欄位輸出(-o wide):查看 Internal/External IP、節點名稱、Pod IP、OS/Kernel 與 runtime。 * Namespace 與 Get All:-A 跨命名空間;-n 指定命名空間;get all 概覽多類型資源。 === Pod、Container、控制器與網路 === * Pod 是最小管理單位,一個 Pod 可含多個 Container,容器共享 Volume 與網路命名空間。 * 控制器(Deployment、ReplicaSet、DaemonSet、Job)以範本維持期望狀態與副本數;Pod 的自癒來自控制器介入而非 Pod 本身。 * Service 與 Endpoint:Endpoint由「Pod IP + Container Port」組成;Ping Pod IP通常可通,Ping Service IP不通屬常態(ICMP與虛擬IP行為差異)。 === YAML/JSON 設定與語法嚴謹性 === * K8s 設定支援 YAML 與 JSON;實務以 YAML 為主,多物件以“---”分隔,# 註解。 * 結構以 List/Map 混用;鍵值以“key: value”。嚴格一致縮排(常用2空白),格式錯誤將導致套用失敗。 * 必要區塊:apiVersion、kind、metadata、spec;常見鍵:name、image、command、args(List)、workingDir。 === 狀態、重啟與探測心智模型 === * Pod 狀態:Pending(常因 image 拉取)、Running、Succeeded、Failed、Unknown;服務型應長期Running,任務型可能完成即Succeeded。 * Restart Policy:Always(服務型)、OnFailure 或 Never(批次/一次性);依任務性質選擇。 * Running 不等於可用:需以多層探測驗證服務健康與可服務性。 ** 底層:TCP socket/埠監聽與遠端連線測試(ss/netstat、nc、telnet、curl)。 ** 應用層:HTTP GET 回應碼(200–399為成功範圍,404/5xx為異常)。 ** exec 探測:依命令退出碼(0成功,非0失敗)判斷。 * Liveness 與 Readiness:分別代表健康與就緒;合理設定 InitialDelaySeconds 與 TimeoutSeconds,避免初始化期間的誤判;Readiness通過後才導入流量。 * 優雅刪除:刪除 Pod 預設為graceful,運行中(如sleep)需等待;無上層控制器時刪除不會自動重建。 === 標籤(Labels)與選取器(Selectors) === * Labels:以Key-Value為物件賦予可識別屬性,便於治理與篩選;一個Key只能對應一個Value,需多值時以不同Key表達。 * 操作:kubectl label 設定;get --show-labels 檢視;以“key-”移除;--overwrite 覆寫既有Key的值。 * 選取器: ** Equality-based:key=value 等值過濾。 ** Set-based:In/NotIn 等集合條件多值過濾。 * 探測與重啟架構:單一路徑心跳不足,建議多路徑與更深入服務行為探測以提升可靠度。 基本操作與環境提醒 * 啟動 VM、登入控制面(master)後,先以 kubectl get nodes/pods 檢查節點與系統 Pod 狀態。 * 以 -A 與 -o wide 檢視控制平面元件(etcd、apiserver、controller-manager、scheduler、CoreDNS、kube-proxy、Calico等)與節點/Pod IP。 [[檔案:2026-0524-01.png|800px]]
返回到「
緯育 2026-0524
」。
* [[檔案:2000-Dragon-30.png|15px]] [[附近走走]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[應用程式]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[郵遞區號]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[作品紀錄]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[攝影相簿]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[網路書籤]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[網路照片]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[星艦日誌]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[Privacy_Policy|隱私政策]]<br>
附近走走
應用程式
郵遞區號
作品紀錄
攝影相簿
網路書籤
網路照片
星艦日誌
隱私政策
首頁
wiki工具
wiki工具
特殊頁面
頁面工具
頁面工具
使用者頁面工具
更多
連結至此的頁面
相關變更
頁面資訊
頁面日誌