書馨卡幫你省薪 2024個人購書報告 2024中圖網(wǎng)年度報告
歡迎光臨中圖網(wǎng) 請 | 注冊

KUBERNETES IN ACTION(中文版)

出版社:電子工業(yè)出版社出版時間:2018-12-01
開本: 其他 頁數(shù): 592
中 圖 價:¥88.8(6.0折) 定價  ¥148.0 登錄后可看到會員價
加入購物車 收藏
運費6元,滿39元免運費
?新疆、西藏除外
本類五星書更多>

KUBERNETES IN ACTION(中文版) 版權(quán)信息

KUBERNETES IN ACTION(中文版) 本書特色

"對于游戲UI,很多人不了解是做什么的,或在理解上存在很大的誤區(qū),比如把游戲UI與應(yīng)用UI混淆,或把游戲UI單純地當(dāng)成一個畫畫的崗位,忽略它的可實現(xiàn)性與用戶體驗,這種錯誤的觀念會導(dǎo)致這些游戲從業(yè)者很難做出一款成功的游戲產(chǎn)品。 本書由業(yè)內(nèi)知名的游戲UI設(shè)計師編寫,其內(nèi)容均是作者在實際游戲項目工作和教學(xué)總結(jié)而成的理論精華和寶貴經(jīng)驗。本書不僅僅要讓你學(xué)會、學(xué)透游戲UI設(shè)計,還要讓你了解整個游戲行業(yè)與除游戲UI外的其他游戲崗位的工作內(nèi)容,讓你清晰地了解游戲UI的定位與所需要的全部能力并了解它的發(fā)展方向等

KUBERNETES IN ACTION(中文版) 內(nèi)容簡介

本書主要講解如何在 Kubernetes 中部署分布式容器應(yīng)用。本書開始部分概要介紹了 Docker 和Kubernetes 的由來和發(fā)展,然后通過在 Kubernetes 中部署一個應(yīng)用程序,一點點增加功能,逐步加深我們對于Kubernetes架構(gòu)的理解和操作的實踐。在本書的后面部分,也可以學(xué)習(xí)一些高階的主題,比如監(jiān)控、調(diào)試及伸縮。Kubernetes是希臘文,意思是“舵手”,帶領(lǐng)我們安全地到達未知水域。Kubernetes這樣的容器編排系統(tǒng),會幫助我們妥善地管理分布式應(yīng)用的部署結(jié)構(gòu)和線上流量,高效地組織容器和服務(wù)。Kubernetes 作為數(shù)據(jù)中心操作系統(tǒng),在設(shè)計軟件系統(tǒng)時,能夠盡量降低在底層網(wǎng)絡(luò)和硬件設(shè)施上的負(fù)擔(dān)。

KUBERNETES IN ACTION(中文版) 目錄

●1 Kubernetes 介紹 .....................................................................1 1.1 Kubernetes 系統(tǒng)的需求 ...................................................................................2 1.1.1 從單體應(yīng)用到微服務(wù) ..........................................................................2 1.1.2 為應(yīng)用程序提供一個一致的環(huán)境 ......................................................5 1.1.3 邁向持續(xù)交付 :DevOps 和無運維 ....................................................6 1.2 介紹容器技術(shù) ..................................................................................................7 1.2.1 什么是容器 ..........................................................................................7 1.2.2 Docker 容器平臺介紹 ....................................................................... 11 1.2.3 rkt――一個 Docker 的替代方案 ......................................................14 1.3 Kubernetes 介紹 .............................................................................................15 1.3.1 初衷 ....................................................................................................15 1.3.2 深入淺出地了解 Kubernetes .............................................................15 1.3.3 Kubernetes 集群架構(gòu) .........................................................................17 1.3.4 在 Kubernetes 中運行應(yīng)用 ................................................................18 1.3.5 使用 Kubernetes 的好處 ....................................................................20 1.4 本章小結(jié) ........................................................................................................22 2 開始使用 Kubernetes 和 Docker ..............................................23 2.1 創(chuàng)建、運行及享容器鏡像 ........................................................................23 2.1.1 安裝 Docker 并運行 Hello World 容器 .............................................24 2.1.2 創(chuàng)建一個簡單的 Node.js 應(yīng)用 ..........................................................26 2.1.3 為鏡像創(chuàng)建 Dockerfile ......................................................................27 2.1.4 構(gòu)建容器鏡像 ....................................................................................27 2.1.5 運行容器鏡像 ....................................................................................30 2.1.6 探索運行容器的內(nèi)部 ........................................................................31 2.1.7 停止和刪除容器 ................................................................................32 2.1.8 向鏡像倉庫推送鏡像 ........................................................................33 2.2 配置 Kubernetes 集群 ....................................................................................34 2.2.1 用 Minikube 運行一個本地單節(jié)點 Kubernetes 集群 ......................34 2.2.2 使用 Google Kubernetes Engine 托管 Kubernetes 集群 ...................36 2.2.3 為 kubectl 配置別名和命令行補齊 ..................................................39 2.3 在 Kubernetes 上運行個應(yīng)用 ................................................................40 2.3.1 部署 Node.js 應(yīng)用 ..............................................................................40 2.3.2 訪問 Web 應(yīng)用 ...................................................................................43 2.3.3 系統(tǒng)的邏輯部分 ................................................................................45 2.3.4 水平伸縮應(yīng)用 ....................................................................................46 2.3.5 查看應(yīng)用運行在哪個節(jié)點上 ............................................................49 2.3.6 介紹 Kubernetes dashboard ...............................................................50 2.4 本章小結(jié) ........................................................................................................51 3 pod :運行于 Kubernetes 中的容器 ..........................................53 3.1 介紹 pod .........................................................................................................53 3.1.1 為何需要 pod .....................................................................................54 3.1.2 了解 pod .............................................................................................55 3.1.3 通過 pod 合理管理容器 ....................................................................56 3.2 以 YAML 或 JSON 描述文件創(chuàng)建 pod ........................................................58 3.2.1 檢查現(xiàn)有 pod 的 YAML 描述文件 ...................................................59 3.2.2 為 pod 創(chuàng)建一個簡單的 YAML 描述文件 .......................................61 3.2.3 使用 kubectl create 來創(chuàng)建 pod .........................................................63 3.2.4 查看應(yīng)用程序日志 ............................................................................64 3.2.5 向 pod 發(fā)送請求 ................................................................................65 3.3 使用標(biāo)簽組織 pod .........................................................................................66 3.3.1 介紹標(biāo)簽 ............................................................................................66 3.3.2 創(chuàng)建 pod 時指定標(biāo)簽 ........................................................................67 3.3.3 修改現(xiàn)有 pod 的標(biāo)簽 ........................................................................68 3.4 通過標(biāo)簽選擇器列出 pod 子集 ....................................................................69 3.4.1 使用標(biāo)簽選擇器列出 pod .................................................................69 3.4.2 在標(biāo)簽選擇器中使用多個條件 ........................................................71 3.5 使用標(biāo)簽和選擇器來約束 pod 調(diào)度 ............................................................71 3.5.1 使用標(biāo)簽分類工作節(jié)點 ....................................................................72 3.5.2 將 pod 調(diào)度到特定節(jié)點 ....................................................................72 3.5.3 調(diào)度到一個特定節(jié)點 ........................................................................73 3.6 注解 pod .........................................................................................................73 3.6.1 查找對象的注解 ................................................................................74 3.6.2 添加和修改注解 ................................................................................74 3.7 使用命名空間對資源進行分組 ....................................................................75 3.7.1 了解對命名空間的需求 ....................................................................75 3.7.2 發(fā)現(xiàn)其他命名空間及其 pod .............................................................75 3.7.3 創(chuàng)建一個命名空間 ............................................................................76 3.7.4 管理其他命名空間中的對象 ............................................................77 3.7.5 命名空間提供的隔離 ........................................................................78 3.8 停止和移除 pod .............................................................................................78 3.8.1 按名稱刪除 pod .................................................................................78 3.8.2 使用標(biāo)簽選擇器刪除 pod .................................................................79 3.8.3 通過刪除整個命名空間來刪除 pod .................................................80 3.8.4 刪除命名空間中的所有 pod,但保留命名空間 .............................80 3.8.5 刪除命名空間中的(幾乎)所有資源 ............................................80 3.9 本章小結(jié) ........................................................................................................81 4 副本機制和其他控制器 :部署托管的 pod .................................83 4.1 保持 pod 健康 ................................................................................................84 4.1.1 介紹存活探針 ....................................................................................84 4.1.2 創(chuàng)建基于 HTTP 的存活探針 ............................................................85 4.1.3 使用存活探針 ....................................................................................86 4.1.4 配置存活探針的附加屬性 ................................................................87 4.1.5 創(chuàng)建有效的存活探針 ........................................................................88 4.2 了解 ReplicationController ............................................................................89 4.2.1 ReplicationController 的操作 ............................................................90 4.2.2 創(chuàng)建一個 ReplicationController ........................................................92 4.2.3 使用 ReplicationController ................................................................94 4.2.4 將 pod 移入或移出 ReplicationController 的作用域 .......................97 4.2.5 修改 pod 模板 ..................................................................................100 4.2.6 水平縮放 pod ...................................................................................101 4.2.7 刪除一個 ReplicationController ......................................................103 4.3 使用 ReplicaSet 而不是 ReplicationController ...........................................104 4.3.1 比較 ReplicaSet 和 ReplicationController .......................................104 4.3.2 定義 ReplicaSet ................................................................................105 4.3.3 創(chuàng)建和檢查 ReplicaSet ....................................................................106 4.3.4 使用 ReplicaSet 的更富表達力的標(biāo)簽選擇器 ...............................106 4.3.5 ReplicaSet 小結(jié) ................................................................................107 4.4 使用 DaemonSet 在每個節(jié)點上運行一個 pod ...........................................107 4.4.1 使用 DaemonSet 在每個節(jié)點上運行一個 pod ..............................108 4.4.2 使用 DaemonSet 只在特定的節(jié)點上運行 pod ..............................109 4.5 運行執(zhí)行單個任務(wù)的 pod ........................................................................... 112 4.5.1 介紹 Job 資源 ................................................................................... 112 4.5.2 定義 Job 資源 ................................................................................... 113 4.5.3 看 Job 運行一個 pod ........................................................................ 114 4.5.4 在 Job 中運行多個 pod 實例 ........................................................... 114 4.5.5 Job pod 完成任務(wù)的時間 ........................................................ 116 4.6 安排 Job 定期運行或在將來運行一次 ....................................................... 116 4.6.1 創(chuàng)建一個 CronJob ............................................................................ 116 4.6.2 了解計劃任務(wù)的運行方式 .............................................................. 118 4.7 本章小結(jié) ...................................................................................................... 118 5 服務(wù) :讓客戶端發(fā)現(xiàn) pod 并與之通信 .....................................121 5.1 介紹服務(wù) ......................................................................................................122 5.1.1 創(chuàng)建服務(wù) ..........................................................................................123 5.1.2 服務(wù)發(fā)現(xiàn) ..........................................................................................129 5.2 連接集群外部的服務(wù) ..................................................................................132 5.2.1 介紹服務(wù) endpoint ...........................................................................133 5.2.2 動配置服務(wù)的 endpoint ...............................................................133 5.2.3 為外部服務(wù)創(chuàng)建別名 ......................................................................135 5.3 將服務(wù)暴露給外部客戶端 ..........................................................................136 5.3.1 使用 NodePort 類型的服務(wù) .........................................................137 5.3.2 通過負(fù)載均衡器將服務(wù)暴露出來 ..................................................140 5.3.3 了解外部連接的特性 ......................................................................142 5.4 通過 Ingress 暴露服務(wù) .................................................................................143 5.4.1 創(chuàng)建 Ingress 資源 .............................................................................145 5.4.2 通過 Ingress 訪問服務(wù) .....................................................................146 5.4.3 通過相同的 Ingress 暴露多個服務(wù) .................................................147 5.4.4 配置 Ingress 處理 TLS 傳輸 ...........................................................149 5.5 pod 就緒后發(fā)出信號 ...................................................................................150 5.5.1 介紹就緒探針 ..................................................................................151 5.5.2 向 pod 添加就緒探針 ......................................................................152 5.5.3 了解就緒探針的實際作用 ..............................................................154 5.6 使用 headless 服務(wù)來發(fā)現(xiàn)獨立的 pod ........................................................155 5.6.1 創(chuàng)建 headless 服務(wù) ...........................................................................156 5.6.2 通過 DNS 發(fā)現(xiàn) pod .........................................................................156 5.6.3 發(fā)現(xiàn)所有的 pod――包括未就緒的 pod.........................................157 5.7 排除服務(wù)故障 ..............................................................................................158 5.8 本章小結(jié) ......................................................................................................159 6 卷 :將磁盤掛載到容器 .........................................................161 6.1 介紹卷 ..........................................................................................................162 6.1.1 卷的應(yīng)用示例 .................................................................................162 6.1.2 介紹可用的卷類型 ..........................................................................164 6.2 通過卷在容器之間享數(shù)據(jù) ......................................................................165 6.2.1 使用 emptyDir 卷 .............................................................................165 6.2.2 使用 Git 倉庫作為存儲卷 ...............................................................168 6.3 訪問工作節(jié)點文件系統(tǒng)上的文件 ..............................................................171 6.3.1 介紹 hostPath 卷 ..............................................................................171 6.3.2 檢查使用 hostPath 卷的系統(tǒng) pod ...................................................172 6.4 使用持久化存儲 ..........................................................................................173 6.4.1 使用 GCE 持久磁盤作為 pod 存儲卷 ............................................174 6.4.2 通過底層持久化存儲使用其他類型的卷 ......................................177 6.5 從底層存儲技術(shù)解耦 pod ...........................................................................179 6.5.1 介紹持久卷和持久卷聲明 ..............................................................179 6.5.2 創(chuàng)建持久卷 ......................................................................................180 6.5.3 通過創(chuàng)建持久卷聲明來獲取持久卷 ..............................................182 6.5.4 在 pod 中使用持久卷聲明 ..............................................................184 6.5.5 了解使用持久卷和持久卷聲明的好處 ..........................................185 6.5.6 回收持久卷 ......................................................................................186 6.6 持久卷的動態(tài)卷配置 ..................................................................................187 6.6.1 通過 StorageClass 資源定義可用存儲類型 ...................................188 6.6.2 請求持久卷聲明中的存儲類 ..........................................................188 6.6.3 不指定存儲類的動態(tài)配置 ..............................................................190 6.7 本章小結(jié) ......................................................................................................193 7 ConfigMap 和 Secret :配置應(yīng)用程序 .....................................195 7.1 配置容器化應(yīng)用程序 ..................................................................................195 7.2 向容器傳遞命令行參數(shù) ..............................................................................196 7.2.1 在 Docker 中定義命令與參數(shù) ........................................................196 7.2.2 在 Kubernetes 中覆蓋命令和參數(shù) ..................................................199 7.3 為容器設(shè)置環(huán)境變量 ..................................................................................200 7.3.1 在容器定義中指定環(huán)境變量 ..........................................................201 7.3.2 在環(huán)境變量值中引用其他環(huán)境變量 ..............................................201 7.3.3 了解硬編碼環(huán)境變量的不足之處 ..................................................202 7.4 利用 ConfigMap 解耦配置 ..........................................................................202 7.4.1 ConfigMap 介紹 ...............................................................................202 7.4.2 創(chuàng)建 ConfigMap ...............................................................................203 7.4.3 給容器傳遞 ConfigMap 條目作為環(huán)境變量 ..................................206 7.4.4 一次性傳遞 ConfigMap 的所有條目作為環(huán)境變量 ......................208 7.4.5 傳遞 ConfigMap 條目作為命令行參數(shù) ..........................................209 7.4.6 使用 configMap 卷將條目暴露為文件 ...........................................210 7.4.7 更新應(yīng)用配置且不重啟應(yīng)用程序 ..................................................216 7.5 使用 Secret 給容器傳遞敏感數(shù)據(jù) ..............................................................218 7.5.1 介紹 Secret .......................................................................................218 7.5.2 默認(rèn)令牌 Secret 介紹 ......................................................................218 7.5.3 創(chuàng)建 Secret .......................................................................................220 7.5.4 對比 ConfigMap 與 Secret ...............................................................221 7.5.5 在 pod 中使用 Secret .......................................................................222 7.6 本章小結(jié) ......................................................................................................228 8 從應(yīng)用訪問 pod 元數(shù)據(jù)以及其他資源 .....................................229 8.1 通過 Downward API 傳遞元數(shù)據(jù) ...............................................................229 8.1.1 了解可用的元數(shù)據(jù) ..........................................................................230 8.1.2 通過環(huán)境變量暴露元數(shù)據(jù) ..............................................................231 8.1.3 通過 downwardAPI 卷來傳遞元數(shù)據(jù) .............................................234 8.2 與 Kubernetes API 服務(wù)器交互 ...................................................................237 8.2.1 探究 Kubernetes REST API .............................................................238 8.2.2 從 pod 內(nèi)部與 API 服務(wù)器進行交互 ..............................................242 8.2.3 通過 ambassador 容器簡化與 API 服務(wù)器的交互 .........................248 8.2.4 使用客戶端庫與 API 服務(wù)器交互 ..................................................251 8.3 本章小結(jié) ......................................................................................................253 9 Deployment: 聲明式地升級應(yīng)用 ...........................................255 9.1 更新運行在 pod 內(nèi)的應(yīng)用程序 ..................................................................256 9.1.1 刪除舊版本 pod,使用新版本 pod 替換 .......................................257 9.1.2 先創(chuàng)建新 pod 再刪除舊版本 pod ...................................................257 9.2 使用 ReplicationController 實現(xiàn)自動的滾動升級 .....................................259 9.2.1 運行個版本的應(yīng)用 ..................................................................259 9.2.2 使用 kubectl 來執(zhí)行滾動式升級 ....................................................261 9.2.3 為什么 kubectl rolling-update 已經(jīng)過時 .........................................265 9.3 使用 Deployment 聲明式地升級應(yīng)用.........................................................266 9.3.1 創(chuàng)建一個 Deployment .....................................................................267 9.3.2 升級 Deployment .............................................................................269 9.3.3 回滾 Deployment .............................................................................273 9.3.4 控制滾動升級速率 ..........................................................................276 9.3.5 暫停滾動升級 ..................................................................................278 9.3.6 阻止出錯版本的滾動升級 ..............................................................279 9.4 本章小結(jié) ......................................................................................................284 10 StatefulSet :部署有狀態(tài)的多副本應(yīng)用 ................................285 10.1 復(fù)制有狀態(tài) pod .........................................................................................285 10.1.1 運行每個實例都有單獨存儲的多副本 ........................................286 10.1.2 每個 pod 都提供穩(wěn)定的標(biāo)識 ........................................................287 10.2 了解 Statefulset ..........................................................................................289 10.2.1 對比 Statefulset 和 ReplicaSet .......................................................289 10.2.2 提供穩(wěn)定的網(wǎng)絡(luò)標(biāo)識 ....................................................................290 10.2.3 為每個有狀態(tài)實例提供穩(wěn)定的專屬存儲 ....................................292 10.2.4 Statefulset 的保障 ..........................................................................294 10.3 使用 Statefulset ..........................................................................................295 10.3.1 創(chuàng)建應(yīng)用和容器鏡像 ....................................................................295 10.3.2 通過 Statefulset 部署應(yīng)用 .............................................................296 10.3.3 使用你的 pod .................................................................................301 10.4 在 Statefulset 中發(fā)現(xiàn)伙伴節(jié)點 .................................................................305 10.4.1 通過 DNS 實現(xiàn)伙伴間彼此發(fā)現(xiàn) ..................................................306 10.4.2 更新 Statefulset ..............................................................................308 10.4.3 嘗試集群數(shù)據(jù)存儲 ........................................................................309 10.5 了解 Statefulset 如何處理節(jié)點失效 .........................................................310 10.5.1 模擬一個節(jié)點的網(wǎng)絡(luò)斷開 ............................................................310 10.5.2 動刪除 pod .................................................................................312 10.6 本章小結(jié) ....................................................................................................313 11 了解 Kubernetes 機理 ........................................................315 11.1 了解架構(gòu) ...................................................................................................315 11.1.1 Kubernetes 組件的分布式特性 .....................................................316 11.1.2 Kubernetes 如何使用 etcd .............................................................318 11.1.3 API 服務(wù)器做了什么 .....................................................................322 11.1.4 API 服務(wù)器如何通知客戶端資源變更 .........................................324 11.1.5 了解調(diào)度器 ....................................................................................325 11.1.6 介紹控制器管理器中運行的控制器 ............................................327 11.1.7 Kubelet 做了什么 ...........................................................................331 11.1.8 Kubernetes Service Proxy 的作用 .................................................332 11.1.9 介紹 Kubernetes 插件 ....................................................................333 11.1.10 總結(jié)概覽 ......................................................................................335 11.2 控制器如何協(xié)作 ........................................................................................335 11.2.1 了解涉及哪些組件 ........................................................................335 11.2.2 事件鏈 ............................................................................................336 11.2.3 觀察集群事件 ................................................................................337 11.3 了解運行中的 pod 是什么 ........................................................................339 11.4 跨 pod 網(wǎng)絡(luò) ................................................................................................340 11.4.1 網(wǎng)絡(luò)應(yīng)該是什么樣的 ....................................................................340 11.4.2 深入了解網(wǎng)絡(luò)工作原理 ................................................................341 11.4.3 引入容器網(wǎng)絡(luò)接口 ........................................................................343 11.5 服務(wù)是如何實現(xiàn)的 ....................................................................................344 11.5.1 引入 kube-proxy .............................................................................344 11.5.2 kube-proxy 如何使用 iptables .......................................................344 11.6 運行高可用集群 ........................................................................................346 11.6.1 讓你的應(yīng)用變得高可用 ................................................................346 11.6.2 讓 Kubernetes 控制平面變得高可用 ............................................347 11.7 本章小結(jié) ....................................................................................................350 12 Kubernetes API 服務(wù)器的安全防護 .....................................351 12.1 了解認(rèn)證機制 ............................................................................................351 12.1.1 用戶和組 ........................................................................................352 12.1.2 ServiceAccount 介紹 ......................................................................353 12.1.3 創(chuàng)建 ServiceAccount ......................................................................354 12.1.4 將 ServiceAccount 分配給 pod ......................................................356 12.2 通過基于角色的限控制加集群安全 ................................................358 12.2.1 介紹 RBAC 授插件 ...................................................................359 12.2.2 介紹 RBAC 資源 ...........................................................................360 12.2.3 使用 Role 和 RoleBinding .............................................................363 12.2.4 使用 ClusterRole 和 ClusterRoleBinding ......................................367 12.2.5 了解默認(rèn)的 ClusterRole 和 ClusterRoleBinding ..........................376 12.2.6 理性地授予授限 ....................................................................379 12.3 本章小結(jié) ....................................................................................................379 13 保障集群內(nèi)節(jié)點和網(wǎng)絡(luò)安全 ................................................381 13.1 在 pod 中使用宿主節(jié)點的 Linux 命名空間 .............................................381 13.1.1 在 pod 中使用宿主節(jié)點的網(wǎng)絡(luò)命名空間 ....................................382 13.1.2 綁定宿主節(jié)點上的端口而不使用宿主節(jié)點的網(wǎng)絡(luò)命名空間 .......383 13.1.3 使用宿主節(jié)點的 PID 與 IPC 命名空間 .......................................385 13.2 配置節(jié)點的安全上下文 ............................................................................386 13.2.1 使用指定用戶運行容器 ................................................................387 13.2.2 阻止容器以 root 用戶運行 ............................................................388 13.2.3 使用特模式運行 pod .................................................................389 13.2.4 為容器單獨添加內(nèi)核功能 ............................................................390 13.2.5 在容器中用內(nèi)核功能 ................................................................391 13.2.6 阻止對容器根文件系統(tǒng)的寫入 ....................................................392 13.2.7 容器使用不同用戶運行時享存儲卷 ........................................394 13.3 pod 使用安全相關(guān)的特性 ................................................................396 13.3.1 PodSecurityPolicy 資源介紹 .........................................................396 13.3.2 了解 runAsUser、 fsGroup 和 supplementalGroup 策略 ...............398 13.3.3 配置允許、默認(rèn)添加、止使用的內(nèi)核功能 ............................400 13.3.4 pod 可以使用的存儲卷類型 ................................................402 13.3.5 對不同的用戶與組分配不同的 PodSecurityPolicy .....................402 13.4 隔離 pod 的網(wǎng)絡(luò) ........................................................................................406 13.4.1 在一個命名空間中啟用網(wǎng)絡(luò)隔離 ................................................406 13.4.2 允許同一命名空間中的部分 pod 訪問一個服務(wù)端 pod ...............407 13.4.3 在不同 Kubernetes 命名空間之間進行網(wǎng)絡(luò)隔離 ........................408 13.4.4 使用 CIDR 隔離網(wǎng)絡(luò) .....................................................................409 13.4.5 pod 的對外訪問流量 ............................................................409 13.5 本章小結(jié) ....................................................................................................410 14 計算資源管理 ...................................................................411 14.1 為 pod 中的容器申請資源 ........................................................................ 411 14.1.1 創(chuàng)建包含資源 requests 的 pod ......................................................412 14.1.2 資源 requests 如何影響調(diào)度 .........................................................413 14.1.3 CPU requests 如何影響 CPU 時間分配 .......................................418 14.1.4 定義和申請自定義資源 ................................................................418 14.2 容器的可用資源 ................................................................................419 14.2.1 設(shè)置容器可使用資源量的硬 ................................................419 14.2.2 過 limits ......................................................................................421 14.2.3 容器中的應(yīng)用如何看待 limits ......................................................422 14.3 了解 pod QoS 等級 ....................................................................................423 14.3.1 定義 pod 的 QoS 等級 ...................................................................424 14.3.2 內(nèi)存不足時哪個進程會被殺死 ....................................................426 14.4 為命名空間中的 pod 設(shè)置默認(rèn)的 requests 和 limits ...............................427 14.4.1 LimitRange 資源簡介 ....................................................................428 14.4.2 LimitRange 對象的創(chuàng)建 ................................................................428 14.4.3 制進行 ................................................................................430 14.4.4 應(yīng)用資源 requests 和 limits 的默認(rèn)值 ..........................................430 14.5 命名空間中的可用資源總量 ............................................................431 14.5.1 ResourceQuota 資源介紹 ..............................................................431 14.5.2 為持久化存儲指定配額 ................................................................434 14.5.3 可創(chuàng)建對象的個數(shù) ................................................................434 14.5.4 為特定的 pod 狀態(tài)或者 QoS 等級指定配額 ...............................435 14.6 監(jiān)控 pod 的資源使用量 ............................................................................436 14.6.1 收集、獲取實際資源使用情況 ....................................................437 14.6.2 保存并分析歷史資源的使用統(tǒng)計信息 ........................................439 14.7 本章小結(jié) ....................................................................................................442 15 自動橫向伸縮 pod 與集群節(jié)點 ............................................443 15.1 pod 的橫向自動伸縮 .................................................................................444 15.1.1 了解自動伸縮過程 ........................................................................444 15.1.2 基于 CPU 使用率進行自動伸縮 ..................................................447 15.1.3 基于內(nèi)存使用進行自動伸縮 ........................................................453 15.1.4 基于其他自定義度量進行自動伸縮 ............................................453 15.1.5 確定哪些度量適合用于自動伸縮 ................................................456 15.1.6 縮容到 0 個副本 ............................................................................456 15.2 pod 的縱向自動伸縮 .................................................................................456 15.2.1 自動配置資源請求 ........................................................................457 xxviii 目 錄 15.2.2 修改運行中 pod 的資源請求 ........................................................457 15.3 集群節(jié)點的橫向伸縮 ................................................................................457 15.3.1 Cluster Autoscaler 介紹 .................................................................457 15.3.2 啟用 Cluster Autoscaler .................................................................459 15.3.3 集群縮容時的服務(wù)干擾 ........................................................460 15.4 本章小結(jié) ....................................................................................................461 16 高級調(diào)度 .........................................................................463 16.1 使用污點和容忍度阻止節(jié)點調(diào)度到特定節(jié)點 ........................................463 16.1.1 介紹污點和容忍度 ........................................................................464 16.1.2 在節(jié)點上添加自定義污點 ............................................................466 16.1.3 在 pod 上添加污點容忍度 ............................................................467 16.1.4 了解污點和污點容忍度的使用場景 ............................................467 16.2 使用節(jié)點親緣性將 pod 調(diào)度到特定節(jié)點上 ............................................469 16.2.1 指定制性節(jié)點親緣性規(guī)則 ........................................................470 16.2.2 調(diào)度 pod 時優(yōu)先考慮某些節(jié)點 ....................................................472 16.3 使用 pod 親緣性與非親緣性對 pod 進行協(xié)同部署 ................................475 16.3.1 使用 pod 間親緣性將多個 pod 部署在同一個節(jié)點上 ................475 16.3.2 將 pod 部署在同一機柜、可用性區(qū)域或者地理地域 ................478 16.3.3 表達 pod 親緣性優(yōu)先級取代制性要求 ....................................479 16.3.4 利用 pod 的非親緣性分開調(diào)度 pod .............................................481 16.4 本章小結(jié) ....................................................................................................483 17 開發(fā)應(yīng)用的佳實踐 .........................................................485 17.1 集中一切資源 ............................................................................................486 17.2 了解 pod 的生命周期 ................................................................................487 17.2.1 應(yīng)用必須預(yù)料到會被殺死或者重新調(diào)度 ....................................487 17.2.2 重新調(diào)度死亡的或者部分死亡的 pod .........................................490 17.2.3 以固定順序啟動 pod .....................................................................491 17.2.4 增加生命周期鉤子 ........................................................................493 17.2.5 了解 pod 的關(guān)閉 ............................................................................497 17.3 確保所有的客戶端請求都得到了妥善處理 ............................................500 17.3.1 在 pod 啟動時避免客戶端連接斷開 ............................................500 17.3.2 在 pod 關(guān)閉時避免客戶端連接斷開 ............................................501 17.4 讓應(yīng)用在 Kubernetes 中方便運行和管理 ................................................505 17.4.1 構(gòu)建可管理的容器鏡像 ................................................................505 17.4.2 合理地給鏡像打標(biāo)簽,正確地使用 ImagePullPolicy ................506 17.4.3 使用多維度而不是單維度的標(biāo)簽 ................................................506 17.4.4 通過注解描述每個資源 ................................................................506 17.4.5 給進程終止提供更多的信息 ........................................................507 17.4.6 處理應(yīng)用日志 ................................................................................508 17.5 開發(fā)和測試的佳實踐 ............................................................................510 17.5.1 開發(fā)過程中在 Kubernetes 之外運行應(yīng)用 ....................................510 17.5.2 在開發(fā)過程中使用 Minikube ........................................................512 17.5.3 發(fā)布版本和自動部署資源清單 ....................................................513 17.5.4 使用 Ksonnet 作為編寫 YAML/JSON manifest 文件的額外選擇 ............................................................................513 17.5.5 利用持續(xù)集成和持續(xù)交付 ............................................................514 17.6 本章小結(jié) ....................................................................................................515 18 Kubernetes 應(yīng)用擴展 ........................................................517 18.1 定義自定義 API 對象 ................................................................................517 18.1.1 CustomResourceDefinitions 介紹 ..................................................518 18.1.2 使用自定義控制器自動定制資源 ................................................522 18.1.3 驗證自定義對象 ............................................................................526 18.1.4 為自定義對象提供自定義 API 服務(wù)器 ........................................527 18.2 使用 Kubernetes 服務(wù)目錄擴展 Kubernetes .............................................528 18.2.1 服務(wù)目錄介紹 ................................................................................529 18.2.2 服務(wù)目錄 API 服務(wù)器與控制器管理器介紹 ................................530 18.2.3 Service 代理和 OpenServiceBroker API .......................................530 18.2.4 提供服務(wù)與使用服務(wù) ....................................................................533 18.2.5 解除綁定與取消配置 ....................................................................535 18.2.6 服務(wù)目錄給我們帶來了什么 ........................................................535 18.3 基于 Kubernetes 搭建的平臺 ....................................................................536 18.3.1 紅帽 OpenShift 容器平臺 ..............................................................536 18.3.2 Deis Workflow 與 Helm .................................................................539 18.4 本章小結(jié) ....................................................................................................541 A 在多個集群中使用 kubectl ...................................................543 B 使用 kubeadm 配置多節(jié)點集群 ............................................549 C 使用其他容器運行時 ...........................................................563 D Cluster Federation .............................................................567
展開全部

KUBERNETES IN ACTION(中文版) 相關(guān)資料

本書由業(yè)內(nèi)知名的游戲 UI 設(shè)計師編寫,詳細介紹了游戲 UI 設(shè)計的理論知識和實戰(zhàn)技巧。本書內(nèi)容均是作者在實際游戲項目中的工作經(jīng)驗和教學(xué)成果,可以幫助零基礎(chǔ)的讀者成長為專業(yè)的游戲UI設(shè)計師,也可以幫助有經(jīng)驗的游戲 UI 設(shè)計師突破瓶頸并獲得長期的理論指導(dǎo)。全書分為 7 章,由淺入深地講解了游戲 UI 與游戲行業(yè)、游戲 UI 設(shè)計軟件、游戲 UI 繪練習(xí)與原理、游戲 UI 繪實戰(zhàn)、游戲 UI 項目與元素制作、游戲 UI 交互設(shè)計、游戲 UI 設(shè)計師的簡歷與面試。本書以實際游戲項目為案例,且配有教學(xué)視頻,操作驟講解細致、通俗易懂,適合在校學(xué)生、設(shè)計師、美術(shù)愛好者與想要轉(zhuǎn)入此行的朋友學(xué)習(xí)和使用。

KUBERNETES IN ACTION(中文版) 作者簡介

于海洋(YHY),從2008年入行至今,經(jīng)歷過客戶端、網(wǎng)頁與移動端游戲開發(fā)時代,做過原畫師、UI設(shè)計師、主美、美術(shù)總監(jiān)、游戲公合伙人、大學(xué)講師、精尖UI技能培訓(xùn)師與學(xué)校游戲?qū)W科帶頭人,為全國各大知名公培養(yǎng)了大量的游戲UI設(shè)計師與其他類型UI設(shè)計師人才。曾服務(wù)于靠前多個大型游戲研發(fā)公并參與多款大型游戲的研發(fā),如《仙劍奇?zhèn)b傳》《迪士尼嘉年華》《拳皇98優(yōu)選之戰(zhàn)OL》《魔法門之英雄:戰(zhàn)爭紀(jì)元》等。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服