Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
20210812 如何採用雲原生作法 Velero 備份還原你的 Kubernetes 叢集?
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Phil Huang
August 12, 2021
Technology
830
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20210812 如何採用雲原生作法 Velero 備份還原你的 Kubernetes 叢集?
#kubernetes
#velero
#backup
Phil Huang
August 12, 2021
More Decks by Phil Huang
See All by Phil Huang
20251119 如果是勇者欣美爾的話, 他會怎麼做? 東海資工
pichuang
1
240
20250924 零信任下的容器安全供應鏈:從隔離到信任
pichuang
0
110
20250705 Headlamp: 專注可擴展性的 Kubernetes 用戶界面
pichuang
0
440
20250307 雲端原生:引領數位轉型與永續的雙贏之道
pichuang
0
140
20250116 When Windows Meets Kubernetes…
pichuang
0
660
20241217-Azure Red Hat OpenShift 於 Azure TaiwanNorth 上之雲原生異地備援架構設計
pichuang
0
190
20241112 Real AVS Migration Experience Sharing
pichuang
0
150
Active/Passive HA FortiGate Pair with External and Internal Azure Load Balancer
pichuang
0
740
20240814-採用 Azure VMware Solution 啟動你的 Azure 雲端服務
pichuang
0
190
Other Decks in Technology
See All in Technology
Omarchy Quattro の日本語設定周り
simosako
2
140
AIで仕事のやり方を変える
matsu7874
3
1.1k
Claude Code本って、 読む必要あるの?
oikon48
2
400
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
4
2k
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
2.6k
AIで開発は速くなったのに、なぜ現場は楽にならないのか 〜あなたの組織のボトルネックを突き止めるワークショップ〜
jacopen
1
320
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
150
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
AIで実装は速くなった。なのにプロダクトは速くならない。職能の壁を越えて価値のフローを設計する
nwiizo
8
7.9k
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
3
920
omasushiというライブラリを作った
polidog
PRO
0
200
コーディングエージェントでM5Stack系の開発を少し試した時の話 / M5 Japan Tour 2026 Autumn 東京
you
PRO
0
160
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
The browser strikes back
jonoalderson
0
1.7k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
How to make the Groovebox
asonas
2
2.4k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
350
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
202
76k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Transcript
如何採用雲原生作法 Velero 備份還原你的 Kubernetes 叢集? Phil Huang 黃秉鈞 <
[email protected]
> 台灣雲原生使用者社群
(Cloud Native Taiwan User Group)
黃秉鈞 Phil Huang • 在地社群活躍推廣者 • 台灣雲原生使用者社群 Cloud Native Taiwan
User Group • 開源人年會 COSCUP • 現任職於 VMware Systems Engineer • 負責現代化應用平台 Tanzu (aka 猛男撿樹枝) • 專長領域 • 私有雲平台維運技術研究與實踐 • IT 自動化規劃及實踐 • 網路虛擬化及軟體定義網路 • 個人技術部落格:blog.pichuang.com.tw
Cloud Native Taiwan User Group 我們在這邊! 技術迭代,持續學習,行有餘力,努力分享
Q: Kubernetes 災備還原計畫?
災難還原計畫 Disaster Recovery Plan RTO / RPO 目標為 星期/天/小時 為單位
RTO / RPO 目標為 秒 / 即時 為單位 RTO: Recovery Time Objective 目標還原時間 RPO: Recovery Point Objective 目標點時間 Multi Site/Region 多區域部署 Backup / Restore 備份還原
Kubernetes DRP 架構 • 平台建立:基於 Kubernetes as a Service 觀念,建立多叢集
Kubernetes 部署,如 Azure Kubernetes Service • 程式部署:利用 Kubernetes 聲明 式宣告特性,透過 CI/CD Pipeline 或 kubectl apply 直接推送服務 於平台之上 • 網路服務:對外服務透過 GSLB / SLB / Ingress Controller 以 L7 層 服務為主,搭配協助控制網路流 • 儲存同步:以個別 Storage 供應商 能力為主 Storage Replication Ingress A App 3 App 2 PV App 1 Shared Storage Kubernetes Prod Ingress B App 3 App 2 App 1 PV Shared Storage Kubernetes DR GSLB SLB A SLB B CI / CD Pipeline External Container Registry Version Control System … DevOps Platform
服務為主,平台為輔 Ref: 因應 Azure Kubernetes Service (AKS) 中商務持續性和災害復原的最佳做法 Kubernetes Ingress
Service by VMware NSX Advanced Load Balancer • 在雲原生架構下,主要是以應用程式 (Applications) 作為災難復原主體,而非早期保護單體式服務 BM / VM 為主 • 基於基礎架構即代碼、Kubernetes 聲明式宣告及容器映像檔不可變動之三大當代雲原生平台特性, 於跨雲部署相同服務變得異常簡單 • 對於服務來說,最重要的是對外網路架構、多地儲存同步和微服務是否遵照雲原生應用 12 要素撰寫
Q: 每個微服務都能雙活?
理解微服務 3 大類型 • 專注於 Application 本身,而非 Kubernetes 平台 •
主要分為 3 種類型 • App 1:Stateless App • App 2:Stateful App • App 3:Distributed App • 關於 Persistent Volume 的存取差異 • ReadWriteOnce (RWO) • ReadOnlyMany (ROM) • ReadWriteMany (RWX) • 並非每一個 App 都能適用於支援 Active / Active 架構,尤其是 Stateful App 形態 GSLB SLB A SLB B Ingress A Ingress B App 3 App 3 App 2 App 2 PV App 1 App 1 PV Shared Storage Shared Storage Storage Replication Kubernetes Prod Kubernetes DR RDBMS RDBMS NoSQL NoSQL Database Replication Active-Active Database
災難還原計畫 Disaster Recovery Plan RTO / RPO 目標為 星期/天/小時 為單位
RTO / RPO 目標為 秒 / 即時 為單位 RTO: Recovery Time Objective 目標還原時間 RPO: Recovery Point Objective 目標點時間 Multi Site/Region 多區域部署 Backup / Restore 備份還原 Active / Active 微服務雙活 Active / Passive 微服務單活
Q: Kubernetes 如何做備份還原?
Ref: https://velero.io/ • 主要提供基於 Kubernetes 平台 3 大功能 • 基礎災難備援:備份還原
Kubernetes Objects • 跨雲搬遷服務:跨不同 Kubernetes 平台遷移 資源 • 資料保護能力:於指定 Kubernetes 平台內, 定期執行備份還原動作 • 由 VMware 作為專案最大貢獻者 良心推薦,這工具相當萬用,只要符合標準 API, 無論你是哪一家的 Kubernetes 皆可使用
Velero: 基礎災難備援 • 需要搭配相容於 S3 協議之 Object Storage 使用,例如 Azure
Blob、 MinIO、Ceph 等 • 備份單位可選全叢集 (不含 etcd database)、特定 Namespace 或指定 Label 備份 • 可以使用內建指令 velero schedule 進行排程定期備份 • 依然可以遵循業界常見 備份 3 2 1 原則 • 至少複製 3 份備份 • 將備份分別存在 2 種不同儲存媒體 • 至少 1 份放在異地 GSLB SLB A Ingress A Kubernetes v1.20 Namespace: CNTUG Frontend Backend Shared Storage Backup namespace/label Restore namespace/label Object Storage
CSI: Container Storage Interface Ref: https://docs.pivotal.io/tkgi/1-11/velero-scenarios.html App Type Backup criteria
Kubernetes Service Type Storage Provider Tools Stateless Namespace Load balancer with dynamic IP None Velero Label Load balancer with dynamic IP Namespace Ingress with static IP Stateful Namespace Load balancer with dynamic IP CSI Velero, Restic Stateful Namespace Load balancer with static IP CSI Velero, Restic StatefulSet Namespace Headless cluster IP CSI Velero, Restic Velero: 基礎災難備援常見類型 • 結論,學 Velero 就能做能做到備份還原 Kubernetes 相關資源 • velero install --use-restic …
Velero: 跨雲搬遷 • 如同備份還原,但涉及到不同 Cloud Provider 之 Kubernetes 平台,有高 機會會遇到以下事情
• 兩邊 Kubernetes API 不一樣,導致 有可能過期的 API 不能用 • 各自 Kubernetes 平台的特殊性,如 PSP/SCC、Kubernetes 資源不一樣 • 若是混合雲架構,則有高機率會遇 到雙邊網路受限,導致儲存或映像 檔一邊連得到另一邊連不到 • 通用建議 • 兵家必爭之地:等待各平台出基於 Velero 之搬遷工具 • 自行手動修復 GSLB SLB A SLB B Ingress A Ingress B Kubernetes v1.20 Kubernetes v1.19 Namespace: CNTUG Frontend Backend Namespace: CNTUG Backend Frontend Shared Storage Backup namespace/label Restore namespace/label Object Storage
結論:學 Velero 準沒錯 • Velero 已成為現代 Kubernetes 資源備份還原最佳的選擇 • 很多專業備份軟體廠商也是基於
Velero + Restic 為基礎提供企業級備份能力 • 可評估各家 Cloud Provider 提供的 Kubernetes 跟別家的 Kubernetes API 相容性是否一致 • 開放性思考 • 基於基礎架構即代碼、Kubernetes 聲明式宣告及容器映像檔不可變動之三大當代雲原生平 台特性之下,加上現代微服務迭代更新速度較過往快速,為何還需要備份這堆資源? 重新 部署不就得了?
Thank You