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