nonocast / me

记录和分享技术的博客
http://nonocast.cn
MIT License
20 stars 0 forks source link

课程笔记: 深入剖析 Kubernetes (张磊) #308

Open nonocast opened 2 years ago

nonocast commented 2 years ago

课程地址: 深入剖析 Kubernetes (5星好评)

历史

容器

所以,一个正在运行的Linux容器,其实可以被"一分为二"地看待:

  1. 一组联合挂载在/var/lib/docker/aufs/mnt上的roofs,这一部分我们称之为"容器镜像"(Container Image),是容器的静态视图
  2. 一个由Namespace+Cgroups构成的隔离环境,这一部分我们成为"容器运行时"(Container Runtime),是容器的动态视图

容器云

当你的软件以Docker方式运行起来,各家PaaS和PaaS供应商都按耐不住了,开始想尽办法兜售自己的服务价值,通过容器和容器的排列组合,一下子让你的软件由了CI/CD、监控、安全、网络、存储等等,当然前提是你的上船,然后掏钱。老话说得好,能用钱解决的都不是事。

从一个开发者和单一的容器镜像,到无数开发者和庞大的容器集群,容器技术实现了从"容器"到"容器云"的飞跃,标志着它真正得到了市场和生态的认可。容器从一个开发者手里的小工具,一跃成为云计算领域的绝对主角;而能够定义容器组织和管理规范的"容器编排"技术,则当仁不让地坐上了容器技术领域的头把交椅。

Kubernetes项目要解决的问题是什么?

编排? 调度? 容器云? 还是集群管理? 实际上,这个问题到目前为止都没有固定的答案。因为在不同的发展阶段,Kubernetes需要着重解决的问题是不同的。

但是对于大多数用户来说,他们希望Kubernetes项目带来的体验是确定的:

Kubernetes定义的关系:

所以,Kubernetes项目所擅长的,是按照用户的意愿和整个系统的规则,完全自动化地处理好容器之间的各种关系。这种功能,就是我们经常听到的一个概念:编排。

Kubernetes项目的本质,是为用户提供一个具有普遍意义的容器编排工具,更重要的是提供了一套基于容器构建分布式系统的基础依赖。