那些文件沒有告訴你的 AWS EKS:解析 Kubernetes 背後的奧秘(iThome鐵人賽系列書)【軟精裝】
王茂林(Mao-Lin Wang/focaaby)
- 出版商: 博碩 iThome鐵人賽系列書|任選2書75折
- 出版日期: 2024-01-31
- 定價: $680
- 售價: 7.8 折 $530
- 語言: 繁體中文
- 頁數: 320
- 裝訂: 平裝
- ISBN: 6263337141
- ISBN-13: 9786263337145
-
相關分類:
Amazon Web Services
立即出貨(限量) (庫存=5)
買這商品的人也買了...
-
無瑕的程式碼-整潔的軟體設計與架構篇 (Clean Architecture: A Craftsman's Guide to Software Structure and Design)$580$452 -
圖形演算法|Apache Spark 與 Neo4j 實務範例 (Graph Algorithms)$580$458 -
軟體架構原理|工程方法 (Fundamentals of Software Architecture: A Comprehensive Guide to Patterns, Characteristics, and Best Practices)$680$537 -
矽谷工程師教你 Kubernetes:史上最全 CI/CD 中文應用指南(iT邦幫忙鐵人賽系列書)$600$510 -
AWS CDK 完全學習手冊:打造雲端基礎架構程式碼 IaC(iT邦幫忙鐵人賽系列書)$600$468 -
AWS 解決方案架構師學習與備考 (第3版·SAA-C02)$588$558 -
AWS 職場實戰手冊 - 企業架站、安全防護、費用監控,用最省錢的方式紮實學會!$620$489 -
玩真的!Git ✕ GitHub 實戰手冊 - coding 實境、協同開發、雲端同步, 用最具臨場感的開發實例紮實學會! (Git for Programmers)$580$458 -
大話 AWS 雲端架構:雲端應用架構圖解輕鬆學, 3/e$650$552 -
SRE 實踐與開發平台指南:從團隊協作、原則、架構和趨勢掌握全局,做出精準決策$620$483 -
Docker 實戰 6堂課:56個實驗動手做,掌握 Linux 容器核心技術(iThome鐵人賽系列書)【平裝】$650$552 -
AWS 自學聖經:5大必學雲端主題・超圖解入門 (全彩印刷) (第二版)$750$592 -
可觀測性工程|達成卓越營運 (Observability Engineering: Achieving Production Excellence)$680$537 -
Terraform 建置與執行, 3/e (Terraform: Up and Running: Writing Infrastructure as Code, 3/e)$780$616 -
Staff 工程師之路|獻給個人貢獻者成長與改變的導航指南 (The Staff Engineer's Path)$580$458 -
從異世界歸來發現只剩自己不會 Kubernetes:初心者進入雲端世界的實戰攻略!(iThome鐵人賽系列書)【平裝】$650$507 -
邊緣AI|使用嵌入式機器學習解決真實世界的問題 (AI at the Edge: Solving Real-World Problems with Embedded Machine Learning)$880$695 -
CI/CD 安全防護大揭密:DevSecOps 最佳實踐指南$680$578 -
程式設計守則|如何寫出更好的程式碼 (The Rules of Programming: How to Write Better Code)$620$489 -
K8S 自學聖經:10大核心模板快速入門【圖解教學】$790$624 -
OpenTelemetry 入門指南:建立全面可觀測性架構(iThome鐵人賽系列書)【軟精裝】(封面有些許摺痕,不介意再下單)$750$585 -
SRE 工作現場直擊!:維運起點 x 實戰經驗 x 職涯規劃面面觀(iThome鐵人賽系列書)$600$468 -
可觀測性入門指南:Logs、Metrics、Traces 三大實戰應用,用 24個 Lab 鞏固你的 SRE 技能樹 (iThome鐵人賽系列書)$680$530 -
一個人的藍隊:企業資安防護技術實戰指南(iThome鐵人賽系列書)$650$507 -
內行人才知道的系統設計面試指南 第二輯 (System Design Interview – An Insider's Guide: Volume 2)$820$647
iThome鐵人賽系列書|任選2書75折 詳見活動內容 »
-
78折
LINE Bot Side Project 實戰 : 從設計思考到部署與產品變現的 16堂關鍵必修課(iThome鐵人賽系列書)$660$514 -
78折
專案管理胃痛圖鑑:從臨床診斷到重症急救,31 帖 PM 生存處方藥到病除!(iThome鐵人賽系列書)$680$530 -
78折
Claude 工作術:從 Chat、Projects、Skills 到 Cowork 與 Claude Code 的 AI 自動化之路(iThome鐵人賽系列書)$690$538 -
78折
Unity × 設計 × 互動邏輯的遊戲開發全攻略:不會寫程式也能做遊戲,從零開始完成你的第一款 3D遊戲(iThome鐵人賽系列書)$660$514 -
78折
範例驅動的需求澄清術:如何用精準範例指揮 GenAI 建構高品質軟體(iThome鐵人賽系列書)$680$530 -
78折
作業系統的專武:DevSecOps 在客戶端、廠商端與資安的實戰維運攻略(iThome鐵人賽系列書)$620$483 -
78折
Node.js 生成式 AI 應用開發實戰:實作 OpenAI API × LangChain × LangGraph × RAG,打造從雲端到本地 LLM 的混合式安全架構(iThome鐵人賽系列書)$680$530 -
78折
Vibe Unity | AI 遊戲開發工作流:打破極限,創造一款具有無限可能性的遊戲!(iThome鐵人賽系列書)$680$530 -
78折
一生受用的求職方法:量化求職—海外求職、頂尖外商與遠距求職必備攻略(iThome鐵人賽系列書)$690$538 -
78折
零基礎玩轉 LLM 應用全攻略:Python × No-Code 實作 AI 開發超簡單(iThome鐵人賽系列書)$690$538 -
78折
我阿嬤都比你會測試:從生活智慧建立測試思維,到自動化與 AI 的完整進化(iThome鐵人賽系列書)$620$483 -
78折
UI 自動化測試與 AI 應用實戰:實作 Robot Framework × Playwright × Appium 從 Web、App 到 CI/CD 流程整合全方位攻略(iThome鐵人賽系列書)$650$507 -
78折
AI 時代的 Side Project 全攻略:產品思維 × 專案管理 × 變現路徑(iThome鐵人賽系列書)$690$538 -
78折
程式人的第一本 Python 量化投資筆記:Colab 即時演練 × Backtrader 策略設計到績效評估全流程(iThome鐵人賽系列書)$600$468 -
78折
今晚來點 Web 前端效能優化大補帖:從效能優化掌握前端開發的底層邏輯 全彩版(iThome鐵人賽系列書)$720$561 -
78折
Grafana Zero to Hero:從視覺化到智慧監控,打造全知視角的可觀測性平台(iThome鐵人賽系列書)$720$561 -
78折
猴子也能懂的電腦對局:從入門到實戰帶你打造遊戲 AI(iThome鐵人賽系列書)$650$507 -
78折
AI 最強調整術:使用最佳化演算法,打造頂級機器學習模型 (iThome鐵人賽系列書)$650$507 -
78折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome鐵人賽系列書)$780$608 -
78折
AI 程式設計、深度學習與 LLM 入門到精通:PyTorch × GPT × Transformer × LLaMA 實作指南(iThome鐵人賽系列書)$650$507 -
78折
30天整頓職場!從徵才陷阱到離職黑箱,應對話術 × 舉證對策 × 職場防線一書掌握(iThome鐵人賽系列書)$600$468 -
78折
LangGraph 實戰開發 AI Agent 全攻略:掌握 AI 模型 × 工作流程 × 設計應用,從零打造智慧分工多代理協作系統(iThome鐵人賽系列書)$660$514 -
78折
Browser Web API 攻略大全:從開箱即用的實作範例開始,逐步掌握開發技巧(iThome鐵人賽系列書)$650$507 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
RAG × LangChain 整合應用:從問診機器人開始,打造可信任的 AI 系統 (iThome鐵人賽系列書)$600$468
商品描述
EKS 從不會到入門,從入門到精通
第一本完整探討 EKS 本土書籍
透過問題分析與討論讓你培養問題解決的脈絡
本書內容改編自第 14 屆 iThome 鐵人賽 DevOps 組的優選系列文章《那些文件沒告訴你的 AWS EKS》。
本書從建立 EKS cluster 開始,由「為什麼」為引言反思AWS是如何引用原生 Kubernetes 功能並設計,並溯源 Kubernetes 的原理,進而學習底層 Linux 及網路相關知識。此外,每章節提供逐步除錯驗證,照著步驟實作也能學習到除錯概念。
全書提供 18 個「為什麼」,使用「五個為什麼(Five whys)方法論一層層從 AWS、Kubernetes、容器,最終至作業系統,沿著因果關係順著網上探討釐清整體脈絡。這些「為什麼」們包含了數個 EKS 上實務常見問題,讀者除了能熟悉 AWS 環境及 Kubernetes 限制,也同時釐清作業系統與網路脈絡,提升問題排除的能力,進而持續精進「打破砂鍋問到底」的研究精神。
【目標讀者】
• 想要掌握 Kubernetes 概念和原理的工程師
• 想從 Junior 晉升到 Senior 的 DevOps/SRE 工程師
• 沒有使用過 AWS 雲端環境入門者
• 喜歡親自動手驗證的工程師
作者簡介
王茂林(Mao-Lin Wang/focaaby)
曾擔任過 DevOps 工程師及 AWS Cloud Support Engineer,並獲取 AWS EKS 服務 Subject-matter expert 認證。近年來專注於網路、容器化及 Kubernetes 雲端原生技術。
體會AWS 環境疊加Kubernetes 複雜環境學習不易,期望分享 Kubernetes 於雲端環境相關知識,提供更多資源以降低於 Kubernetes 的門檻。
目錄大綱
CHAPTER 0 為什麼寫這本書
0.1 誰適合本書
0.2 本書內容
0.2.1 會包括以下內容
0.2.2 你需要準備什麼?
0.3 如何使用這本書
0.4 「為什麼」這麼重要
0.5 實務操作
CHAPTER 1 建立 EKS 叢集環境
1.1 版本
1.2 建立環境
1.3 其它方便的設定
CHAPTER 2 CloudWatch Logs 及 CloudWatch Logs Insights 簡介
2.1 CloudWatch Logs 服務專有名詞
2.2 CloudWatch Logs Insights 查詢語法
2.2.1 CloudWatch 控制台
2.2.2 AWS CLI 命令
CHAPTER 3 為什麼 kubectl可以存取 EKS 叢集
3.1 叢集身分驗證
3.2 AWS IAM Authenticator for Kubernetes
3.3 驗證EKS 叢集預設使用AWS IAM Authenticator for Kubernetes
3.3.1 kubectl
3.3.2 驗證控制平面記錄檔
3.3.3 aws-iam-authenticator server 原始碼
3.4 流程
CHAPTER 4 為什麼 EKS 工作節點可以自動加入 EKS 叢集
4.1 EKS node group
4.2 Amazon EKS optimized Amazon Linux AMIs
4.3 kubelet 啟動程序(bootstrap) 初始化步驟
4.4 驗證 kubelet TLS bootstrapping 及自動化核准發證設定
4.4.1 kubelet 設定檔
4.4.2 kube-apiserver
4.4.3 kube-controller-manager
4.4.4 建立一個 EKS 節點
CHAPTER 5 為什麼 EKS 叢集可以識別預設 CNI plugin 為 Amazon VPC CNI plugin
5.1 工作節點 - kubelet 及 CNI
5.1.1 Kubernetes 1.22 版本
5.1.2 Kubernetes 1.27 版本
5.2 驗證EKS-optimized AMI 是否預設設定Amazon VPC CNI plugin 設定檔案
5.2.1 未加入 EKS 叢集 EC2
5.2.2 加入 EKS 叢集,執行 Amazon VPC CNI plugin 的EC2
5.3 Amazon VPC CNI plugin 的啟動流程
5.4 是誰安裝了 VPC CNI plugin
5.5 總結
CHAPTER 6 為什麼 CoreDNS 可以解析 VPC 內的域名及外部域名
6.1 kubelet 設定檔
6.2 Pod's DNS Policy
6.3 驗證 EKS 叢集內 DNS 解析流程
6.3.1 預設 Pod dnsPolicy 設定
6.3.2 從 Pod 內發送 DNS 請求
6.3.3 CoreDNS Pod 本身的 dnsPolicy 設定
6.4 EKS 叢集內 DNS 請求流程
6.5 結論
CHAPTER 7 為什麼 EKS add-on 可以管理 Kubernetes plugin
7.1 更新 Amazon VPC CNI plugin 為 EKS add-ons
7.2 Server-Side Apply
7.3 驗證 EKS 叢集 add-ons 使用 Server-Side Apply
7.3.1 第一次 eksctl create addon
7.3.2 第二次eksctl create addon 使用參數–force
7.4 managedFields
7.4.1 Fully managed:所有 Field Management 指定了 f: 但沒有 k:,則代表 Fully managed,任何修改都會造成衝突
7.4.2 Partially managed:如果 Field Management key 有指定值,修改 key 則會造成衝突
7.5 總結
CHAPTER 8 為什麼 EKS 叢集可以讓 Pod 部署至 Fargate
8.1 建立測試 Pod 於 Fargate 環境上
8.2 驗證部署至 EC2 工作節點與 Fargate 的 Pod 差異
8.3 驗證控制平面記錄檔(一)
8.4 什麼是 Mutate webhook
8.5 0500-amazon-eks-fargate-mutation.amazonaws.com 是怎麼來的
8.6 驗證控制平面記錄檔(二)
8.7 總結
CHAPTER 9 為什麼 EKS 能將 IAM roles 與 Kubernetes service accounts 整合(IAM roles for service accounts, IRSA)
9.1 建立使用 IRSA 的 Pod
9.2 IAM、OpenID Connect(OIDC)和 Kubernetes 關係
9.2.1 IAM 與 OpenID Connect(OIDC)
9.2.2 OpenID Connect(OIDC)與 Kubernetes
9.3 驗證 IRSA 流程
9.3.1 驗證EKS 叢集API server 設定IAM OIDC 作為identity provider
9.3.2 驗證Pod 經webhook mutate
9.3.3 Pod 掛載 OIDC JWT token
9.3.4 OIDC JWT 與 STS 驗證流程
9.4 總結
CHAPTER 10 為什麼 Managed node groups 可以保持應用程式可用性
10.1 實驗(一)
10.1.1 建立 Managed node groups 及 Self-managed node groups
10.1.2 比對 Label 的差異
10.1.3 比對 kubelet systemd unit 設定檔差異
10.1.4 比對 user-data 來源
10.1.5 為什麼兩種 node group 都可以自動加入 EKS 叢集
10.2 實驗(二)
10.2.1 建立Kubernetes Deployment object 並終止其中一Managed 節點
10.2.2 驗證 managed node group 行為
10.2.3 為什麼不是使用 eksctl 命令 scale in,而是使用ASG 命令與 managed node group 互通 ?
10.2.4 ASG lifecycle hook
CHAPTER 11 為什麼透過 CloudFormation template 建立的 self-managed node group 無法自動加入至叢集
11.1 CloudFormation template
CHAPTER 12 為什麼 CDK 部署 EKS 叢集會比較慢
12.1 建立環境 - 透過 CDK 建置 EKS 叢集
12.2 分析
12.3 總結
CHAPTER 13 為什麼 Fluent Bit/Fluentd 可以收集 EKS 叢集 Pod 以及節點記錄檔
13.1 常見 Kubernetes 記錄檔架構
13.1.1 節點層級
13.1.2 叢集層級記錄檔架構
13.1.3 直接從應用程式上傳記錄檔
13.2 以CloudWatch Agent for Container Insights Kubernetes Monitoring 為例
13.2.1 為什麼收集/var/log/containers/
13.2.2 CloudWatch Agent
13.3 建置環境
13.4 驗證
13.4.1 驗證 CloudWatch Agent 及指標
CHAPTER 14 為什麼 Container insight 指標 node_network_total_bytes 與 EC2 指標 NetworkIn/NetworkOut 不一致
14.1 建置環境
14.2 驗證
14.3 指標定義
14.4 網路封包流向
14.5 總結
CHAPTER 15 為什麼 EKS 工作節點容易佔用 IP 導致 subnets IP 位址不夠
15.1 檢視測試叢集環境
15.2 每個 Instance Type 能關聯的 ENI 數量及 IP 數量上限
15.3 預設Amazon VPC CNI plugin 的行為:多建一個ENI,關聯數個IP 位址
15.4 WARM_ENI_TARGET、WARM_IP_TARGET 及MINIMUM_ IP_TARGET 環境變數
15.5 監控
15.6 總結
CHAPTER 16 為什麼 security group 可以關聯至單獨的 EKS Pod - Security groups for pods
16.1 建置環境
16.2 SGFP 流程
16.2.1 VPC interface trunking
16.3 驗證 SGFP 流程
16.3.1 vpc-resource-mutating-webhook 是怎麼來的
16.3.2 驗證節點由 VPC resource controller 更新節點 label
16.3.3 驗證 Pod 經 webhook mutate
16.3.4 驗證節點使用 vlan 路由規則
16.3.5 驗證 branch ENI 及 trunk ENI 建立時間
16.4 總結
CHAPTER 17 為什麼使用 SGFP 使用 liveness/readiness probes 需要設定環境變數DISABLE_TCP_EARLY_DEMUX
17.1 環境變數 DISABLE_TCP_EARLY_DEMUX
17.2 TCP Early Demux 的行為
17.3 問題
17.4 總結
CHAPTER 18 為什麼 EKS 使用 NLB 作為 Kubernetes service 會遇到 connection timeout
18.1 建立測試環境
18.2 EKS 如何註冊Target Group 至Service
18.3 封包從 Pod 經由節點至 NLB 路徑
18.4 分析封包
18.5 NLB client 保留 IP 問題
18.6 替代方案
CHAPTER 19 為什麼 EKS 在更新 Kubernetes Deployment 時會有 HTTP 502 錯誤
19.1 建立環境
19.2 更新 image 流程中發生了什麼事
19.3 Kubernetes Service 與 Pod 流程
19.4 為什麼會有 HTTP 502 錯誤
19.5 如何避免問題
19.5.1 preStop hook
19.5.2 terminationGracePeriodSeconds
19.6 Pod Readiness Gates
19.7 總結
CHAPTER 20 為什麼 EKS 控制平面可以升級而無停機時間
20.1 建立環境
20.1.1 健康檢查 script
20.2 驗證
20.2.1 Pod aws-cli 記錄檔
20.2.2 控制平面記錄檔
20.2.3 CloudTrail 記錄
20.3 EKS 控制平面架構
20.4 流程
20.4.1 為什麼會有 connection timeout 錯誤
附件 參考文件
















