Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20251023 - KubeSummit 2025 - Kubespray and IaC ...

20251023 - KubeSummit 2025 - Kubespray and IaC Practice Automating On-Premise Kubernetes Deployment

Avatar for ChengHao Yang

ChengHao Yang

October 23, 2025
Tweet

More Decks by ChengHao Yang

Other Decks in Technology

Transcript

  1. 2 • CNCF Ambassador • Kubestronaut • Co-organizer @ CNTUG

    • Lead organizer @ KCD Taipei 2025 • Maintainer @ Kubespray
 (SIG Cluster Lifecycle) • Release Signal Lead @
 Kubernetes v1.35 $ whoami ChengHao Yang 梯 口 (tico88612)
  2. Agenda • 地端建置 Kubernetes 流程 • 建置 VM 方 法

    • Kubespray 安裝 • 如何改善這些安裝流程? 3
  3. 地端 Kubernetes 如何建置? • 手 中數台 Proxmox VE 或 OpenStack,建立多台

    VM。 • 設定多台 VM 網路、套件 (CRI) • 用 Kubeadm 建立 cluster 4
  4. 地端 Kubernetes 如何建置? • 手 中數台 Proxmox VE 或 OpenStack,建立多台

    VM。 • 設定多台 VM 網路、套件 (CRI) • 用 Kubeadm 建立 cluster • (其他節點) 用 Kubeadm 加入 cluster 4
  5. 地端 Kubernetes 如何建置? • 手 中數台 Proxmox VE 或 OpenStack,建立多台

    VM。 • 設定多台 VM 網路、套件 (CRI) • 用 Kubeadm 建立 cluster • (其他節點) 用 Kubeadm 加入 cluster • 安裝 CNI 等套件 4
  6. 地端 Kubernetes 如何建置? • 手 中數台 Proxmox VE 或 OpenStack,建立多台

    VM。 • 設定多台 VM 網路、套件 (CRI) • 用 Kubeadm 建立 cluster • (其他節點) 用 Kubeadm 加入 cluster • 安裝 CNI 等套件 4 需要花費多少時間?
  7. 快速啟動並設定新建的 VM • 由 Canonical 維護套件 • 用 於虛擬機 首

    次啟動時,執 行 初始化的設定: • 使 用 者名稱、網路、package、 自 訂腳本等 • 多數 cloud image 皆可 支 援 • 普遍 用 於各 大 公有雲、私有雲等環境 Cloud Init 6
  8. 7

  9. 13

  10. Kubernetes 發 行 版選擇 • RKE 2 (SUSE) • K3s

    (SUSE) • K0s (Mirantis) • Kubeadm (Kubernetes O ffi cial) • Kubespray (Kubernetes SIG cluster lifecycle subproject) 16
  11. Kubespray Kubeadm + Ansible Playbook • K8s SIG Cluster Lifecycle

    的 子 專案 —— Vendor Neutral • 基於 Ansible 建構的腳本,執 行 Kubeadm,適 用 於 bare metal 或 VM 等環境。 • 整合常 用 的 CRI、CNI、CSI 等,應 用 程式包含 Gateway API、MetalLB 等。 • v2.29.0 後 支 援安裝 Prometheus Operator CRDs,可 用 於監控前置安裝。 17
  12. 19

  13. 19

  14. Kubespray 安裝流程 • 設定變數、inventory • 可以根據 IaC 結果 而生 成?

    • 執 行 ansible-playbook • 產 生 相關檔案和 infra 後 自 動執 行 ? 21
  15. 22

  16. 22

  17. 23

  18. 24

  19. 24

  20. 25

  21. 25

  22. 26

  23. 27

  24. 28

  25. Takeaway • Cloud Init 省下 VM 初始化安裝設定 • IaC 管理

    VM 的 大 量建立,減少 VM 手 動複製的成本 • Kubespray 是 Kubeadm + Ansible 腳本,由 Kubernetes 官 方 維護 • 根據 IaC 資訊, 自 動產 生 inventory 和變數,執 行 ansible-playbook • 減少 人 為介入,提升建置 cluster 品質、效率 29
  26. Improvement • 加入節點時,建立資源後,要 手 動執 行 scale.yml • 刪除節點時,要 手

    動執 行 remove_node.yml 後,再移除 infra 設定 • 升級 cluster …… 需要配合 Kubespray 版本 30
  27. 如何參與 Kubespray 專案? • 專案網站:https://kubespray.io • 加入 Kubernetes Slack 頻道:

    • 使 用 問題:#kubespray • 開發問題:#kubespray-dev • GitHub 連結:https://github.com/kubernetes-sigs/kubespray 33 現役 approvers yankay tico88612 VannTen mzaian ant31
  28. 35 • Cloud Native Taiwan User Group 是 CNCF 認可的在地社群。

    • 活動皆免費*限額報名參與。 • 投稿後並完成演講,我們將會贈 送 CNCF Store 一 件禮物! • 官 方 網站:https://cloudnative.tw CNTUG meetup 每 月 聚會 + Call for Speaker 徵稿連結 CNTUG 聚會報名 官 方 網站 * 僅收場地費
  29. 37 • Website: https://tico.tw • Facebook: @tico88612 • Instagram: @__tico88612__

    • GitHub: @tico88612 • LinkedIn: in/tico88612 • Telegram: @tico88612 Thank You! Please feel free to contact me!