技术教育社区
www.teccses.org

云计算技术实践系列丛书基于KUBERNETES的DEVOPS实践:容器加速软件交付

封面

作者:(加)HidetoSaito(希迪托·

页数:312

出版社:电子工业出版社

出版日期:2019

ISBN:9787121365706

电子书格式:pdf/epub/txt

内容简介

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

作者简介

Hideto Saito在计算机行业拥有约20年的经验。1998年,在SUN工作期间,对Solaris OS、OPENSTEP和Sun UltraEnterprise1000(AKA StraFire)有研究。UNIX和MacOS X操作系统拥护者。2006年,开发在Linux和MacOS X上运行的相关产品,以快速的Objective-C编码而闻名。
中联润通运维总监,云技术社区创始人.曾在盛大游戏 金山西山居负责系统运维工作。维护有微信订阅号:”云技术实践”著有《深度实践KVM》一书 《Ceph手册》中文版译者之一 《运维前线》系列图书策划人。

本书特色

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

目录

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

Amazon Elastic Container Sercia 288

Apache Mesos 289

总结 290

读者调查表 291

电子工业出版社编著书籍推荐表 293

反侵权盗版声明 294

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《云计算技术实践系列丛书基于KUBERNETES的DEVOPS实践:容器加速软件交付》
Article link:https://www.teccses.org/1049367.html