Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20251023 - KubeSummit 2025 - Kubespray and IaC ...
Search
ChengHao Yang
October 23, 2025
Technology
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20251023 - KubeSummit 2025 - Kubespray and IaC Practice Automating On-Premise Kubernetes Deployment
ChengHao Yang
October 23, 2025
More Decks by ChengHao Yang
See All by ChengHao Yang
20260729 - KubeCon + CloudNativeCon Japan 2026 - How Community Infrastructure Helped Grow Taiwan’s Open Source Contributors
tico88612
0
7
20260726 - iPlayground 2026 - Contributing to Apple Container Without Writing Swift: A Cloud Native Engineer's Open Source Journey
tico88612
0
20
20260410 - CNTUG meetup #72 - DiskImage Builder 介紹:以 Kubespray CI 打造 RockyLinux 10 Cloud Image 為例
tico88612
0
190
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
310
20260113 - NKP Tour Taipei 2026 - 雲端原⽣標準的商業價值:從開源中立到企業 AI 轉型之路
tico88612
0
64
20251020 - Cathay Open Source Meetup #2 - Cloud Native Ecosystem in Taiwan
tico88612
0
61
20250810 - CNTUG Meetup #69 / COSCUP 2025 - Non-Code Contributions for Beginners: Introduction to the Kubernetes Release Team
tico88612
0
140
20250429 - CNTUG Meetup #67 / DevOps Taiwan Meetup #69 - Deep Dive into Tetragon: Building Runtime Security and Observability with eBPF
tico88612
0
470
20241128 - CNTUG Meetup - Recap: KubeCon + CloudNativeCon North America 2024
tico88612
0
120
Other Decks in Technology
See All in Technology
タクシーアプリ『GO』の実践的データ活用〜位置情報データの収集とStreamlitでの可視化〜
mot_techtalk
2
200
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
0
640
20260722_品質と開発生産性の相互作用
magicpod
0
120
[しろおび夏祭り2026] チャットするAIから、作業するAIへ - 使われ方の変化と、その裏側で起きていること
kk0n
0
1.5k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
[MIRU26] Open-Vocabulary Intention-Guided Object Detection in Diverse Scenes
keio_smilab
PRO
0
130
Pavlokで始める電撃駆動開発
sgrsn
0
160
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
230
組織にどうSREを根付かせるか?〜IVRyの場合〜
abnoumaru
0
300
AIがAPIを書く時代に、私たちは何を設計すべきか
nagix
0
210
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
How GitHub (no longer) Works
holman
316
150k
Git: the NoSQL Database
bkeepers
PRO
432
67k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
330
Being A Developer After 40
akosma
91
590k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
190
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Design in an AI World
tapps
1
270
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
119
120k
Transcript
ChengHao Yang @ KubeSummit 2025 Kubespray 與 IaC 實踐 自
動化建置地端 Kubernetes 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)
Agenda • 地端建置 Kubernetes 流程 • 建置 VM 方 法
• Kubespray 安裝 • 如何改善這些安裝流程? 3
地端 Kubernetes 如何建置? 4
地端 Kubernetes 如何建置? • 手 中數台 Proxmox VE 或 OpenStack,建立多台
VM。 4
地端 Kubernetes 如何建置? • 手 中數台 Proxmox VE 或 OpenStack,建立多台
VM。 • 設定多台 VM 網路、套件 (CRI) 4
地端 Kubernetes 如何建置? • 手 中數台 Proxmox VE 或 OpenStack,建立多台
VM。 • 設定多台 VM 網路、套件 (CRI) • 用 Kubeadm 建立 cluster 4
地端 Kubernetes 如何建置? • 手 中數台 Proxmox VE 或 OpenStack,建立多台
VM。 • 設定多台 VM 網路、套件 (CRI) • 用 Kubeadm 建立 cluster • (其他節點) 用 Kubeadm 加入 cluster 4
地端 Kubernetes 如何建置? • 手 中數台 Proxmox VE 或 OpenStack,建立多台
VM。 • 設定多台 VM 網路、套件 (CRI) • 用 Kubeadm 建立 cluster • (其他節點) 用 Kubeadm 加入 cluster • 安裝 CNI 等套件 4
地端 Kubernetes 如何建置? • 手 中數台 Proxmox VE 或 OpenStack,建立多台
VM。 • 設定多台 VM 網路、套件 (CRI) • 用 Kubeadm 建立 cluster • (其他節點) 用 Kubeadm 加入 cluster • 安裝 CNI 等套件 4 需要花費多少時間?
建置 VM 5
建置 VM 5
建置 VM 5 需要 Initial VM 嗎?有更快的 方 法建立 VM
Template?
快速啟動並設定新建的 VM • 由 Canonical 維護套件 • 用 於虛擬機 首
次啟動時,執 行 初始化的設定: • 使 用 者名稱、網路、package、 自 訂腳本等 • 多數 cloud image 皆可 支 援 • 普遍 用 於各 大 公有雲、私有雲等環境 Cloud Init 6
7
7 Ubuntu Cloud Image
7 Ubuntu Server ISO Ubuntu Cloud Image
8 Source: https://pve.proxmox.com/wiki/Cloud-Init_Support
8 Source: https://pve.proxmox.com/wiki/Cloud-Init_Support 使 用 者 密碼 網路設定 SSH 公鑰
9 Source: https://cloudinit.readthedocs.io/en/latest/reference/modules.html
至 少 Cloud Init 不需要 每個 VM 手 動安裝 10
建置 VM 11
建置 VM 11
建置 VM 11
建置 VM 11 複製貼上 VM 能更有效率嗎?
基礎架構即程式碼 • 宣告式語法描述與管理資源(VM、VPC、 Load Balancer、DNS 等) • 讓環境可重現、可版本控制、可 review •
除了公有雲以外,私有雲 Proxmox VE 和 OpenStack 皆有套件 支 援 Infrastructure as Code 12
13
13 Cloud Init 設定
14 Source: https://opentofu.org/docs/language/meta-arguments/count/
15 Source: https://opentofu.org/docs/language/meta-arguments/for_each/
Kubernetes 發 行 版選擇 • RKE 2 (SUSE) • K3s
(SUSE) • K0s (Mirantis) • Kubeadm (Kubernetes O ffi cial) • Kubespray (Kubernetes SIG cluster lifecycle subproject) 16
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
Kubespray 安裝流程 • 設定變數、inventory • 執 行 ansible-playbook 18
19
19
Kubespray 安裝 方 式 Ansible Playbook 20
Kubespray 安裝流程 • 設定變數、inventory • 可以根據 IaC 結果 而生 成?
• 執 行 ansible-playbook • 產 生 相關檔案和 infra 後 自 動執 行 ? 21
22
22 Dev 叢集設定
22 API Server Domain IP & Port
22 Etcd 主機資訊 Control Plane 主機資訊 Worker 主機資訊
22
23
24
24
25
25
26
27
27 執 行 ansible-playbook
27 環境變數
27 需要等這些資源完成後,才可執 行
28
Takeaway • Cloud Init 省下 VM 初始化安裝設定 • IaC 管理
VM 的 大 量建立,減少 VM 手 動複製的成本 • Kubespray 是 Kubeadm + Ansible 腳本,由 Kubernetes 官 方 維護 • 根據 IaC 資訊, 自 動產 生 inventory 和變數,執 行 ansible-playbook • 減少 人 為介入,提升建置 cluster 品質、效率 29
Improvement • 加入節點時,建立資源後,要 手 動執 行 scale.yml • 刪除節點時,要 手
動執 行 remove_node.yml 後,再移除 infra 設定 • 升級 cluster …… 需要配合 Kubespray 版本 30
Special Thanks! 覺揚夥伴:喬立 31
如何參與 Kubespray 專案? 32
如何參與 Kubespray 專案? • 專案網站:https://kubespray.io • 加入 Kubernetes Slack 頻道:
• 使 用 問題:#kubespray • 開發問題:#kubespray-dev • GitHub 連結:https://github.com/kubernetes-sigs/kubespray 33 現役 approvers yankay tico88612 VannTen mzaian ant31
想要參與更多雲端原 生 技術討論? 34
35 • Cloud Native Taiwan User Group 是 CNCF 認可的在地社群。
• 活動皆免費*限額報名參與。 • 投稿後並完成演講,我們將會贈 送 CNCF Store 一 件禮物! • 官 方 網站:https://cloudnative.tw CNTUG meetup 每 月 聚會 + Call for Speaker 徵稿連結 CNTUG 聚會報名 官 方 網站 * 僅收場地費
36 Group Pages Join CNTUG!
37 • Website: https://tico.tw • Facebook: @tico88612 • Instagram: @__tico88612__
• GitHub: @tico88612 • LinkedIn: in/tico88612 • Telegram: @tico88612 Thank You! Please feel free to contact me!