Kubernetes快速進(jìn)階與實(shí)戰(zhàn)
定 價(jià):¥89
中 教 價(jià):¥52.51 (5.90折)促銷
庫(kù) 存 數(shù): 1
本書(shū)精選Kubernetes的硬核知識(shí),幫助讀者快速進(jìn)階和積累Kubernetes實(shí)戰(zhàn)經(jīng)驗(yàn)。本書(shū)共8章,主要包括認(rèn)識(shí)Kubernetes,快速構(gòu)建Kubernetes集群,Kubernetes核心對(duì)象使用,Kubernetes容器編排實(shí)踐,Kubernetes系統(tǒng)運(yùn)維與故障處理,構(gòu)建Kubernetes高可用集群,Kubernetes監(jiān)控與告警(Prometheus Grafana)和基于Kubernetes的CI/CD項(xiàng)目綜合實(shí)踐(GitLab Harbor Jenkins)。本書(shū)前三章可以幫助讀者快速掌握Kubernetes核心知識(shí)和高頻操作;第4、第5章幫助讀者快速掌握Kubernetes的進(jìn)階使用;第6~8章是Kubernetes及其外圍系統(tǒng)的綜合應(yīng)用,幫助讀者快速積累實(shí)戰(zhàn)經(jīng)驗(yàn)。本書(shū)既可以作為云原生及相關(guān)行業(yè)從業(yè)者的技術(shù)參考書(shū),也可以作為高等院校計(jì)算機(jī)、云計(jì)算和大數(shù)據(jù)相關(guān)專業(yè)的教材。
一本書(shū)講透k8s基礎(chǔ),k8s集群的安裝、配置、管理、監(jiān)控,k8s集群的自動(dòng)化部署、運(yùn)維與容器編排,豐富的實(shí)踐案例幫助讀者快速積累k8s實(shí)戰(zhàn)經(jīng)驗(yàn)。配套資源豐富,包括關(guān)鍵示例程序源代碼、配置文件、數(shù)據(jù)文件,以及配套的《實(shí)踐手冊(cè)》免費(fèi)電子書(shū)、系列高清課程視頻,方便讀者參考學(xué)習(xí)。
前言Kubernetes是由Google開(kāi)源的一個(gè)容器編排(Orchestration)系統(tǒng),它實(shí)現(xiàn)了集群中容器管理、部署、遷移和擴(kuò)展的自動(dòng)化。自2014年開(kāi)源以來(lái),Kubernetes經(jīng)過(guò)多個(gè)版本的迭代和完善,已經(jīng)廣泛用于生產(chǎn)環(huán)境。Google、Microsoft、Amazon、阿里和騰訊等知名企業(yè),都提供云上的Kubernetes服務(wù),阿里自身的核心應(yīng)用更是全部運(yùn)行在Kubernetes之上。Linux基金會(huì)報(bào)告顯示,2021年,云原生技術(shù)首次超過(guò)Linux自身,成為最熱門(mén)的開(kāi)源技術(shù),而Kubernetes作為云原生技術(shù)的代表,則更是熱門(mén)中的熱門(mén)。因此,對(duì)于IT從業(yè)人員而言,Kubernetes是一個(gè)重要的加分項(xiàng)和加薪項(xiàng),Kubernetes學(xué)得越早,掌握得越好,就越會(huì)成為自身的一個(gè)優(yōu)勢(shì)。然而從學(xué)習(xí)的角度而言,Kubernetes涉及的概念新、概念多,而且需要很多的前置知識(shí),例如Linux、網(wǎng)絡(luò)、虛擬化、Docker容器等;而且Kubernetes是面向整個(gè)集群的容器編排,在架構(gòu)、運(yùn)行機(jī)制和使用上更為復(fù)雜;再加上Kubernetes是一個(gè)底層基礎(chǔ)設(shè)施,幾乎所有的應(yīng)用都需要進(jìn)行遷移,這些都增加了Kubernetes的學(xué)習(xí)難度。為此,筆者根據(jù)自身在Kubernetes上的研發(fā)和使用經(jīng)驗(yàn),編寫(xiě)了《Kubernetes快速進(jìn)階與實(shí)戰(zhàn)》這本書(shū),本書(shū)共8章,主要包括認(rèn)識(shí)Kubernetes、快速構(gòu)建Kubernetes集群、Kubernetes核心對(duì)象使用、Kubernetes容器編排實(shí)踐、Kubernetes系統(tǒng)運(yùn)維與故障處理、構(gòu)建Kubernetes高可用集群、Kubernetes監(jiān)控與告警(Prometheus Grafana)和基于Kubernetes的CI/CD項(xiàng)目綜合實(shí)踐(GitLab Harbor Jenkins)。此外,本書(shū)還提供配套的《實(shí)踐手冊(cè)》免費(fèi)電子書(shū)和虛擬機(jī)使用等免費(fèi)高清視頻資源供讀者參考學(xué)習(xí)。這不是一本大而全的字典書(shū),本書(shū)只講解Kubernetes的硬核知識(shí),旨在幫助讀者快速入門(mén)和進(jìn)階Kubernetes,快速積累Kubernetes實(shí)戰(zhàn)經(jīng)驗(yàn),少走彎路、少踩坑。其中,前三章可以幫助讀者快速掌握Kubernetes核心知識(shí)、上手Kubernetes高頻操作;第4、第5章幫助讀者快速掌握Kubernetes的進(jìn)階使用;第6~8章是Kubernetes及其外圍系統(tǒng)的綜合應(yīng)用,幫助讀者快速積累實(shí)戰(zhàn)經(jīng)驗(yàn)。如果把學(xué)習(xí)Kubernetes比作穿越叢林,那么本書(shū)將給學(xué)習(xí)者最精簡(jiǎn)和有用的裝備,提供有效的訓(xùn)練,快速積累實(shí)戰(zhàn)經(jīng)驗(yàn);指出一條可行的路徑,為學(xué)習(xí)者在有限的時(shí)間內(nèi)穿越叢林提供保障;進(jìn)而可以利用這些裝備,自行去開(kāi)發(fā)和探索新的路線。本書(shū)既可以作為云原生及相關(guān)行業(yè)從業(yè)者的技術(shù)參考書(shū),也可以作為高等院校計(jì)算機(jī)、云計(jì)算和大數(shù)據(jù)相關(guān)專業(yè)的教材。感謝機(jī)械工業(yè)出版社的策劃編輯王斌(IT大公雞),在長(zhǎng)達(dá)數(shù)月的時(shí)間內(nèi),我們就本書(shū)的整體結(jié)構(gòu)和內(nèi)容細(xì)節(jié)進(jìn)行了多次細(xì)致而又高效的交流,他從專業(yè)的角度給予了很多中肯的建議,在此特別表示感謝!感謝一直以來(lái),關(guān)心幫助我成長(zhǎng)的家人、老師、領(lǐng)導(dǎo)、同學(xué)和朋友們!時(shí)間緊、任務(wù)急,書(shū)中疏漏、錯(cuò)誤之處在所難免,如果讀者在閱讀過(guò)程中有任何疑問(wèn),可以通過(guò)作者郵箱:spark_aishu@126.com聯(lián)系作者。艾 叔 2022.08
文艾(艾叔),解放軍理工大學(xué)-奇虎360云計(jì)算聯(lián)合實(shí)驗(yàn)室原技術(shù)負(fù)責(zé)人,系統(tǒng)分析師,51CTO學(xué)院嚴(yán)選講師;具有多年Linux下的開(kāi)發(fā)、運(yùn)維和教學(xué)經(jīng)驗(yàn),對(duì)Linux下的Docker、Kubernetes、Hadoop和Spark等系統(tǒng)有深入研究和豐富的實(shí)踐經(jīng)驗(yàn);帶領(lǐng)團(tuán)隊(duì)完成了華為、中興和奇虎360等公司的多個(gè)校企合作Linux相關(guān)項(xiàng)目;指導(dǎo)零基礎(chǔ)本科生參加科技創(chuàng)新競(jìng)賽和編程大賽,共獲得全國(guó)特等獎(jiǎng)1次,一等獎(jiǎng)2次,二等獎(jiǎng)2次;通過(guò)艾叔編程公眾號(hào)和網(wǎng)易云課堂開(kāi)設(shè)了一系列Linux相關(guān)的免費(fèi)課程,已幫助8萬(wàn)多名學(xué)習(xí)者入門(mén)編程并深受好評(píng)。
目錄前言第1章 認(rèn)識(shí)Kubernetes11.1 Kubernetes概述11.1.1 Kubernetes的定義和背景11.1.2 Kubernetes與Docker31.1.3 Kubernetes與云原生41.2 Kubernetes 核心概念51.2.1 resourceKubernetes的組成元素51.2.2 Kubernetes object定義Kubernetes運(yùn)行狀態(tài)101.2.3 Pod實(shí)現(xiàn)Kubernetes中容器的邏輯組合111.2.4 RC/RS控制Pod副本個(gè)數(shù)121.2.5 Deployment在Kubernetes中部署應(yīng)用131.2.6 Service以統(tǒng)一的方式對(duì)外提供服務(wù)131.2.7 其他核心概念141.3 Kubernetes 系統(tǒng)架構(gòu)151.3.1 Control Plane151.3.2 Node171.3.3 Addons181.3.4 kubectl181.4 高效學(xué)習(xí)Kubernetes191.4.1 Kubernetes快速學(xué)習(xí)路線圖191.4.2 利用本書(shū)資源高效學(xué)習(xí)Kubernetes(重點(diǎn)必讀)191.4.3 本書(shū)所使用的軟件和版本22第2章 快速構(gòu)建Kubernetes集群232.1 Kubernetes集群規(guī)劃232.2 準(zhǔn)備Kubernetes集群節(jié)點(diǎn)232.2.1 定制VMware虛擬機(jī)(實(shí)踐1)232.2.2 小化安裝CentOS 8(實(shí)踐2)242.2.3 遠(yuǎn)程登錄與文件傳輸(實(shí)踐3)242.2.4 ssh遠(yuǎn)程無(wú)密碼登錄242.2.5 Docker安裝與使用252.3 kubeadm安裝與系統(tǒng)配置302.4 快速構(gòu)建Control Plane352.5 為Kubernetes增加Node節(jié)點(diǎn)38第3章 Kubernetes核心對(duì)象使用443.1 使用YAML創(chuàng)建Kubernetes resource443.2 Pod典型使用473.3 RC/RS基本操作(實(shí)踐4)513.4 Deployment典型使用(實(shí)踐5)513.5 Service典型使用(實(shí)踐6)52第4章 Kubernetes容器編排實(shí)踐534.1 Pod容器調(diào)度534.2 Pod多容器運(yùn)行(實(shí)踐 7)554.3 Pod容器數(shù)據(jù)持久化存儲(chǔ)(PersistentVolume)564.3.1 安裝NFS564.3.2 創(chuàng)建pv和pvc584.3.3 創(chuàng)建Deployment使用持久化存儲(chǔ)604.4 Ingress實(shí)現(xiàn)統(tǒng)一訪問(wèn)Pod容器服務(wù)624.4.1 創(chuàng)建購(gòu)物網(wǎng)站的Deployment624.4.2 創(chuàng)建購(gòu)物網(wǎng)站的Service644.4.3 創(chuàng)建購(gòu)書(shū)網(wǎng)站的Deployment654.4.4 創(chuàng)建購(gòu)書(shū)網(wǎng)站的Service664.4.5 創(chuàng)建ingress controller664.4.6 創(chuàng)建Ingress684.4.7 按路徑統(tǒng)一訪問(wèn)Pod容器的服務(wù)704.5 Pod容器自動(dòng)伸縮(HPA)714.5.1 編寫(xiě)HPA YAML文件714.5.2 創(chuàng)建監(jiān)控對(duì)象和HPA734.5.3 HPA伸縮算法744.5.4 HPA自動(dòng)伸縮測(cè)試74第5章 Kubernetes系統(tǒng)運(yùn)維與故障處理785.1 Pod容器的高可用實(shí)踐(實(shí)踐8)785.2 Kubernetes節(jié)點(diǎn)性能數(shù)據(jù)采集785.3 使用k8dash快速監(jiān)控Kubernetes805.4 Kubernetes系統(tǒng)運(yùn)維常用操作835.4.1 增加kubectl節(jié)點(diǎn)835.4.2 停止Kubernetes組件Pod中的容器845.4.3 重置Kubernetes集群節(jié)點(diǎn)855.4.4 查看和設(shè)置Kubernetes組件的啟動(dòng)參數(shù)855.4.5 運(yùn)行Pod容器命令885.4.6 查看Pod容器網(wǎng)卡名895.4.7 復(fù)制文件到Pod容器895.4.8 查看指定進(jìn)程監(jiān)聽(tīng)的端口905.5 查看Kubernetes日志905.5.1 系統(tǒng)日志905.5.2 Kubernetes組件日志915.5.3 Pod啟動(dòng)信息和容器日志915.6 Kubernetes故障處理925.6.1 處理故障Pod925.6.2 容器故障調(diào)試94第6章 構(gòu)建Kubernetes高可用集群966.1 Kubernetes 高可用集群的架構(gòu)與規(guī)劃966.2 構(gòu)建高可用負(fù)載均衡器(Keepalived LVS)986.2.1 構(gòu)建LB節(jié)點(diǎn)996.2.2 構(gòu)建RS節(jié)點(diǎn)1026.2.3 構(gòu)建Client節(jié)點(diǎn)1056.2.4 測(cè)試LB HA1066.3 構(gòu)建基于Keepalived的Kubernetes高可用集群1106.3.1 配置Keepalived1106.3.2 構(gòu)建Control Plane1116.3.3 構(gòu)建Node節(jié)點(diǎn)1146.3.4 Kubernetes 高可用性測(cè)試115第7章 Kubernetes監(jiān)控與告警 (Prometheus Grafana)1197.1 Kubernetes系統(tǒng)組件指標(biāo)(Metrics)1197.2 Prometheus監(jiān)控Kubernetes1257.2.1 Prometheus架構(gòu)和核心概念1257.2.2 Prometheus 快速部署(kube-prometheus)1277.2.3 Prometheus 監(jiān)控機(jī)制與配置1317.2.4 Prometheus 監(jiān)控 Kubernetes 核心組件1407.2.5 Prometheus 監(jiān)控 Kubernetes 指定對(duì)象(Exporter)1457.3 Grafana展示Kubernetes監(jiān)控數(shù)據(jù)1527.3.1 Grafana 快速訪問(wèn)1527.3.2 Grafana 展示 Prometheus 數(shù)據(jù)源數(shù)據(jù)(Kubernetes)1547.3.3 Grafana 展示其他數(shù)據(jù)源的數(shù)據(jù)1607.3.4 Grafana 配置的持久化存儲(chǔ)1647.4 Kubernetes 監(jiān)控告警1717.4.1 Prometheus 告警機(jī)制1717.4.2 查看Prometheus 告警1717.4.3 Prometheus告警規(guī)則(Rule)1757.4.4 配置Prometheus 告警發(fā)送郵件1827.4.5 Grafana 告警配置與郵件通知188第8章 基于Kubernetes的CI/CD項(xiàng)目綜合實(shí)踐(GitLab Harbor Jenkins)1988.1 CI/CD核心概念與基礎(chǔ)1988.2 太空入侵者游戲CI/CD方案設(shè)計(jì)1998.2.1 系統(tǒng)架構(gòu)與集群規(guī)劃1998.2.2 CI/CD開(kāi)發(fā)流程2008.3 構(gòu)建太空入侵者游戲開(kāi)發(fā)與測(cè)試環(huán)境2018.3.1 構(gòu)建承載和測(cè)試節(jié)點(diǎn)devt虛擬機(jī)2018.3.2 構(gòu)建開(kāi)發(fā)節(jié)點(diǎn)spaceinv容器2028.3.3 構(gòu)建代碼管理倉(cāng)庫(kù)GitLab2058.3.4 構(gòu)建容器鏡像倉(cāng)庫(kù)Harbor2178.3.5 構(gòu)建持續(xù)集成工具J