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

    • 云原生Kubernetes自动化运维实践
      • 作者:高鹏举|责编:王金柱
      • 出版社:清华大学
      • ISBN:9787302679349
      • 出版日期:2025/03/01
      • 页数:338
    • 售价:39.6
  • 内容大纲

        本书以一名大型企业集群运维工程师的实战经验为基础,全面系统地阐述Kubernetes(K8s)在自动化运维领域的技术应用。本书共16章,内容由浅入深,逐步揭示K8s的原理及实际操作技巧。第1章引领读者踏入Kubernetes的世界,详细介绍其起源、核心组件的概念以及集群安装方法。第2~4章深入剖析Pod控制器、Label标签、容器钩子、探针、Service服务发现与负载均衡机制。第5~7章则探讨Ingress-Nginx服务网关的应用、存储卷管理、配置和密钥管理的高级功能。第8~10章聚焦于鉴权机制、容器运行时的选择与配置,以及GitLab企业级代码仓库的部署和管理。第11~13章涵盖Jenkins持续集成交付工具、ArgoCD声明式持续交付,以及云原生负载均衡MetalLB的应用。第14章和第15章分别介绍云原生日志与监控集成架构,以及Istio微服务时代的服务网格领航者。最后,第16章通过一系列实战案例,展示在K8s环境中安装并实验多种服务的详细过程。
        本书不仅整合了多种自动化运维工具,还提供了丰富的运维案例,无论是初学者还是有一定经验的运维工程师,都能从中获得宝贵的知识和实践经验,提升自身的技术水平。
  • 作者介绍

        高鹏举     现任国家电网公司高级运维开发工程师。在Linux相关技术领域拥有深厚的造诣,尤其在容器化、虚拟化、自动化运维、系统监控、脚本编写以及服务网格等方面具备丰富的实践经验和深入的研究。凭借其扎实的技术功底与广泛的项目经历,成功主导并实施了多个国有企业的关键项目。     此外,他还活跃于各大技术社区,累计发表了超过2000篇关于运维开发的高质量教程文章,广受读者赞誉。
  • 目录

    第1章  走进Kubernetes的世界
      1.1  为什么使用Kubernetes
      1.2  Kubernetes节点组件
        1.2.1  Master节点运行的组件
        1.2.2  Node节点运行的组件
      1.3  Kubernetes集群的搭建与配置
        1.3.1  Kubeadm工具介绍
        1.3.2  基础环境配置
        1.3.3  升级内核版本
        1.3.4  三大组件的安装
        1.3.5  集群镜像处理
        1.3.6  集群初始化
        1.3.7  Node节点加入集群
        1.3.8  Calico网络插件安装
        1.3.9  Metrics-Server服务的安装
        1.3.10  Kuboard管理平台安装
      1.4  本章小结
    第2章  Pod控制器
      2.1  Pod、Kubectl与YAML
        2.1.1  Pod及其操作
        2.1.2  Kubectl命令行工具
        2.1.3  YAML文件
      2.2  Replication
      2.3  ReplicaSet
      2.4  Deploymant
        2.4.1  Deployment概述
        2.4.2  Deployment创建与访问
        2.4.3  滚动更新策略实例
        2.4.4  更新/回滚/暂停/恢复
        2.4.5  扩容的3种方式
      2.5  StatefulSet
        2.5.1  StatefulSet概述
        2.5.2  StatefulSet创建服务
        2.5.3  Ping域名实验
        2.5.4  解析域名实验
        2.5.5  创建StatefulSet服务自动申请PV实验
      2.6  DaemonSet
        2.6.1  DaemonSet概述
        2.6.2  DaemonSet实例
      2.7  CronJob
        2.7.1  CronJob概述
        2.7.2  CronJob资源清单详解
        2.7.3  CronJob实验
        2.7.4  CronJob实战备份MySQL数据库
      2.8  Job
        2.8.1  Job概述
        2.8.2  Job实验
      2.9  本章小结
    第3章  Label、容器钩子、探针
      3.1  Label标签

        3.1.1  Label概述
        3.1.2  Label实验
      3.2  InitC
        3.2.1  InitC概述
        3.2.2  InitC实验
        3.2.3  部署Elasticsearch服务时配置InitC
      3.3  容器钩子
        3.3.1  容器钩子概述
        3.3.2  容器钩子实验
      3.4  探针
        3.4.1  探针概述
        3.4.2  StartUpProbe启动探针实验
        3.4.3  ReadinessProbe就绪探针实验
        3.4.4  LivenessProbe存活探针实验
      3.5  本章小结
    第4章  Service服务发现与负载均衡
      4.1  Service原理
      4.2  ClusterIP
        4.2.1  ClusterIP概述
        4.2.2  ClusterIP实验
      4.3  NodePort
        4.3.1  NodePort概述
        4.3.2  NodePort实验
      4.4  HeadlessService
        4.4.1  HeadlessService概述
        4.4.2  HeadlessService实验
      4.5  ExternalName
        4.5.1  ExternalName概述
        4.5.2  ExternalName实验
      4.6  LoadBalancer
        4.6.1  LoadBalancer概述
        4.6.2  如何指定LoadBalancer类型的服务IP
      4.7  Service端口范围及解除限制
        4.7.1  Service端口范围概述
        4.7.2  Service端口范围解除限制
      4.8  使用Service代理K8s外部应用
        4.8.1  使用Service代理K8s外部应用概述
        4.8.2  使用Service代理K8s外部应用实验
      4.9  本章小结
    第5章  Ingress-Nginx服务网关
      5.1  Ingress-Nginx概述
      5.2  Ingress-Nginx安装
      5.3  Annotations注解
        5.3.1  流量复制
        5.3.2  IP白名单
        5.3.3  IP黑名单
        5.3.4  域名转发
        5.3.5  返回字符串
        5.3.6  文件上传大小
        5.3.7  域名HTTPS访问

        5.3.8  对接外部的认证服务
        5.3.9  配置默认页面
        5.3.10  Nginx如何获取客户端真实IP
        5.3.11  重定向
        5.3.12  重写
        5.3.13  多域名指向同一个后端服务
      5.4  本章小结
    第6章  Kubernetes存储与持久化
      6.1  Kubernetes存储类概述
      6.2  Kubernetes持久卷声明
      6.3  持久卷的生命周期
      6.4  动态申请持久卷实验
        6.4.1  NFS共享存储搭建
        6.4.2  nfs-client-provisioner存储类搭建
        6.4.3  服务使用存储类动态申请资源实验
      6.5  PV/PVC详解
        6.5.1  PV/PVC概述
        6.5.2  PVC的创建流程
        6.5.3  PV访问模式
        6.5.4  PV回收策略
        6.5.5  PV/PVC卷状态
      6.6  Deployment直连NFS存储
      6.7  本章小结
    第7章  ConfigMap配置和Secret密钥管理
      7.1  ConfigMap:非敏感配置信息的集中管理
        7.1.1  ConfigMap概述
        7.1.2  使用目录方式创建ConfigMap
        7.1.3  使用文件方式创建ConfigMap
        7.1.4  使用字面值方式创建ConfigMap
        7.1.5  设置ConfigMap不允许更改
        7.1.6  通过envfrom方式指定ConfigMap
        7.1.7  通过valueFrom方式指定ConfigMap
        7.1.8  Nginx通过ConfigMap管理配置文件
      7.2  Secret:敏感信息的安全存储与访问
        7.2.1  Secret概述
        7.2.2  使用文件方式创建Secret
        7.2.3  使用YAML方式创建Secret
        7.2.4  Secret权限解析
        7.2.5  使用Docker的config.json方式创建Secret
        7.2.6  使用Kubectl创建DockerRegistry认证的Secret
      7.3  本章小结
    第8章  Kubernetes鉴权机制
      8.1  Kubernetes鉴权机制概述
      8.2  鉴权机制的工作流程
      8.3  角色/角色绑定概述
      8.4  用户鉴权实战
      8.5  本章小结
    第9章  容器运行时Containerd
      9.1  Containerd概述
      9.2  安装与配置Containerd

        9.2.1  安装Containerd
        9.2.2  配置Containerd阿里云镜像加速器
        9.2.3  配置Containerd使用自建镜像仓库
      9.3  使用nerdctl管理Containerd
        9.3.1  安装nerdctl
        9.3.2  nerdctl常用命令示例
      9.4  使用nerdctl构建镜像
        9.4.1  安装BuildKit和cni-plugins
        9.4.2  构建镜像
      9.5  本章小结
    第10章  GitLab企业级代码仓库
      10.1  GitLab目录结构
      10.2  部署GitLab
      10.3  GitLab的配置与使用
        10.3.1  基础设置
        10.3.2  创建项目
        10.3.3  修改克隆地址
        10.3.4  拉取/提交代码
      10.4  本章小结
    第11章  Jenkins持续集成交付工具
      11.1  Jenkins概述
      11.2  Kubernetes集群部署Jenkins
      11.3  Jenkins对接K8s实现动态Slave
        11.3.1  基础设置并对接K8s
        11.3.2  自由风格项目实现动态Slave
        11.3.3  Pipeline流水线项目实现动态Slave
      11.4  本章小结
    第12章  ArgoCD声明式持续交付
      12.1  ArgoCD概述
      12.2  Kubernetes部署ArgoCD
      12.3  ArgoCD的配置及使用
        12.3.1  ArgoCD连接Kubernetes
        12.3.2  使用ArgoCDCLI集成GitLab并创建App
      12.4  本章小结
    第13章  云原生负载均衡之MetalLB
      13.1  自建LoadBalancer种类
      13.2  MetalLB的核心概念与架构
        13.2.1  MetalLB的核心概念
        13.2.2  MetalLB架构
      13.3  Kubernetes部署MetalLB
        13.3.1  检查是否开启IPVS功能
        13.3.2  配置并创建MetaLB服务
        13.3.3  创建LoadBalancer类型的服务
        13.3.4  使用MetalLB进行服务的外部访问
      13.4  本章小结
    第14章  Helm与Loki-Stack搭建日志监控系统
      14.1  Helm包管理与部署
        14.1.1  Helm概述
        14.1.2  CentOS7系统安装Helm
      14.2  Loki-Stack部署与实践

        14.2.1  Loki与Loki-Stack概述
        14.2.2  Helm3部署Loki-Stack
        14.2.3  外部访问Grafana
        14.2.4  日志监控查询
        14.2.5  导入仪表盘面板
        14.2.6  监控告警
      14.3  本章小结
    第15章  Istio微服务时代的服务网格领航者
      15.1  Istio概述
      15.2  Istio核心组件
        15.2.1  Istio-Pilot
        15.2.2  Istio-Telemetry
        15.2.3  Istio-Policy
        15.2.4  Istio-Citadel
        15.2.5  Istio-Sidecar-Injector
        15.2.6  Istio-Proxy
        15.2.7  Istio-Ingress-Gateway
        15.2.8  Istio-Envoy
      15.3  部署Istio
        15.3.1  Istioctl的安装
        15.3.2  Istioctl安装Istio
      15.4  Sidecar边车容器注入
        15.4.1  Sidecar手动注入
        15.4.2  Sidecar自动注入
        15.4.3  Sidecar取消自动注入
      15.54  种配置资源概念详解
        15.5.1  VirtualService
        15.5.2  DestinationRule
        15.5.3  ServiceEntry
        15.5.4  Gateway
      15.6  VirtualService关键字配置示例
        15.6.1  使用weight关键字拆分流量
        15.6.2  使用timeout关键字设置请求超时时间
        15.6.3  使用retries关键字设置重试
        15.6.4  使用fault关键字设置故障注入
        15.6.5  VirtualService资源清单详解
      15.7  Istio流量治理
        15.7.1  请求头httpHeaderName
        15.7.2  HTTP流量镜像
        15.7.3  重写
        15.7.4  重定向
        15.7.5  流量权重-蓝绿与金丝雀发布
        15.7.6  超时
        15.7.7  重试
        15.7.8  断路器/熔断
        15.7.9  故障注入
      15.8  本章小结
    第16章  Kubernetes服务部署实战
      16.1  K8s部署MinIO开源对象存储
      16.2  K8s部署Metabase数据库连接工具

      16.3  K8s部署phpMyAdmin数据库连接工具
      16.4  K8s部署Nacos配置中心
      16.5  本章小结