欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • Kubernetes从入门到DevOps企业应用实战
      • 作者:编者:韩先超|责编:王金柱
      • 出版社:清华大学
      • ISBN:9787302644347
      • 出版日期:2023/09/01
      • 页数:460
    • 售价:51.2
  • 内容大纲

        本书以实战为主,内容涵盖容器技术、Kubernetes核心资源以及基于Kubernetes的企业级实践。从容器基础知识开始,由浅入深,阐述Kubernetes各个方面的知识,并提供大量实际项目和应用场景。全书共20章,第1~3章讲解容器技术,这是理解Kubernetes的必要基础,主要介绍容器的定义、创建和管理容器、容器网络和存储等方面的知识。第4章讲解如何使用Kubeadm和二进制文件安装高可用Kubernetes集群。第5~12章讲解Kubernetes的核心资源,包括Pod、Deployment、Service、Ingress等资源的定义、使用和管理方法,以及实际应用场景。第13~20章讲解基于Kubernetes的企业实践,介绍如何使用Kubernetes解决实际问题,包括使用Kubernetes进行应用程序的部署、容器云平台的构建、流量治理、监控、自动化扩缩容和灰度发布等项目与案例。
        本书基于Kubernetes 1.27新版本编写(本书的内容也适合1.20之后的所有版本),从零基础开始,涵盖理论知识、企业级案例,以及自动化运维DevOps体系和一些大厂架构设计思路,适合云原生领域的从业者、Kubernetest初学者、运维和开发人员使用,也可以作为企业内训、培训机构和大中专院校的教学用书。
  • 作者介绍

        韩先超     高级运维,Kubernetes架构师,国内最早一批Kubernetes布道者,曾就职于世界500强上市公司,拥有RHCE、RHCA、CKA等认证证书,对于Linux、DevOps、Kubernetes和自动化等领域有着深入的理解和实践经验。     在CSDN、51CTO等平台发表过多篇Linux、DevOps、Kubernetes、自动化等方面的文章,累计阅读量突破100万;在51CTO平台的Kubernetes课程拥有近200万学员;推出的Kubernetes课程被选入工信部人才交流中心官方认证课程。     在2021年5月28日由51CTO主办,中关村数智人工智能产业联盟指导的《数启创新云触未来!Web3.0云响力新一代云计算大会》中作为主讲嘉宾分享Kubernetes如何助力企业转型,被北京日报和环球网发文专题报道;受Linux基金会邀请,作为主讲嘉宾分享Kubernetes在企业中的发展趋势和具体应用场景;曾为国家电网、振兴银行、中国移动、中国电信,天翼物联、任子行等大型企业提供Kubernetes技术培训;还积极参与企业内训项目,为各大企业提供技术培训和解决方案支持。
  • 目录

    第1章  Docker初探
      1.1  Docker概述
        1.1.1  Docker是什么
        1.1.2  Docker的版本
        1.1.3  学习Docker的方式
      1.2  Docker的组成与特点
        1.2.1  Docker的组成
        1.2.2  Docker的特点
      1.3  安装和配置Docker
        1.3.1  配置主机名
        1.3.2  关闭Firewalld防火墙
        1.3.3  关闭SELinux
        1.3.4  配置时间同步
        1.3.5  编写计划任务
        1.3.6  重启crond服务使计划任务生效
        1.3.7  安装基础软件包
        1.3.8  安装Docker-CE
        1.3.9  修改内核参数
        1.3.10  配置Docker镜像加速器
      1.4  Docker镜像与容器
        1.4.1  Docker镜像
        1.4.2  Docker容器
      1.5  案例:通过Docker部署Nginx服务
        1.5.1  基于CentOS镜像运行一个Docker容器
        1.5.2  查看Docker容器是否正常运行
        1.5.3  在Docker中安装Nginx容器
        1.5.4  在Docker容器中通过yum安装Nginx
      1.6  本章小结
    第2章  Dockerfile构建企业级镜像
      2.1  Dockerfile语法详解
      2.2  Dockerfile构建企业级镜像
        2.2.1  案例:Dockerfile构建Nginx镜像
        2.2.2  案例:Dockerfile构建Tomcat镜像
      2.3  本章小结
    第3章  Docker私有镜像仓库Harbor
      3.1  Harbor的概念及证书签发
      3.2  安装Harbor
      3.3  Harbor图形界面使用说明
      3.4  测试使用Harbor私有镜像仓库
      3.5  Harbor高可用
      3.6  本章小结
    第4章  Kubeadm快速搭建Kubernetes集群
      4.1  初始化实验环境
        4.1.1  配置静态IP地址
        4.1.2  配置机器主机名
        4.1.3  配置主机hosts文件
        4.1.4  配置控制节点到工作节点无密码登录
        4.1.5  关闭交换分区
        4.1.6  修改机器内核参数
        4.1.7  关闭Firewalld防火墙

        4.1.8  关闭SELinux
        4.1.9  配置安装Docker和Containerd需要的阿里云的在线yum源
        4.1.10  配置安装Kubernetes组件需要的阿里云的在线yum源
        4.1.11  配置时间同步
        4.1.12  安装Docker-CE和Containerd服务
      4.2  安装Kubernetes集群
        4.2.1  安装初始化Kubernetes集群需要的软件包
        4.2.2  Kubeadm初始化Kubernetes集群
        4.2.3  配置Kubectl的配置文件config
      4.3  扩容Kubernetes集群
        4.3.1  添加第一个工作节点
        4.3.2  添加第二个工作节点
      4.4  安装Kubernetes网络插件Calico
        4.4.1  安装Calico
        4.4.2  Calico的配置
        4.4.3  calico-kube-controllers解析
      4.5  测试Kubernetes集群是否健康
        4.5.1  测试在Kubernetes中创建的Pod是否可以正常访问网络
        4.5.2  测试CoreDNS是否正常
        4.5.3  延长证书
      4.6  本章小结
    第5章  Kubernetes核心资源Pod
      5.1  Pod是什么
        5.1.1  Pod基本介绍
        5.1.2  Pod如何管理多个容器
        5.1.3  Pod网络
        5.1.4  Pod存储
      5.2  Pod的工作方式
        5.2.1  自主式Pod
        5.2.2  控制器管理的Pod
      5.3  如何创建一个Pod资源
        5.3.1  通过YAML文件创建Pod资源
        5.3.2  Pod资源清单编写技巧
        5.3.3  创建一个完整的Pod资源
        5.3.4  和Pod相关的命令解读
      5.4  nodeName和nodeSelector
        5.4.1  nodeName实例
        5.4.2  nodeSelector实例
      5.5  亲和性、污点和容忍度
        5.5.1  节点亲和性
        5.5.2  Pod亲和性和反亲和性
        5.5.3  污点和容忍度
      5.6  Pod生命周期和健康探测
        5.6.1  初始化容器initcontainer
        5.6.2  存活探测
        5.6.3  就绪探测
        5.6.4  容器钩子
      5.7  本章小结
    第6章  ReplicaSet和Deployment控制器管理Pod
      6.1  ReplicaSet如何管理Pod

        6.1.1  ReplicaSet概述
        6.1.2  ReplicaSet资源清单文件的编写技巧
      6.2  ReplicaSet管理Pod案例:部署Guestbook留言板
      6.3  ReplicaSet管理Pod实例:扩容、缩容、更新
      6.4  Deployment如何管理Pod
        6.4.1  Deployment概述
        6.4.2  Deployment如何管理ReplicaSet和Pod
      6.5  Deployment资源清单文件的编写技巧
        6.5.1  查看Deployment资源对象YAML文件的组成
        6.5.2  查看Deployment下的spec字段
      6.6  Deployment管理Pod案例解析
      6.7  Deployment管理Pod:扩容和缩容
        6.7.1  电商网站访问量急增——扩容Pod
        6.7.2  电商网站淡季或业务低峰期——缩容Pod
      6.8  基于Deployment实现Pod滚动更新——WebApp应用版本升级
      6.9  本章小结
    第7章  Service四层负载均衡
      7.1  Service的概念与原理
        7.1.1  Service基本介绍
        7.1.2  Kubernetes集群中的3类IP地址
      7.2  创建Service资源
        7.2.1  创建Service资源的方法
        7.2.2  案例:用YAML文件创建Service资源
        7.2.3  查看定义Service资源需要的字段
        7.2.4  Service的4种Type类型
        7.2.5  Service的端口定义
        7.2.6  创建Service:类型是ClusterIP
        7.2.7  创建Service:类型是NodePort
        7.2.8  创建Service:类型是ExternalName
      7.3  本章小结
    第8章  Kubernetes持久化存储
      8.1  Kubernetes支持的持久化存储类型
        8.1.1  Kubernetes持久化存储:emptyDir案例
        8.1.2  Kubernetes持久化存储:hostPath案例
        8.1.3  Kubernetes持久化存储:NFS案例
      8.2  Kubernetes持久化存储:PV和PVC
        8.2.1  PV和PVC概述
        8.2.2  创建Pod,使用PVC作为持久化存储卷
      8.3  Kubernetes存储类:StorageClass
      8.4  本章小结
    第9章  Kubernetes控制器:StatefulSet
      9.1  StatefulSet控制器的概念和原理
        9.1.1  为什么使用Headless Service
        9.1.2  为什么使用volumeClaimTemplate
      9.2  StatefulSet资源清单文件的编写技巧
        9.2.1  定义API版本和资源类型
        9.2.2  定义StatefulSet的spec字段
        9.2.3  定义Pod模板
      9.3  StatefulSet使用案例:部署Web站点
        9.3.1  创建存储类

        9.3.2  创建StatefulSet资源
        9.3.3  查看StatefulSet是否创建成功
        9.3.4  查看StatefulSet管理的Pod
      9.4  StatefulSet管理Pod:扩容、缩容和更新案例
        9.4.1  案例1:扩容
        9.4.2  案例2:缩容
        9.4.3  案例3:更新
      9.5  本章小结
    第10章  Kubernetes控制器:DaemonSet
      10.1  DaemonSet如何管理Pod
      10.2  DaemonSet资源创建方法
        10.2.1  DaemonSet资源清单的定义方法
        10.2.2  DaemonSet使用案例:部署日志收集组件Fluentd
        10.2.3  DaemonSet管理Pod:滚动更新
      10.3  本章小结
    第11章  配置管理中心ConfigMap和Secret
      11.1  ConfigMap概述
      11.2  ConfigMap的创建方法
      11.3  案例:使用ConfigMap维护Pod中容器的配置信息
        11.3.1  通过环境变量引入:configMapKeyRef
        11.3.2  通过环境变量引入:使用envfrom
        11.3.3  把ConfigMap做成Volume,挂载到Pod
      11.4  Secret基本介绍及使用案例
      11.5  本章小结
    第12章  Ingress和Ingress Controller
      12.1  Ingress和Ingress Controller基本介绍和安装
        12.1.1  使用Ingress Controller代理Kubernetes内部Pod的流程
        12.1.2  安装Ingress Controller
      12.2  案例:测试Ingress HTTP代理Tomcat
      12.3  本章小结
    第13章  搭建Prometheus+Grafana监控平台
      13.1  Prometheus基本介绍
        13.1.1  Prometheus的特点
        13.1.2  Prometheus生态系统常用组件介绍
        13.1.3  Prometheus采集数据流程
        13.1.4  Prometheus查询语言PromQL
      13.2  安装和配置Prometheus
        13.2.1  安装和配置Prometheus
        13.2.2  监控利器Node-Exporter
      13.3  可视化UI界面Grafana的安装和配置
        13.3.1  Grafana介绍
        13.3.2  安装Grafana
        13.3.3  Grafana界面接入Prometheus数据源
      13.4  配置Alertmanager发送告警
        13.4.1  案例:配置Alertmanager发送告警到QQ邮箱
        13.4.2  案例:配置Alertmanager发送告警到钉钉群组
      13.5  本章小结
    第14章  基于Jenkins+Kubernetes构建企业级DevOps容器云平台
      14.1  Kubernetes助力DevOps企业落地实践
        14.1.1  DevOps的基本概念

        14.1.2  Kubernetes在DevOps中的核心作用
        14.1.3  在Kubernetes集群安装和配置Jenkins
        14.1.4  案例:使用Jenkins将代码自动化部署到Kubernetes集群
      14.2  Jenkins Pipeline语法介绍
        14.2.1  Jenkins Pipeline介绍
        14.2.2  为什么用Jenkins Pipeline
        14.2.3  Jenkins Pipeline声明式语法
        14.2.4  Jenkins Pipeline脚本式语法
      14.3  本章小结
    第15章  新一代服务网格Istio结合Kubernetes实现流量治理
      15.1  认识Istio服务网格
        15.1.1  Istio服务网格概述
        15.1.2  Istio的核心特性
        15.1.3  Istio的架构与功能
      15.2  Istio组件详解
        15.2.1  Pilot
        15.2.2  Envoy
        15.2.3  Citadel
        15.2.4  Galley
        15.2.5  其他组件
      15.3  在Kubernetes平台安装Istio
        15.3.1  准备安装Istio的压缩包
        15.3.2  安装Istio
      15.4  案例:Istio结合Kubernetes部署在线书店Bookinfo
        15.4.1  在线书店(Bookinfo)项目介绍
        15.4.2  在线书店的部署
        15.4.3  启动应用服务
        15.4.4  卸载Bookinfo服务
      15.5  通过Istio实现灰度发布
        15.5.1  什么是灰度发布
        15.5.2  使用Istio进行金丝雀发布
      15.6  Istio流量治理实例
        15.6.1  断路器
        15.6.2  超时
        15.6.3  故障注入和重试
      15.7  分布式追踪系统Jaeger
      15.8  分布式追踪系统Kiali
      15.9  本章小结
    第16章  高并发场景下基于Kubernetes实现自动扩缩容
      16.1  Metrics Server在自动扩缩容中的核心作用
        16.1.1  Metrics Server的部署方式
        16.1.2  Metrics Server的具体应用
      16.2  水平Pod自动扩缩容HPA
        16.2.1  HPA基本介绍
        16.2.2  HPA设置和使用案例
      16.3  垂直Pod自动扩缩容VPA
        16.3.1  VPA基本介绍
        16.3.2  VPA设置和使用案例
      16.4  本章小结
    第17章  基于Kubernetes搭建高吞吐量的日志收集平台

      17.1  常见的日志收集方案对比分析
      17.2  EFK案例分享——组件部署
        17.2.1  步骤一:部署Elasticsearch
        17.2.2  步骤二:部署Fluentd服务
        17.2.3  步骤三:部署Kibana服务
        17.2.4  步骤四:验证
      17.3  ELK案例分享——步骤说明
        17.3.1  创建命名空间
        17.3.2  创建持久卷和持久卷声明
        17.3.3  创建Elasticsearch集群
        17.3.4  创建Logstash集群
        17.3.5  创建Kibana
      17.4  EFK+Logstash+Kafka案例分享
        17.4.1  安装和配置Fluentd
        17.4.2  创建Fluentd配置文件
        17.4.3  安装和配置Kafka和Logstash
        17.4.4  安装和配置Elasticsearch和Kibana
        17.4.5  测试EFK日志收集系统
      17.5  本章小结
    第18章  在Kubernetes集群部署代码和服务
      18.1  在Kubernetes集群部署Go代码
      18.2  在Kubernetes集群部署Python代码
      18.3  在Kubernetes集群部署Nginx服务
        18.3.1  步骤一:编写Nginx部署所需的Deployment和Service资源定义文件
        18.3.2  步骤二:在Kubernetes集群上部署Nginx服务
      18.4  在Kubernetes集群部署Tomcat服务
        18.4.1  步骤一:创建命名空间
        18.4.2  步骤二:部署Tomcat服务
      18.5  本章小结
    第19章  K3s实际应用场景及案例分享
      19.1  K3s应用领域
        19.1.1  边缘计算
        19.1.2  嵌入式设备
        19.1.3  云原生领域
        19.1.4  多云管理
      19.2  K3s实战案例分享
      19.3  安装和使用K3s
        19.3.1  安装K3s
        19.3.2  使用K3s
      19.4  本章小结
    第20章  Kubernetes原生的CI/CD工具Tekton
      20.1  Tekton基本介绍和案例演示
        20.1.1  Tekton概述
        20.1.2  使用Tekton构建和测试应用程序
      20.2  使用Tekton构建CI/CD流水线最佳实践
        20.2.1  创建应用程序代码
        20.2.2  创建Docker镜像
        20.2.3  创建Tekton资源
        20.2.4  执行CI/CD流程
      20.3  本章小结