从上手实践到原理剖析,带你掌握 Kubernetes 必备技能。
随着容器化及微服务等概念的普及,各个公司都在围绕着如何打造生产环境可用的,高效的容器调度平台,应用快速部署,扩容等平台进行探索。Kubernetes 是 Google 在 2014 年基于其多年在 Borg 系统实践总结出的经验而开源出的一套标准化,可扩展的系统。
而发展至现在(2018年)Kubernetes 已经基本成为了容器编排领域事实上的标准,并且大量的公司都已在生产中使用,无论是国外的 Google, Amazon, GitHub 等,还是国内的阿里,腾讯,京东,滴滴及其他中小公司都在进行着大量的探索及实践。
之前在容器化尚未大量推进的时候,开发工程师只需要关注自己业务代码的实现,而运维工程师在反复的为部署,扩容所需的环境而费时费力。
为了解决环境一致性的问题,也为了能够提高资源的利用率,容器化开始逐步推进,开发工程师的交付由原先的交付代码变成了交付镜像,运维工程师可以将精力集中于保障服务的可高用上。
但为了能够快速的发版验证功能,不再受单体化架构的拖累,微服务的概念也在实践中逐步推进,从原先的单体集中式的服务,拆分为多个松耦合的微服务。到了这时,微服务 + 容器化已经大势所趋,生产中要大量使用,则容器编排变的愈发重要。Kubernetes 在容器编排领域目前已成为事实上的标准,大量公司均已在生产中推进,此时,无论是开发工程师还是运维工程师,皆需要了解并掌握 Kubernetes 的基础技能,才不至于丢失自己的竞争力。
Kubernetes 所涉及的知识点很多, 并且版本迭代也很快,本小册将集中于 Kubernetes 的基础技能,以最常见 Case 入手,帮助大家更快的掌握相关知识并将其用于生产实践中。同时在此过程中,也会深入至 Kubernetes 必要的原理中,同时也会提供相关涉及到的 Docker 及 Linux 内核知识的补充,以便让大家不仅知其然,而且知其所以然。