logo
分类于: 设计 互联网

简介

基于Kubernetes的DevOps实践:容器加速软件交付

基于Kubernetes的DevOps实践:容器加速软件交付 0.0分

资源最后更新于 2020-08-19 16:03:44

作者:[日]Hideto Saito

译者:史天

出版社:电子工业出版社

出版日期:2019-01

ISBN:9787121365706

文件格式: pdf

标签: k8s 运维 Kindle 2020

简介· · · · · ·

容器化被认为是实现DevOps的佳方式。谷歌开发了Kubernetes,它有效地协调容器,被认为是容器编排的者。Kubernetes是一个协调器,可以在服务集群上创建和管理容器。本书将指导管理 Kubernetes集群,然后学习如何在DevOps中监控、记录日志和持续部署。本书将介绍DevOps和容器的基本概念,部署和将应用程序容器化,并介绍Kubernetes中的网络和存储。然后,使用先进的DevOps技能,如通过基于属性的访问控制和基于角色的访问控制,监控、记录和连续引入Kubernetes资源的权限控制。本书还涵盖部署和管理Web Services和Google Cloud Platform相关内容。后,讨论了其他编排框架,如Docker Swarm模式、 ECS和Apache Mesos。

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

1 DevOps简介 001
软件交付的挑战 001
瀑布模型和实物交付 001
敏捷模型和电子交付 002
云端的软件交付 002
持续集成 003
持续交付 003
配置管理 004
基础设施即代码 004
编排 005
微服务趋势 005
模块化编程 006
包管理 006
MVC设计模型 008
单体架构应用程序 009
远程过程调用 009
RESTful设计 010
微服务 011
自动化工具 012
持续集成工具 012
持续交付工具 013
监控和日志工具 016
沟通工具 018
公有云 019
总结 021
2 DevOps与容器 022
了解容器 022
资源隔离 022
Linux 容器概念 023
容器交付 027
容器入门 027
在Ubuntu上安装Docker 028
在CentOS上安装Docker 028
在macOS上安装Docker 029
容器生命周期 029
Docker基础 029
层、镜像、容器和卷 031
分发镜像 033
连接容器 035
使用Dockerfile 037
编写一个Dockerfile 037
Dockerfile语法 039
组织Dockerfile 043
多容器编排 045
容器堆积 045
Docker Compose概述 046
组合容器 047
总结 050
3 Kubernetes入门 051
理解Kubernetes 051
Kubernetes组件 052
Master组件 052
节点组件 053
Master与节点通信 054
开始使用Kubernetes 054
准备环境 055
kubectl 057
Kubernetes资源 058
Kubernetes对象 058
容器编排 095
总结 103
4 存储与资源管理 104
Kubernetes卷管理 104
容器卷生命周期 104
Pod内共享卷 106
无状态和有状态应用程序 106
Kubernetes持久卷和动态配置 108
持久卷抽象层声明 109
动态配置和存储类型 111
临时存储和存储配置案例 113
使用状态集(StatefulSet)管理具有持久卷的Pod 116
持久卷示例 118
Elasticsearch集群 118
Kubernetes资源管理 122
资源服务质量(QoS) 122
配置BestEffort Pod 125
配置Guaranteed Pod 127
配置Burstable Pod 128
资源使用监控 130
总结 132
5 网络与安全 133
Kubernetes网络 133
Docker网络 133
容器间通信 136
Pod间通信 138
同一节点内Pod间通信 138
跨节点Pod间通信 139
Pod与服务间通信 141
外部与服务通信 144
Ingress 145
网络策略 150
总结 153
6 监控与日志 154
容器检查 154
Kubernetes仪表盘 155
监控Kubernetes 156
应用程序 156
主机 157
外部资源 157
容器 158
Kubernetes 158
Kubernetes监控要点 159
监控实践 161
Prometheus介绍 161
部署Prometheus 162
使用PromQL 162
Kubernetes目标发现 163
从Kubernetes收集数据 165
使用Grafana查看指标 166
日志 167
日志聚合模式 168
节点代理方式收集日志 168
Sidecar容器方式转发日志 169
获取Kubernetes事件 170
Fluentd和Elasticsearch日志 171
从日志中提取指标 172
总结 173
7 持续交付 174
资源更新 174
触发更新 174
管理滚动更新 176
更新DaemonSet和StatefulSet 178
DaemonSet 178
StatefulSet 179
构建交付管道 180
工具选择 180
过程解析 181
深入解析Pod 185
启动Pod 186
Liveness和Readiness探针 186
初始化容器 188
终止Pod 189
处理SIGTERM 189
容器生命周期钩子 192
放置Pod 193
总结 194
8 集群管理 196
Kubernetes命名空间 196
默认命名空间 197
创建命名空间 197
上下文 198
资源配额 199
创建资源配额 200
请求具有默认计算资源限制的Pod 202
删除命名空间 203
Kubeconfig 204
服务账户 205
认证与授权 206
认证 207
服务账户认证 207
用户账户认证 207
授权 209
基于属性的访问控制(ABAC) 209
基于角色的访问控制(RBAC) 210
角色和集群角色 210
角色绑定和集群角色绑定 212
准入控制 213
命名空间生命周期(NamespaceLifecycle) 214
范围限制(LimitRanger) 214
服务账户(Service account) 214
持久卷标签(PersistentVolumeLabel) 214
默认存储类型(DefaultStorageClass) 214
资源配额(ResourceQuota) 214
默认容忍时间(DefaultTolerationSeconds) 215
污点(taint)和容忍(toleration) 215
Pod节点选择器(PodNodeSelector) 216
始终准许(AlwaysAdmit) 216
始终拉取镜像(AlwaysPullImages) 217
始终拒绝(AlwaysDeny) 217
拒绝升级执行(DenyEscalatingExec) 217
其他准入插件 217
总结 217
9 AWS上的Kubernetes 218
AWS简介 218
公有云 219
API和基础设施即代码 219
AWS组件 220
VPC和子网 220
互联网网关和NAT-GW 222
安全组 226
EC2和EBS 227
Route 53 232
ELB 234
S3 236
在AWS上安装和配置Kubernetes 237
安装kops 238
运行kops 238
Kubernetes云提供商 240
L4 负载均衡 240
L7 负载均衡(Ingress) 242
存储类型(StorageClass) 245
通过kops维护Kubernetes集群 246
总结 248
10 GCP上的Kubernetes 249
GCP简介 249
GCP组件 250
VPC 250
子网 251
防火墙规则 252
VM实例 253
负载均衡 257
持久化磁盘 262
Google容器引擎(GKE) 264
在GKE上设置一个Kubernetes集群 265
节点池 267
多区域集群 270
集群升级 271
Kubernetes云提供商 273
存储类型(StorageClass) 273
L4负载均衡 275
L7负载均衡(Ingress) 276
总结 280
11 未来探究 281
探Kubernetes的可能性 281
掌握Kubernetes 281
Job和CronJob 282
Pod和节点之间的亲和性与反亲和性 282
Pod的自动伸缩 282
防止和缓解Pod中断 282
Kubernetes集群联邦(federation) 283
集群附加组件 283
Kubernetes和社区 284
Kubernetes孵化器 284
Helm和chart 285
未来基础设施 287
Docker Swarm模式 287
Elastic Container Sercia 288
Apache Mesos 289
总结 290
读者调查表 291
电子工业出版社编著书籍表 293
反侵权盗版声明 294