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
220
0
Share
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
20260410 - CNTUG meetup #72 - DiskImage Builder 介紹:以 Kubespray CI 打造 RockyLinux 10 Cloud Image 為例
tico88612
0
170
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
290
20260113 - NKP Tour Taipei 2026 - 雲端原⽣標準的商業價值:從開源中立到企業 AI 轉型之路
tico88612
0
49
20251020 - Cathay Open Source Meetup #2 - Cloud Native Ecosystem in Taiwan
tico88612
0
50
20250810 - CNTUG Meetup #69 / COSCUP 2025 - Non-Code Contributions for Beginners: Introduction to the Kubernetes Release Team
tico88612
0
130
20250429 - CNTUG Meetup #67 / DevOps Taiwan Meetup #69 - Deep Dive into Tetragon: Building Runtime Security and Observability with eBPF
tico88612
0
440
20241128 - CNTUG Meetup - Recap: KubeCon + CloudNativeCon North America 2024
tico88612
0
94
20241024 - CNTUG meetup - Kubernetes v1.31 簡單雜談
tico88612
0
150
20220904 - SITCON 2022 - 從 0 到 GitHub Actions,以 Hexo Blog 為例設計專屬的 CI/CD Pipeline
tico88612
0
89
Other Decks in Technology
See All in Technology
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
140
Amazon Bedrock 経由の Claude Cowork を試してみよう・MCP にも繋いでみよう
sugimomoto
0
260
AIが変えた"品質の守り方"
kkakizaki
13
5.4k
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
190
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
400
はじめてのDatadog
kairim0
0
240
海外カンファレンス「JavaOne」参加レポート ユーザー系IT企業における目的・成果/JavaOne Report Purpose and Results in the User IT Company
muit
0
110
イベントで大活躍する電子ペーパー名札 〜その3〜 / ビジュアルプログラミングIoTLT vol.23
you
PRO
0
170
Anthropic AIネイティブ・スタートアップ構築のプレイブック を理解する
nagatsu
0
220
GitHub Copilot CLIでWebアクセシビリティを改善した話
tomokusaba
0
140
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
oracle-to-databricks-migration-with-llm-and-dbt
casek
1
380
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
A Tale of Four Properties
chriscoyier
163
24k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
150
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
KATA
mclloyd
PRO
35
15k
WCS-LA-2024
lcolladotor
0
610
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
280
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
520
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
440
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
120
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
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!