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
0
160
20251023 - KubeSummit 2025 - Kubespray and IaC Practice Automating On-Premise Kubernetes Deployment
ChengHao Yang
October 23, 2025
Tweet
Share
More Decks by ChengHao Yang
See All by ChengHao Yang
20251020 - Cathay Open Source Meetup #2 - Cloud Native Ecosystem in Taiwan
tico88612
0
10
20250810 - CNTUG Meetup #69 / COSCUP 2025 - Non-Code Contributions for Beginners: Introduction to the Kubernetes Release Team
tico88612
0
77
20250429 - CNTUG Meetup #67 / DevOps Taiwan Meetup #69 - Deep Dive into Tetragon: Building Runtime Security and Observability with eBPF
tico88612
0
290
20241128 - CNTUG Meetup - Recap: KubeCon + CloudNativeCon North America 2024
tico88612
0
47
20241024 - CNTUG meetup - Kubernetes v1.31 簡單雜談
tico88612
0
110
20220904 - SITCON 2022 - 從 0 到 GitHub Actions,以 Hexo Blog 為例設計專屬的 CI/CD Pipeline
tico88612
0
50
Other Decks in Technology
See All in Technology
Agentic AIが変革するAWSの開発・運用・セキュリティ ~Frontier Agentsを試してみた~ / Agentic AI transforms AWS development, operations, and security I tried Frontier Agents
yuj1osm
0
200
RALGO : AIを組織に組み込む方法 -アルゴリズム中心組織設計- #RSGT2026 / RALGO: How to Integrate AI into an Organization – Algorithm-Centric Organizational Design
kyonmm
PRO
3
530
Bedrock AgentCore Evaluationsで学ぶLLM as a judge入門
shichijoyuhi
2
310
Everything As Code
yosuke_ai
0
490
AI with TiDD
shiraji
1
330
ECS_EKS以外の選択肢_ROSA入門_.pdf
masakiokuda
1
120
「アウトプット脳からユーザー価値脳へ」がそんなに簡単にできたら苦労しない #RSGT2026
aki_iinuma
6
3.3k
CQRS/ESになぜアクターモデルが必要なのか
j5ik2o
0
320
Introduction to Bill One Development Engineer
sansan33
PRO
0
340
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
390
ハッカソンから社内プロダクトへ AIエージェント ko☆shi 開発で学んだ4つの重要要素
leveragestech
0
540
Claude Codeを使った情報整理術
knishioka
19
11k
Featured
See All Featured
Designing for Performance
lara
610
70k
Building Applications with DynamoDB
mza
96
6.9k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
220
The Curse of the Amulet
leimatthew05
0
6.7k
How Software Deployment tools have changed in the past 20 years
geshan
0
31k
Building Adaptive Systems
keathley
44
2.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
The Cult of Friendly URLs
andyhume
79
6.7k
Crafting Experiences
bethany
0
25
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
76
Facilitating Awesome Meetings
lara
57
6.7k
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!