描述
內容簡介
★★★《AWS自學聖經》作者Sam T.全新作★★★ ★★★圖解教學★★★
✦什麼是K8S? K8S全名為Kubernetes,是一套容器化管理框架,常與Docker等技術一起運用。近年來隨著容器化技術的成熟,各大雲端商紛紛提供K8S平台,比如說AWS EKS、GCP GKE等,來應付高漲的容器部署需求,可見K8S已成為全球企業最愛技術之一! ✦本書特點 本書以清晰易懂的圖解方式,帶領讀者由淺入深的開始學習。同時精選了Docker 10大常用指令及軟體業界中最為實用的K8S 10大核心模板,讓讀者用最短的時間學習到最有用的內容。 透過本書,讀者將能確實掌握Docker、Minikube、以及Kubernetes各種核心模板的撰寫與部署,並在AWS雲端上進行完整部署,最終將所學運用在實務工作上。
✦你將能學習到 ▌Docker 10大常用指令,入門容器化領域 ▌K8S 10大核心模板,精通運算、網路、儲存等容器資源部署 ▌AWS EKS雲端部署,成為企業界最愛的「雲端+容器」人才 |
作者簡介
Sam T.
✦Hahow、HiSKIO、Udemy 等知名平台現任講師,累積學員超過 10,000+ ✦「AWS自學聖經」暢銷作者,通過AWS專家級認證,擁有多年業界雲端部署經驗。 ✦「用圖片高效學程式」創辦人,擅長將複雜的概念,轉換為簡單易懂的圖解動畫。
圖解程式教學 Sam Tsai:https://www.youtube.com/@uopsdod1 |
目錄
1 Kubernetes 介紹
▌為何要學Kubernetes?【職缺趨勢分析】 Kubernetes 的可愛別稱:K8S Kubernetes 源自於希臘文:掌舵者 Kubernetes 10 大核心模板 Kubernetes 的未來:雲端部署時代到臨 ▌【圖解觀念】Kubernetes (K8S) 是什麼?【3大階段】 第一階段:Docker/Podman 部署包建立 第二階段:Kubernetes (K8S) 部署計畫撰寫 第三階段:Local vs AWS/GCP/Azure 資源部署 ▌【圖解觀念】Kubernetes (K8S) 解決了什麼問題?【4大功用】 功用一:動態的資源增減 功用二:Self-Healing 自我治療 功用三:Zero Downtime Rolling Update 功用四:Zero Down Time Rollback 2 Docker 容器化技術入門 ▌【圖解觀念】Docker 解決了什麼問題?【3大功能】 功能一:Docker 簡化部署流程 功能二:Docker 共用部署包 功能三:Docker & DockerHub 跨平台部署 ▌【圖解觀念】Docker 核心架構:Dockerfile | Image | Container | Network | Volume Dockerfile & Docker Image 架構圖解 Docker Container 架構圖解 Docker Network 架構圖解 Docker Engine 與 Host 架構圖解 Docker Volume 架構圖解 ▌Docker Linux 共同環境建立 AWS EC2 頁面登入 AWS EC2 Instance 建立 AWS EC2 連線測試 ▌Docker 安裝 Docker 安裝 Docker 權限設定 Docker 功能驗證 ▌Docker 10 大常用指令快速上手 指令1:docker images 指令2:docker pull 指令3:docker run 指令4:docker exec 指令5:docker container ls 指令6:docker container stop 指令7:docker container rm 指令8:docker build 指令9:docker login 指令10:docker push ▌Docker Volume 永久資料保存 Docker Voulme 創建 Docker Voulme 功能驗證 Docker Voulme 清除 ▌【圖解觀念】Docker 相較於 Kubernetes (K8S),少了什麼?【3面相比較】 Docker / K8S:定位面相比較 Docker / K8S:階層關係比較 Docker / K8S:適用對象比較 3 Kubernetes 十大核心模板 ▌【圖解觀念】Kubernetes (K8S) 基底結構:Master Node & Worker Node K8S Cluster 概念 K8S Master Node 概念 K8S Master Replicate Node 概念 K8S Worker Node 概念 ▌【圖解觀念】什麼是 Kubernetes (K8S) Pod? K8S Pod 是什麼? Docker Image 從哪裡來? ▌【圖解觀念】Kubernetes (K8S) Pod 與 Worker Node 的關係 資源歸屬的概念 誰屬於 K8S 資源? 又誰屬於 Resource Provider 資源? ▌Minikube I:本地 Kubernetes (K8S) 的建立 Minikube 安裝 Kubectl 快捷鍵建立 K8S Node 運算節點查看 K8S 第一個專案部署 K8S Pod 與運算節點的關聯查看 K8S Service 網路資源建立 Minikube 資源清理 ▌Minikube II:Dockerhub 整合運用 Docker 服務啟動 K8S Cluster 建立 Dockerhub Remote Image 直接運用 Part 1 Dockerhub Remote Image 直接運用 Part 2 Minikube 資源清理 ▌【圖解觀念】Kubernetes (K8S) 運算架構:Deployments - ReplicaSet - Pods K8S Pod 使用時機 K8S Pod 使用限制 K8S ReplicaSet 使用時機 K8S ReplicaSet 使用限制 K8S Deployment 使用時機 ▌【模板1】Kubernetes (K8S) 運算部署 I:Pods Minikube 服務啟動 K8S Pod 模板撰寫 K8S Pod 資源部署 K8S Pod 資源刪除 ▌【模板2】Kubernetes (K8S) 運算部署 II:ReplicaSets K8S ReplicaSet 模板撰寫 K8S ReplicaSet 資源部署 K8S ReplicaSet 運用示範:Pod 刪除 K8S ReplicaSet 資源清理 ▌【模板3】Kubernetes (K8S) 運算部署 III:Deployments K8S Deployment 模板撰寫 K8S Deployment 資源部署 K8S Deployment 運用示範:Pod 刪除 K8S Deployment 資源清理 ▌【圖解觀念】Kubernetes (K8S) 網路架構:Service (L4)【3大種類】 K8S Service:Cluster IP K8S Service:Node Port K8S Service:Load Balancer K8S Service 三大種類比較 ▌【模板4】Kubernetes (K8S) L4 網路管理 I:Services【ClusterIP 模式】 前置環境建立 K8S Service 模板撰寫 K8S Service 資源部署 K8S Service 運用示範 ▌【模板4】Kubernetes (K8S) L4 網路管理 II:Services【NodePort 模式】 K8S Service 模板撰寫 K8S Service 資源部署 K8S Service 運用示範 ▌【模板4】Kubernetes (K8S) L4 網路管理 III:Services【LoadBalancer 模式】 K8S Service 模板撰寫 K8S Service 資源部署 K8S Service 運用示範 K8S Service 資源清理 ▌【圖解觀念】Kubernetes (K8S) Probe 監控架構【3大機制】 K8S Startup Probe 監控機制 K8S Liveness Probe 監控機制 K8S Readiness Probe 監控機制 3 大 Probe 情境模擬與對應方式 3 大 Probe 監控機制比較 ▌【模板5】Kubernetes (K8S) 監控部署 I【3大種類】 K8S Startup Probe 監控資源部署 K8S Liveness Probe 監控資源部署 K8S Liveness Probe 運用示範:失敗情境模擬 K8S 監控資源清理 ▌【模板5】Kubernetes (K8S) 監控部署 II:Readiness Probe 監控他人狀態 K8S Readiness Probe 監控資源部署 K8S Readiness Probe 運用示範:失敗情境模擬 K8S 監控資源清理 ▌【模板6】Kubernetes (K8S) 運算部署 IV:Rolling Updates 無中斷進版 對照組環境建立 K8S Rolling Updates 模板撰寫 K8S Rolling Updates 資源部署 K8S Rolling Updates 運作機制分析 ▌【模板6】Kubernetes (K8S) 運算部署 V:Roll Back 無中斷退版 K8S Roll Back 退版:機制觸發 K8S Roll Back 退版:業界使用經驗分享 K8S 資源清理 ▌【圖解觀念】Kubernetes (K8S) 儲存架構:Persistent Volume K8S Persistent Volume (PV) 介紹 K8S PV 靜態部署 - Persistent Volumes (PV) & Claim (PVC) K8S PV 動態部署 - StorageClass (SC) 儲存資源的實際來源 ▌【模板7】K8S 儲存靜態部署:Persistent Volumes (PV) & Claim (PVC) K8S Persistent Volume (PV) 模板撰寫 K8S Persistent Volume Claim (PVC) 模板撰寫 K8S Pod 資源部署 K8S PV 與 PVC 生命週期的運用示範 K8S 資源清理 ▌【模板7】K8S 儲存動態部署:StorageClass (SC) K8S Persistent Volume (PV) 動態部署:Storage Class K8S Deployment 運算資源部署 K8S Persistent Volume (PV) 動態部署運用示範 K8S 資源清理 ▌【圖解觀念】Kubernetes (K8S) 資源架構:Namespace K8S 資源分類的概念 K8S Namespace 實際運用:資源分類 K8S Namespace 實際運用:資源清理 ▌【模板8】Kubernetes (K8S) 資源管理:Namespace K8S Namespace 模板撰寫 K8S Namespace 資源部署 K8S Namespace 資源清理 ▌【圖解觀念】Kubernetes (K8S) 進階網路架構:Ingress (L7) K8S Ingress 使用時機 K8S Ingress 部署概念 K8S Ingress 部署模式:Default Backend K8S Ingress 部署模式:Hostname 分流 K8S Ingress 部署模式:Path 分流 ▌【模板9】Kubernetes (K8S) L7 進階網路管理 IV:Ingress【Default Backend】 Minikube Nginx Ingress Controller 啟動與使用 K8S Ingress 部署模式:Default Backend 模板撰寫 K8S Ingress 部署模式:Default Backend 資源部署 K8S Ingress 部署模式:Default Backend 使用示範 ▌【模板9】Kubernetes (K8S) L7 進階網路管理 V:Ingress【Hostname Based】 前置環境部署 K8S Ingress 部署模式:Hostname 模板撰寫 K8S Ingress 部署模式:Hostname 資源部署 K8S Ingress 部署模式:Hostname 使用示範 ▌【模板9】Kubernetes (K8S) L7 進階網路管理 VI:Ingress【Path Based】 K8S Ingress 部署模式:Path 模板撰寫 K8S Ingress 部署模式:Path 資源部署 K8S Ingress 部署模式:Path 使用示範 K8S 資源清理 ▌【圖解觀念】Kubernetes (K8S) 進階運算架構:Horizontal Pod Autoscaling (HPA) K8S Horizontal Pod Autoscaling (HPA) 使用時機 K8S Horizontal Pod Autoscaling (HPA) 必備要件:Metrics Server K8S Horizontal Pod Autoscaling (HPA) 進階必備要件:Prometheus Server ▌【模板 10】Kubernetes (K8S) 進階運算部署:Horizontal Pod Autoscaling (HPA) 前置環境部署 K8S Horizontal Pod Autoscaling (HPA) 必備要件:Metrics Server 建立 K8S Horizontal Pod Autoscaling (HPA) 資源部署 K8S Horizontal Pod Autoscaling (HPA) 監控分析 K8S Horizontal Pod Autoscaling (HPA) 資源清理 ▌【圖解觀念】Minikube 架構統整 & 總複習 Minikube 圖解總架構 K8S PV 與 PVC 圖解總架構 K8S Ingress 圖解總架構 K8S HPA 圖解總架構 ▌Minikube 資源總清理 Minikube 資源總清理 4 雲端上的 K8S ▌AWS Admin EC2 伺服器建立 AWS VPC 及 Security Groups 建立 AWS EC2 IAM User 建立 AWS EC2 Instance 建立 連線測試 ▌AWS EKS 必要指令安裝 kubectl 指令包安裝 eksctl 指令包安裝 helm 指令包安裝 git 指令安裝 AWS CLI 指令安裝 AWS CLI 權限設定 環境參數設定 ▌AWS EKS Fargate Cluster 架構介紹 AWS EKS Cluster 創建 AWS EKS Cluster 部署位置分析 AWS EKS Fargate Profile 功能介紹 ▌AWS EKS Fargate Cluster 建立 AWS EKS Cluster 創建 AWS EKS OIDC 建立 ▌AWS EKS 永久資料儲存 (PV, PVC) 架構介紹 AWS EFS 儲存資源建立 AWS EFS 與AWS EKS 的結合使用 ▌AWS EKS 永久資料儲存 (PV, PVC) 建立 AWS EFS Security Group 建立 AWS EFS File system 建立 Kubernetes CSI 資源建立 Kubernetes PV 及 PVC 資源建立 Kubernetes Deployment 資源建立 AWS EFS 功能測試 ▌AWS EKS L7 網路分流管理 (Ingress) 架構介紹 AWS EKS Load Balancer Ingress Controller 權限設定 AWS EKS Load Balancer Ingress Controller 建立 Kubernetes Ingress 建立 ▌AWS EKS L7 網路分流管理 (Ingress) 建立 AWS EKS Load Balancer Ingress Controller 權限設定 AWS EKS Load Balancer Ingress Controller 建立 Multistage 專案部署 Kubernetes Ingress 建立 ▌AWS EKS 自動化|運算部署 (HPA) 架構介紹 Kubernetes HPA 使用架構 Kubernetes Pod 運算節點分配 ▌AWS EKS 自動化|運算部署 (HPA) 建立 監控環境建立 大量請求的模擬環境建立 Kubernetes HPA 監測狀態分析:動態新增運算資源 少量請求的模擬環境建立 Kubernetes HPA 監測狀態分析:動態減少運算資源 ▌AWS EKS 資源清理 AWS EKS Cluster 資源刪除 AWS Admin EC2 資源刪除 老師的話 & What's Next? ▌老師的話 ▌「用圖片高效學程式」教學品牌 |
序
大容器化時代來臨,你跟上了嗎?
Kubernetes數年來霸佔全球企業喜愛的容器化管理技術,已成為現代軟體人必學技術之一。此外,雲端時代的到臨,也震盪了傳統Kubernetes 的部署模式,促使更多企業選擇透過AWS、GCP、Azure等大型雲端平台,佈置更加全面的Kubernetes容器管理平台。為了保持軟體人的技術競爭力,本書將專注於最核心的10大K8S部署模板,透過圖解方式帶領大家快速入門K8S,那就跟著我透過本書一起成為Kubernetes雲端專家吧! |