书籍介绍
随着容器化及微服务等概念的普及,各个公司都在围绕着如何打造生产环境可用的,高效的容器调度平台,应用快速部署,扩容等平台进行探索。Kubernetes 是 Google 在 2014 年基于其多年在 Borg 系统实践总结出的经验而开源出的一套标准化,可扩展的系统。
而发展至现在(2018年)Kubernetes 已经基本成为了容器编排领域事实上的标准,并且大量的公司都已在生产中使用,无论是国外的 Google, Amazon, GitHub 等,还是国内的阿里,腾讯,京东,滴滴及其他中小公司都在进行着大量的探索及实践。
之前在容器化尚未大量推进的时候,开发工程师只需要关注自己业务代码的实现,而运维工程师在反复的为部署,扩容所需的环境而费时费力。
为了解决环境一致性的问题,也为了能够提高资源的利用率,容器化开始逐步推进,开发工程师的交付由原先的交付代码变成了交付镜像,运维工程师可以将精力集中于保障服务的可高用上。
但为了能够快速的发版验证功能,不再受单体化架构的拖累,微服务的概念也在实践中逐步推进,从原先的单体集中式的服务,拆分为多个松耦合的微服务。到了这时,微服务 + 容器化已经大势所趋,生产中要大量使用,则容器编排变的愈发重要。Kubernetes 在容器编排领域目前已成为事实上的标准,大量公司均已在生产中推进,此时,无论是开发工程师还是运维工程师,皆需要了解并掌握 Kubernetes 的基础技能,才不至于丢失自己的竞争力。
Kubernetes 所涉及的知识点很多, 并且版本迭代也很快,本小册将集中于 Kubernetes 的基础技能,以最常见 Case 入手,帮助大家更快的掌握相关知识并将其用于生产实践中。同时在此过程中,也会深入至 Kubernetes 必要的原理中,同时也会提供相关涉及到的 Docker 及 Linux 内核知识的补充,以便让大家不仅知其然,而且知其所以然。
本书目录
- 开篇: Kubernetes 是什么以及为什么需要它
- 初步认识:Kubernetes 基础概念
- 宏观认识:整体架构
- 搭建 Kubernetes 集群 – 本地快速搭建
- 动手实践:搭建一个 Kubernetes 集群 – 生产可用
- 集群管理:初识 kubectl
- 集群管理:以 Redis 为例-部署及访问
- 安全重点: 认证和授权
- 应用发布:部署实际项目
- 应用管理:初识 Helm
- 部署实践:以 Helm 部署项目
- 庖丁解牛:kube-apiserver
- 庖丁解牛:etcd
- 庖丁解牛:controller-manager
- 庖丁解牛:kube-scheduler
- 庖丁解牛:kubelet
- 庖丁解牛:kube-proxy
- 庖丁解牛:Container Runtime (Docker)
- Troubleshoot
- 扩展增强:Dashboard
- 服务增强:ingress
- 扩展增强:CoreDNS
- 监控实践:对 K8S 集群进行监控
- 总结
你会学到什么?
- Kubernetes 基础架构
- Kubernetes 的基础技能, 覆盖常见 Case
- 从零搭建 Kubernetes 集群
- 与 Kubernetes 相关的 Docker 和 Linux 内核知识补充
- 深入 Kubernetes 组件的原理和源码解析
- 了解 Kubernetes 进阶相关知识体系
适宜人群
- 了解 Docker,希望能进入 K8S 领域的各领域工程师;
- 正在或即将在生产环境使用 K8S 的后端工程师;
- 需要维护或在公司落地 K8S 的运维工程师;
- 想要走在技术前沿的前端/后端/运维工程师;
- 准备查缺补漏的容器相关开发工程师;
作者介绍
张晋涛(TaoBeier)目前任网易有道资深运维开发工程师, 负责 DevOPS 实践落地及 Kubernetes 容器化平台及自动化平台的规划建设等。骨灰级 Linux/Vim 玩家,主力语言 Python/Golang/Javascript 等, 对 Docker, Kubernetes 及相关生态有大量实践及深入源码的研究。