为你推荐
书名页
版权
出版说明
前言
第1章 云原生架构
1.1 云计算的演化
1.2 什么是云原生
1.3 云原生基础架构
1.4 云原生应用
1.4.1 微服务
1.4.2 健康状况报告
1.4.3 自动测量数据
1.4.4 弹性处理故障
1.4.5 声明式通信
1.5 十二要素应用
1.6 实现云原生模式
1.7 何时采用云原生
1.8 云设计模式
1.9 服务网格(Service Mesh)
1.10 云原生的未来
第2章 Kubernetes核心对象
2.1 Kubernetes架构
2.1.1 工作节点
2.1.2 Master节点
2.1.3 Docker镜像库
2.2 命名空间
2.3 Pod
2.3.1 创建Pod
2.3.2 Pod内部多个容器
2.3.3 初始化容器
2.3.4 状态探针
2.3.5 测试工具
2.4 部署
2.4.1 ReplicaSet
2.4.2 部署
2.4.3 有状态部署
2.4.4 DaemonSet
2.5 服务
2.5.1 关于服务
2.5.2 Ingress
2.6 存储
2.6.1 存储类型
2.6.2 使用subPath
2.7 RBAC
2.7.1 角色和集群角色
2.7.2 角色绑定和集群角色绑定
第3章 敏捷基础架构
3.1 部署本地Repository
3.1.1 准备CentOS
3.1.2 部署nginx和sonatype/nexus3
3.1.3 配置Nexus
3.1.4 创建并使用NPM Registry
3.1.5 创建并使用Docker Repository
3.1.6 创建Maven2 Local Repository
3.1.7 总结
3.2 部署Kubernetes
3.2.1 环境准备
3.2.2 安装Docker CE
3.2.3 安装kube工具
3.2.4 构建Master节点
3.2.5 在客户端设置环境
3.2.6 部署Flannel网络
3.2.7 加入工作节点
3.2.8 部署Dashboard
3.3 部署MetalLB
3.3.1 安装MetalLB
3.3.2 配置IP地址池
3.3.3 使用MetalLB
3.3.4 流量策略
3.3.5 IP共享
3.4 部署GlusterFS
3.4.1 卷类型
3.4.2 GlusterFS部署方法
3.4.3 GlusterFS要求
3.4.4 创建磁盘分区
3.4.5 安装软件
3.4.6 配置防火墙
3.4.7 配置信任池
3.4.8 创建GlusterFS卷
3.4.9 GlusterFS卷安全
3.4.10 GlusterFS快照
3.4.11 vSAN与GlusterFS的比较
3.5 使用GlusterFS卷
3.5.1 静态卷的使用
3.5.2 动态卷的使用
3.6 使用NFS卷
3.6.1 前提条件
3.6.2 授权
3.6.3 创建provisioner和StorageClass
3.6.4 测试
3.7 升级Kubernetes
3.7.1 升级Master节点
3.7.2 升级工作节点
3.7.3 查看升级结果
第4章 DevOps实战
4.1 DevOps简介
4.1.1 DevOps流程
4.1.2 云原生下的DevOps
4.2 软件部署策略
4.2.1 实践准备
4.2.2 重建部署(Recreate)
4.2.3 滚动部署(RollUpdate)
4.2.4 蓝绿部署(Blue/Green)
4.2.5 金丝雀部署(Canary)
4.2.6 A/B测试
4.2.7 影子部署
4.2.8 总结
4.3 部署GitLab
4.3.1 GitLab简介
4.3.2 在CentOS 7.x中部署GitLab
4.3.3 使用Docker部署GitLab
4.3.4 在Kubernetes集群中运行GitLab
4.3.5 GitLab Runner
4.4 GitLab集成自动CI/CD
4.4.1 GitLab自动CI/CD
4.4.2 .gitlab-ci.yml
4.4.3 变量注册
4.5 容器部署模式
4.5.1 什么是sidecar模式
4.5.2 sidecar模式的优势
4.5.3 sidecar模式的适用场景
4.5.4 采用sidecar模式的事例
第5章 日志记录
5.1 模式
5.1.1 伴生模式
5.1.2 DaemonSet模式
5.2 日志采集
5.2.1 具有日志代理功能的伴生容器
5.2.2 DaemonSet模式下配置Fluentd
5.3 部署Elasticsearch
5.3.1 Elasticsearch简介
5.3.2 在Docker Swarm中部署Elasticsearch
5.3.3 在Kubernetes上创建Elasticsearch集群
5.4 部署Kibana
5.4.1 在Docker中部署Kibana
5.4.2 在Kubernetes上部署Kibana应用
5.5 部署fluentd作为syslog server
5.5.1 创建fluentd服务
5.5.2 创建fluentd应用
5.5.3 测试
第6章 云原生下的监控
6.1 Prometheus简介
6.1.1 Prometheus组成及架构
6.1.2 使用Prometheus的场景
6.1.3 Prometheus相关概念
6.2 使用Exporter采集数据
6.2.1 常用Exporter
6.2.2 Exporter的运行方式
6.2.3 Node Exporter
6.2.4 容器监控cAdvisor
6.2.5 黑盒监控Blackbox Exporter
6.3 在Kubernetes中部署Prometheus
6.3.1 创建RBAC文件
6.3.2 创建服务
6.3.3 创建配置文件
6.3.4 部署Prometheus
6.4 部署Blackbox Exporter
6.4.1 Blackbox Exporter配置文件
6.4.2 Blackbox Exporter部署文件
6.5 Node Exporter
6.5.1 创建Node Exporter服务
6.5.2 创建Node Exporter DaemonSet
6.6 Grafana
6.7 在Kubernetes中部署Grafana
6.7.1 创建持久卷声明
6.7.2 部署Grafana
6.7.3 Grafana配置文件
6.7.4 创建Service
6.8 案例:监控Drupal站点
6.8.1 Drupal准备
6.8.2 准备镜像
6.8.3 准备stack文件
6.8.4 设置Grafana
第7章 服务网格应用
7.1 Istio架构
7.1.1 Istio的目标
7.1.2 服务网格资源
7.2 安装与卸载Istio
7.2.1 下载Istio安装包
7.2.2 使用helm template安装
7.2.3 使用kubectl手动安装
7.2.4 卸载Istio
7.3 使用Istio
7.4 Istio常用场景
7.4.1 分布式调用追踪
7.4.2 遥测度量收集
7.4.3 灰度发布应用
7.4.4 熔断
7.4.5 故障注入
7.5 总结
第8章 案例
8.1 在Kubernetes中部署Drupal 8站点
8.1.1 准备GlusterFS卷
8.1.2 创建Persistent Volume Claim
8.1.3 创建数据库部署(Deployment)
8.1.4 创建Drupal部署
8.1.5 安装Drupal
8.1.6 总结
8.2 云原生架构下的Node.js自动CI/CD方法
8.2.1 Node.js示例
8.2.2 在Kubernetes集群中创建GitLab账户
8.2.3 部署Docker Registry
8.2.4 配置GitLab
8.2.5 通过GitLab构建Docker
8.2.6 部署应用到Kubernetes集群中
8.3 Apereo CAS自动横向缩放部署策略
8.3.1 CAS简介
8.3.2 前提条件
8.3.3 准备环境
8.3.4 CAS模板修改
8.3.5 持续集成
8.3.6 持续部署
8.4 Apache Kafka部署与使用
8.4.1 Kafka介绍
8.4.2 为什么在Kubernetes上运行Kafka
8.4.3 在Kubernetes上部署Kafka的考虑
8.4.4 在Kubernetes上部署Kafka的方式
8.4.5 通过Helm部署Kafka
8.4.6 通过Operators部署Kafka
8.5 云原生应用架构在上海海事大学信息化建设中的实践
8.5.1 组织与赋权
8.5.2 敏捷性基础架构
8.5.3 持续交付
8.5.4 微服务
8.5.5 困难
参考文献
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜