🎯 課程目標__HTMLTAG_68___
完成本課程後,您將:
- ✅ 使用 CRI 外掛程式安裝 containerd 容器執行時間
- ✅ 使用 systemd cgroup 驅動程式設定 containerd__HTMLTAG_75___
- ✅ 從官方儲存庫安裝 kubeadm、kubelet、kubectl
- ✅ 安裝 crictl 用於調試容器__HTMLTAG_79___
- ✅ 預拉沙箱影像並驗證一切是否準備就緒
第 1 部分:容器運行時 — 為什麼選擇 CONTAINERD?
1.1。 K8s 中容器運行時的歷史
___程式碼區塊_0___1.2。容器與 CRI-O
___HTMLTAG_104__HTMLTAG_105___維護者___HTMLTAG_106__HTMLTAG_107___ ___HTMLTAG_114__HTMLTAG_115___採用___HTMLTAG_116__HTMLTAG_117___ ___HTMLTAG_124__HTMLTAG_125___功能___HTMLTAG_126__HTMLTAG_127___ ___HTMLTAG_134__HTMLTAG_135___影像建構___HTMLTAG_136__HTMLTAG_137___ ___HTMLTAG_144__HTMLTAG_145___穩定性___HTMLTAG_146__HTMLTAG_147___| 標準 | 容器 | CRI-O |
|---|---|---|
| CNCF(Docker/Moby 起源) | CNCF(紅帽起源) | |
| 非常寬(預設 EKS、GKE、AKS) | OpenShift、RHEL 重點 | |
| 多用途(docker CLI 相容) | 僅限 K8s(輕量級) | |
| 透過 nerdctl/buildkit 支援 | 否(需 podman/buildah) | |
| 非常穩定 | 穩定 |
👉 選擇containerd:最受歡迎,大量文檔,與所有K8s發行版相容。
第 2 部分:容器設定
2.1。從 Docker 官方儲存庫安裝
___程式碼區塊_1___2.2。配置containerd
___程式碼區塊_2___🔬 深入探究 — 為什麼 SystemdCgroup = true? ___HTMLTAG_169__HTMLTAG_170___ ___程式碼區塊_3___
2.3。詳細的containerd配置(可選調整)
___程式碼區塊_4___2.4。重新啟動並驗證containerd
___程式碼區塊_5___第 3 部分:CRICTL 設定
3.1。什麼是 crictl?
crictl 是用於 CRI 相容容器執行時間的 CLI 工具。與 docker CLI 類似,但適用於 CRI:
程式碼區塊_6
3.2。 Crictl配置
___程式碼區塊_7___第 4 部分:安裝 KUBEADM、KUBELET、KUBECTL
4.1。新增 Kubernetes 儲存庫
___程式碼區塊_8___4.2。啟用 kubelet
___程式碼區塊_9___4.3。 kubectl Bash 完成
___程式碼區塊_10___第 5 部分:預張影像
5.1。在初始化之前拉取 K8s 鏡像
___程式碼區塊_11___💡 提示: 如果節點沒有互聯網訪問權限,請在有互聯網的電腦上拉取圖像,導出到 tar,然後在節點上導入:
___程式碼區塊_12___第 6 部分:飛行前檢查
6.1。 kubeadm 預檢檢查
___程式碼區塊_13___💡 重點
-
___HTMLTAG_211__HTMLTAG_212___containerd 是標準容器執行時,從 Docker 官方儲存庫安裝
___HTMLTAG_215__HTMLTAG_216___SystemdCgroup = true 是必要的 — 必須符合 kubelet cgroup 驅動程式
___HTMLTAG_219__HTMLTAG_220___kubeadm、kubelet、kubectl 從 pkgs.k8s.io 安裝,然後
apt 標記保留____
___HTMLTAG_225__HTMLTAG_226___預張影像節省叢集初始化時間,對於氣隙環境尤其重要
___HTMLTAG_229__HTMLTAG_230___飛行前檢查有助於在執行 kubeadm init 之前偵測問題
🎯 練習
練習 1:在所有節點上安裝__HTMLTAG_238___
- 在所有6個節點上安裝containerd + kubeadm(3個master + 3個worker)
- 驗證每個節點的 SystemdCgroup = true
- 在3個主節點上預先拉K8s鏡像
- 執行飛行前檢查腳本,確保所有通過
練習 2:氣隙影像傳輸
- 將 K8s 影像匯出到 tar 檔案
- 轉移到沒有網路的節點__HTMLTAG_255___
- 導入並驗證影像是否可用
📚 下一篇文章
在第6課:初始化第一個Kubernetes HA控制平面__HTMLTAG_264___中,我們將在具有HA配置的master1上執行kubeadm init,建立叢集憑證和kubeconfig。