Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
20221116 混合雲架構師日常 如何使用 WSL 2 搭配 Ansible 自動化進行 Azure 維運管理
Phil Huang
November 16, 2022
Technology
2
130
20221116 混合雲架構師日常 如何使用 WSL 2 搭配 Ansible 自動化進行 Azure 維運管理
#DevDaysAsia2022
Phil Huang
November 16, 2022
Tweet
Share
More Decks by Phil Huang
See All by Phil Huang
20221222 Unleashing the Power of Azure VMware Solution
pichuang
0
130
20221220 Azure Public IP 路由偏好教戰手冊
pichuang
0
53
20221214 Latency Measurement of Azure Backbone Network
pichuang
0
25
20221129 Azure Route Exchange: 以 Azure VMware Solution 為例
pichuang
0
36
20221028 淺談 Azure Private 5G Core 和 Kubernetes
pichuang
0
250
20221016 要如何直面到 Kubernetes 所帶來的技術能力影響
pichuang
4
2.3k
20220731 如何跟隨開源技術保持你的職涯發展
pichuang
0
280
20220323_Harbor 技術雜談
pichuang
2
520
Kubernetes 叢集平台 Tanzu Community Edition 動手做
pichuang
0
280
Other Decks in Technology
See All in Technology
230125 古いタブレットの活用 かーでぃさん
comucal
PRO
0
16k
開発者と協働できるメトリクスダッシュボードを作ろう!/SRE Lounge 2023
lmi
3
510
証明書って何だっけ? 〜AWSの中間CA移行に備える〜
minorun365
3
2.1k
API連携に伴う規制と対応 / Regulations and responses to API linkage
moneyforward
0
160
あつめたデータをどう扱うか
skrb
2
160
NGINXENG JP#2 - 4-NGINX-エンジニアリング勉強会
hiropo20
0
120
日本ディープラーニング協会主催 NeurIPS 2022 技術報告会講演資料
tdailab
0
1.1k
OpenShiftクラスターのアップグレード自動化への挑戦! / OpenShift Cluster Upgrade Automation
skitamura7446
0
170
SPA・SSGでSSRのようなOGP対応!
simo123
2
160
re:Invent2022 前後の Amazon EventBridge のアップデートを踏まえつつ、情シスの仕事をより楽しくしたい話。 / EventBridge for Information Systems Department
_kensh
2
760
01_ユーザーリサーチ実施の進め方
kouzoukaikaku
0
580
Stripe / Okta Customer Identity Cloud(旧Auth0) の採用に至った理由 〜モリサワの SaaS 戦略〜
tomuro
0
130
Featured
See All Featured
Teambox: Starting and Learning
jrom
124
7.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
22
43k
Three Pipe Problems
jasonvnalue
89
8.9k
Debugging Ruby Performance
tmm1
67
11k
Raft: Consensus for Rubyists
vanstee
130
5.7k
How GitHub (no longer) Works
holman
298
140k
The Web Native Designer (August 2011)
paulrobertlloyd
76
2.2k
Testing 201, or: Great Expectations
jmmastey
25
5.7k
How to Ace a Technical Interview
jacobian
270
21k
WebSockets: Embracing the real-time Web
robhawkes
58
6k
For a Future-Friendly Web
brad_frost
166
7.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
63k
Transcript
混合雲架構師日常: 如何使用 WSL 2 搭配 Ansible 自動化進行 Azure 維運管理 Phil
Huang 黃秉鈞 <
[email protected]
> Senior Cloud Solution Architect 2022/11/16 以部署 Azure Red Hat OpenShift 為例
天下武功,唯快不破 Photo by NASA on Unsplash https://unsplash.com/photos/Q1p7bh3SHj8
黃秉鈞 Phil Huang • 現任 Microsoft Sr. Cloud Solution Architect
• 曾任 VMware / Red Hat 解決方案架構師 • Cloud Native Taiwan User Group 社群志工 • blog.pichuang.com.tw • 歷年演講經歷 • 如何採用雲原生作法 Velero 備份還原你的 Kubernetes 叢集? DevDays Asia 2021 講師介紹
從 WSL 2 探索 Azure Red Hat OpenShift 能力 •
每個月測試預算有限 因多數為開發測試用途, 無須持續開啟環境,故選 擇上班日每日早上 09:00 開起資源,晚上 21:00 刪 除資源以節省成本花費 起心動念 • 裝置和身分權限設定嚴謹 若需要登入公司分發的 Azure Tenant,需使用公 司配發的筆電才能登入, 其他 BYOD 的設備無法 進行開發 • 現行多數 Open Source 皆須運行於 Linux 系統上 因現行開源軟體多數發展 還是以 Linux 為基礎,且 講者對 Linux 熟悉程度遠 高於 Windows,故須尋 找兩者平衡點
Windows Subsystem Linux 2 • 常見使用場景 • 讓 AppDev 開發人員在
Windows 上直接使用 Linux 環境進行程式開發,不需要特別修改或安裝 虛擬環境準備開發機,大量節省計算資源和管理成本 • 適用作業系統 • Windows 10 / 11 / Server 2019 / Server 2022 • 預設可啟用的 Distro • Ubuntu 18.04 / 20.04 • Debian • Kali Linux • SLES 12 / 15 • OracleLinux 8.5 / 7.9 • 若遇客製化 WSL Launcher 需求 (如 RHEL) 可採用 microsoft/WSL-DistroLauncher 或 yuk7/wsldl 可在 Windows 10+ 上本機運行 Linux 程式 Ref: http://aka.ms/wsldocs
WSL 2 與虛擬機比較表 Windows Subsystem Linux 2 項目 WSL 2
VM 資源隔離性 與既有 Windows 資源共用 獨立資源 預設開機速度 秒級開啟 (~3 second) 分鐘級開啟 預設記憶體消耗量 極小 中或大 完整 Linux 核心 是 是 Systemd 支援 預設沒開,需額外設定,於 2022/09/21 宣布 WSL2 要準備正式支援 有 可否客製化 Linux Distro? 可 可 可否執行多個 Linux Distro? 可 可 適用場景 個人自主開發環境 Production / UAT / SIT
以 Red Hat Enterprise Linux 8.6 on WSL 2 為例
Windows Subsystem Linux 2 WSL 2 Kernel Linux Distro Windows Usermode Windows 11 Enterprise Windows NT Kernel
關於使用 WSL 2 應該要知道的事情 • 一般常討論的 Hyper-V 分為 2 個部分
• Hyper-V 管理平台: 提供維運管理 VM 的服務 • 虛擬機器平台 (Virtual Machine Platform): 實際上提供 VM 具體能 力的服務 • 使用 WSL 2 不需要啟用 Hyper-V,僅需啟用下列 3 個功能 • Windows 子系統 Linux 版 (Windows Subsystem Linux) • 虛擬機器平台 (Virtual Machine Platform) • 於 BIOS 須啟動 Intel VT-X 或 AMD AMD-V • WSL 2 是基於 Virtual Machine Platform 辦到的,但因不具備任 何的維運管理能力,故主要是提供開發人員開發環境之用 Windows Subsystem Linux 2 Ref: https://learn.microsoft.com/zh-tw/windows/wsl/faq
Ansible • 為何使用 Ansible 來做 IT 自動化? 1. 無代理服務 (Agentless):
不需要特別的 Agent 放在被控端,管理方便 2. 學習曲線低: 僅需具備基本 Bash Script 或已知 Command 即可上手使用,附帶大量 Examples 參考 3. 重用方便: 方便重複使用,僅須具備基本 Linux 環境即可使用和開發 知名 Open Source IT 自動化部署工具,現以被 Red Hat 收購並且提供商業支援 Ansible Playbook Ansible Module Ansible Collection Linux IPMI Azure Resource Windows Network Devices VMware vSphere Kubernetes OpenShift
基於 DevSecOps 理念之 Ansible Playbook 開發概觀 全面落實零信任架構 (Zero Trust Architecture),資安融入開發生命週期
Day 1 Implement: Ansible Playbook 個人開發流程 DevSecOps
Day 2 Operation: 例行日常維運方法 DevSecOps *實際上,Operation 應該還要包含監控 (Monitoring)、Continuous Delivery 和其他階段討論,但本演講無特別涉入
Ansible Playbook Task 流程設計原則 無論資深資淺人員執行時,都可以重複使用,且可預期產出結果 從上到下 依序執行 多設檢查點,強化防呆 名稱要清楚易讀 上
git 版控管理 有可被驗證的交付物 提供必要參數匯入供其他人沿用
Ansible Playbook Task 撰寫建議 ansible.builtin.{shell, command} 是萬用模組 • 針對 Azure
環境 Ansible Module 採用建議順序: 1. 官方提供 Ansible Collection 2. azure-cli + ansible.builtin.{command, shell} 3. RESTful API • Ansible 所提供的 Azure 模組不一 定完全跟 azure-cli 所提供的功能 保持一樣,故只要覺得使用上有異 樣,建議可以採方式 2: azure-cli + ansible.builtin.{command, shell} 進行撰寫
Time to Market In "ansible.cfg" [default] callbacks_enabled = profile_tasks, timer
尋找瓶頸、分析鬆綁可行性 可做為 RTO 參考依據之一
GitHub Copilot 加速 Infrastructure as Code (IaC) 開發效率 • 適用場景
• 忘記 Windows 系統指令 怎麼寫? • 忘記 Bash Script 撰寫參 數? • Ansible Module 懶得查 語法文件? • Copilot 採行建議 • 它是輔助工具,最終撰寫 責任還是在 Coder 身上 • 它的強項是實踐內容,而 非流程或架構設計,最終 要寫什麼功能還是在 Coder 身上 以 AI 輔助開發人員撰寫程式碼或指令 Ref: https://youtu.be/NfxTfw35wls
綜觀全局的安全性思維 • 針對開發人員電腦 • Azure AD Conditional Access: 零信任政策治理 •
Azure AD Privilege Identity Management: 特權 帳號管理及暫時性權限派送 • Azure AD Identity Protection: 自動化身分識別風 險分析,如非慣用登入位置、身分認證洩漏等 • Microsoft Intune: 跨行動裝置管理,譬如開發筆 電控管、軟體版本派送等 • 針對 Azure 環境 • Azure AD: 提供主動式、高整合度的身分驗證及管 控 • Microsoft Defender for Cloud: 強化 Azure 管理 政策 • Azure Network Security Group, Azure Firewall: 針對不同環境建置適當資安防護控制措施 以 Microsoft Cybersecurity Reference Architectures 零信任架構為基礎上進行合規、安全的開發和維運 Ref: Microsoft 企業的法遵挑戰與行動指南 https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE55yNt
Day 0: 設計適切的 Azure 服務 • Cloud Adaption Framework 是
Microsoft 融合客戶、夥伴及自身經驗所提供 Azure 服務 初始架構設計基礎,可隨需求變動架構 • 跟設計地端服務一樣,可從網路拓樸和連線考慮 (Network Topology & Connectivity) 章節 著手會是較好的起手 Microsoft Cloud Adaption Framework for Azure Ref: https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/app-platform/azure-red-hat-openshift/landing-zone-accelerator
WSL 2 讓 Linux 為主的用戶更易於接受跨平台環境 1. 開發人員可以於 Windows 作業系統上採用 WSL
2 進行各式各樣的開發,無須等待較長 及額外的資源準備 2. Ansible 是一個易於上手的軟體工具,搭配著 WSL 2 可以很容易的準備好開發環境協助 IaC 理念更容易地被落實到各部門 IT 人員上 3. Microsoft 提供了多層次雲原生服務協助客戶強化資安防禦能力、加速開發效率,包含但 不現於: • GitHub / Azure DevOps • GitHub Copilot • Microsoft Security • Azure AD Conclusion
Thank You Microsoft Azure Taiwan Facebook 官方粉專 Azure Taiwan User
Group Facebook 交流社團