基于Kubernetes的應(yīng)用容器云實(shí)戰(zhàn)
定 價(jià):99 元
叢書(shū)名:數(shù)字化人才職場(chǎng)賦能系列叢書(shū)
- 作者:開(kāi)課吧 組編
- 出版時(shí)間:2021/9/1
- ISBN:9787111689294
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類(lèi):TP316.85
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:16開(kāi)
本書(shū)以Kubernetes 18.6為平臺(tái),從容器云概念的理解到原理的驗(yàn)證,再到在企業(yè)應(yīng)用,全面講述了企業(yè)級(jí)容器云的實(shí)踐技術(shù)和關(guān)鍵步驟。本書(shū)著重介紹了Kubernetes的核心原理知識(shí)點(diǎn)、應(yīng)用遷移驗(yàn)證和Kubernetes企業(yè)線上運(yùn)維實(shí)戰(zhàn)項(xiàng)目,全書(shū)內(nèi)容體系完整,更加側(cè)重于應(yīng)用實(shí)踐與落地,書(shū)中配有大量的代碼示例,方便讀者學(xué)習(xí)。通過(guò)學(xué)習(xí)本書(shū),讀者將逐步擴(kuò)展初始應(yīng)用程序、添加特性并加深對(duì)Kubernetes架構(gòu)和操作的了解,還將探索高級(jí)的主題,如監(jiān)控、調(diào)優(yōu)和擴(kuò)容。無(wú)論是Kubernetes初學(xué)者還是有一定經(jīng)驗(yàn)的工程師,相信都能從本書(shū)中找到一些解決實(shí)際問(wèn)題的思路和方法。
本書(shū)適合系統(tǒng)架構(gòu)師、開(kāi)發(fā)和測(cè)試人員、運(yùn)維人員閱讀,對(duì)企業(yè) IT 主管、系統(tǒng)管理員、平臺(tái)管理員等同樣具有參考價(jià)值,同時(shí)也可作為高等院校云計(jì)算及容器技術(shù)方向的專(zhuān)業(yè)教材。
隨著容器技術(shù)的發(fā)展,容器編排技術(shù)應(yīng)運(yùn)而生,Kubernetes憑借其在Google內(nèi)部十多年的發(fā)展與優(yōu)化,一經(jīng)開(kāi)源,便得到了廣泛的關(guān)注。經(jīng)過(guò)激烈的競(jìng)爭(zhēng),Kubernetes目前已經(jīng)成為容器編排領(lǐng)域的實(shí)際標(biāo)準(zhǔn),大多數(shù)的企業(yè)也都在使用Kubernetes進(jìn)行企業(yè)的容器化改造。但由于Kubernetes中涉及比較多的抽象知識(shí),且Kubernetes應(yīng)用在企業(yè)容器云的改造中還需要考慮很多的問(wèn)題,比如,如何基于Kubernetes進(jìn)行持續(xù)集成、持續(xù)部署,如何對(duì)Kubernetes中的應(yīng)用進(jìn)行監(jiān)控與日志收集等。本書(shū)針對(duì)這些問(wèn)題,將理論與實(shí)踐結(jié)合,圍繞著Kubernetes在生產(chǎn)中的使用,進(jìn)行說(shuō)明與演示。
本書(shū)共分為6章,既可以從頭到尾連續(xù)閱讀,也可針對(duì)疑惑,單獨(dú)閱讀。第1章主要介紹了容器云的趨勢(shì),并進(jìn)行了容器與鏡像的操作實(shí)戰(zhàn)。第2章進(jìn)行了Kubernetes的搭建實(shí)戰(zhàn),并對(duì)Kubernetes的架構(gòu)與組件進(jìn)行了剖析。第3章闡述了Kubernetes中核心資源對(duì)象Pod、Deployment、Service、Ingress、ConifigMap、Volume、StatefulSet的核心原理并針對(duì)性地進(jìn)行應(yīng)用實(shí)戰(zhàn)。第4章圍繞如何將微服務(wù)遷移到Kubernetes中的主題展開(kāi),包括如何將應(yīng)用打造成鏡像、如何創(chuàng)建私有鏡像倉(cāng)庫(kù),以及如何將應(yīng)用抽象成Kubernetes中的資源對(duì)象等內(nèi)容。第5章的目標(biāo)是將Kubernetes上的應(yīng)用進(jìn)行持續(xù)集成與持續(xù)部署,使用Jenkins構(gòu)建一套成熟的流水線,把應(yīng)用打包成鏡像,并將鏡像推送到服務(wù)器進(jìn)行自動(dòng)化構(gòu)建,實(shí)現(xiàn)企業(yè)級(jí)的Pipeline的生產(chǎn)模式。第6章的目標(biāo)是持續(xù)化地運(yùn)維與監(jiān)控已經(jīng)部署在Kubernetes中的應(yīng)用,由此介紹了HPA技術(shù),它可以針對(duì)應(yīng)用的壓力情況進(jìn)行自動(dòng)擴(kuò)容與縮容,并對(duì)日志系統(tǒng)及監(jiān)控工具的安裝與部署進(jìn)行了說(shuō)明。
本書(shū)的第2、3、6章由姜秀麗編寫(xiě),第1、4、5章由胡斌編寫(xiě)。
寫(xiě)書(shū)的這段時(shí)間,很少能陪伴自己的家人,在此感謝家人的支持與理解。另外,特別感謝機(jī)械工業(yè)出版社的編輯老師們,本書(shū)能夠順利出版,離不開(kāi)他們的敬業(yè)與一絲不茍的精神。
由于編者水平有限,書(shū)中難免存在不妥之處,請(qǐng)讀者諒解,并提出寶貴意見(jiàn)。
編者
前言
●第1章容器化技術(shù)
1.1容器云概述
1.1.1容器技術(shù)為什么會(huì)火
1.1.2容器云時(shí)代是否來(lái)臨
1.1.3容器云部署演變歷程
1.2認(rèn)識(shí)Docker
1.2.1容器云之基石Docker
1.2.2Docker有哪些組件
1.2.3Docker架構(gòu)
1.2.4Docker安裝與啟動(dòng)
1.3鏡像的基本操作
1.3.1什么是Docker鏡像
1.3.2列出鏡像
1.3.3搜索鏡像
1.3.4拉取鏡像
1.3.5刪除鏡像
1.4容器的基本操作
1.4.1查看容器
1.4.2創(chuàng)建與啟動(dòng)容器
1.4.3停止與啟動(dòng)容器
1.4.4文件復(fù)制
1.4.5目錄掛載
1.4.6查看容器IP地址
1.4.7刪除容器
1.5Dockerfile
1.5.1什么是Dockerfile
1.5.2常用命令
1.5.3使用腳本創(chuàng)建鏡像
1.6容器化部署實(shí)例
1.6.1部署Tomcat
1.6.2部署MySQL
1.6.3部署Nginx
1.6.4部署Redis
1.7備份與遷移
1.8本章小結(jié)
●第2章容器編排技術(shù)Kubernetes
2.1初識(shí)Kubernetes
2.1.1Kubernetes概述
2.1.2Kubernetes能做什么
2.2Kubernetes的安裝
2.2.1環(huán)境準(zhǔn)備
2.2.2安裝Docker
2.2.3安裝kubeadm、kubelet 和
kubectl
2.2.4Master初始化
2.2.5安裝網(wǎng)絡(luò)插件
2.2.6Worker加入集群
2.3Kubernetes集群總覽
2.4Worker節(jié)點(diǎn)的運(yùn)行機(jī)制
2.5Master節(jié)點(diǎn)的運(yùn)行機(jī)制
2.6Pod的創(chuàng)建流程
2.7本章小結(jié)
●第3章Kubernetes核心原理與
實(shí)踐
3.1Pod小調(diào)度單位
3.1.1初識(shí)Pod
3.1.2Pod的生命周期
3.1.3Metrics-Server采集資源
3.1.4Pod資源配額案例
3.1.5配置liveness probe
3.1.6配置readiness probe
3.2Deployment無(wú)狀態(tài)部署
3.2.1認(rèn)識(shí)Deployment
3.2.2實(shí)現(xiàn)滾動(dòng)升級(jí)
3.2.3版本回滾案例
3.3Service服務(wù)暴露
3.3.1ClusterIP Service
3.3.2Headless Service
3.3.3NodePort Service
3.3.4ExternalName Service
3.3.5LoadBalancer Service
3.4Ingress服務(wù)暴露
3.4.1什么是Ingress
3.4.2安裝 Ingress 控制器
3.4.3基于路徑區(qū)別Service
3.4.4基于域名區(qū)別Service
3.5ConfigMap配置
3.5.1創(chuàng)建ConfigMap(基于文件)
3.5.2創(chuàng)建ConfigMap(基于目錄)
3.5.3創(chuàng)建ConfigMap(基于字
面值)
3.5.4在Pod中使用ConfigMap(環(huán)境
變量)
3.5.5在Pod中使用ConfigMap(數(shù)據(jù)卷
方式)
3.6Volume存儲(chǔ)卷
3.6.1emptyDir
3.6.2hostPath
3.6.3Downward API
3.6.4持久存儲(chǔ)卷PV
3.7StatefulSet有狀態(tài)服務(wù)
3.7.1認(rèn)識(shí)StatefulSet
3.7.2穩(wěn)定的網(wǎng)絡(luò)標(biāo)識(shí)符
3.7.3固定的持久化存儲(chǔ)
3.8本章小結(jié)
●第4章應(yīng)用遷移到Kubernetes
4.1應(yīng)用鏡像整合
4.1.1Docker開(kāi)啟遠(yuǎn)程訪問(wèn)
4.1.2IDEA安裝Docker插件
4.1.3IDEA配置Docker
4.1.4docker-maven-plugin
4.1.5dockerfile
4.2私有鏡像倉(cāng)庫(kù)
4.2.1Harbor簡(jiǎn)介
4.2.2Harbor架構(gòu)
4.2.3安裝compose
4.2.4Harbor安裝
4.2.5登錄Harbor
4.2.6上傳鏡像
4.3應(yīng)用的抽象
4.3.1應(yīng)用服務(wù)的結(jié)構(gòu)
4.3.2Dockerfile鏡像構(gòu)建
4.3.3Deployment
4.3.4Service 4層負(fù)載
4.3.5Ingress 7層負(fù)載
4.3.6HPA動(dòng)態(tài)擴(kuò)縮容
4.4本章小結(jié)
●第5章持續(xù)集成與持續(xù)部署
5.1持續(xù)集成、支付與部署
5.1.1持續(xù)集成
5.1.2持續(xù)交付
5.1.3持續(xù)部署
5.2DevOps的基本概念
5.3DevOps工具鏈
5.4Jenkins部署實(shí)踐
5.4.1Jenkins是什么
5.4.2Jenkins安裝
5.4.3Jenkins構(gòu)建
5.4.4Jenkins鏡像制作
5.4.5Jenkins-slave
5.5DevOps實(shí)踐
5.5.1Jenkins私有憑證
5.5.2Harbor憑證
5.5.3Kubernetes憑證
5.5.4Pipeline
5.5.5發(fā)布到Kubernetes
5.6本章小結(jié)
●第6章基于Kubernetes的線上運(yùn)維
實(shí)戰(zhàn)
6.1水平自動(dòng)伸縮HPA
6.1.1為什么用HPA
6.1.2什么是HPA
6.1.3基于CPU的HPA實(shí)踐
6.1.4HPA其他特性
6.2可視化工具:Kubernetes
儀表盤(pán)
6.2.1安裝Kubernetes儀表盤(pán)
6.2.2Kubernetes儀表盤(pán)之命名
空間
6.2.3Kubernetes儀表盤(pán)之監(jiān)控
資源
6.2.4Kubernetes儀表盤(pán)之管理
資源
6.2.5Kubernetes儀表盤(pán)總結(jié)
6.3應(yīng)用的日志收集實(shí)戰(zhàn)
6.3.1Fluentd的安裝與配置
6.3.2ElasticSearch的安裝
6.3.3Kibana的安裝與配置
6.3.4EFK的使用實(shí)踐
6.4應(yīng)用的指標(biāo)監(jiān)控實(shí)戰(zhàn)
6.4.1什么是Prometheus
6.4.2Prometheus的安裝文件
6.4.3Prometheus的安裝配置
6.4.4Prometheus的使用實(shí)踐
6.5本章小結(jié)