09 | 从容器到容器云:谈谈Kubernetes的本质
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
Kubernetes: 强大的容器编排工具 Kubernetes是一个受Google Borg系统启发的重要容器编排工具,其架构类似于Borg系统,由Master和Node两种节点组成,分别负责控制和计算。Kubernetes通过实现CRI接口,可以与不同的容器运行时进行交互,同时还支持网络插件和存储插件,为容器配置网络和持久化存储。Kubernetes项目的设计思想是以统一的方式来定义任务之间的各种关系,并且为将来支持更多种类的关系留有余地。它提供了一系列对象,如Pod、Job、CronJob等,来描述管理的应用,并通过Service服务、Secret对象等来处理容器间的关系和形态。Kubernetes项目的先进性与完备性使其成为基础设施领域开源项目的核心价值。 Kubernetes的核心设计理念是基于声明式API,通过定义“编排对象”和“服务对象”来实现平台级功能。使用Kubernetes启动容器化任务非常简便,只需编写一个YAML文件,定义Deployment对象并指定副本数,即可启动容器副本。这种声明式API带来了诸多好处,以及基于其实现的强大编排能力,使Kubernetes成为当今基础设施领域的重要工具。 Kubernetes项目的本质是为用户提供一个具有普遍意义的容器编排工具,同时也提供了一套基于容器构建分布式系统的基础依赖。其强大的功能和灵活的架构为容器编排和管理提供了全面的解决方案,成为了开源项目中的核心价值。 总结:Kubernetes是一个强大的容器编排工具,其架构灵感源自Google Borg系统,通过声明式API实现容器编排和管理,为用户提供了全面的解决方案。其先进性与完备性使其成为基础设施领域开源项目的核心价值。
《深入剖析 Kubernetes》,新⼈⾸单¥68
全部留言(143)
- 最新
- 精选
- Jeff.W从微服务架构来讲,多个独立功能内聚的服务带来了整体的灵活性,但是同时也带来了部署运维的复杂度提升,这时Docker配合Devops带来了不少的便利(轻量、隔离、一致性、CI、CD等)解决了不少问题,再配合compose,看起来一切都很美了,为什么还需要K8s?可以试着这样理解么?把微服务理解为人,那么服务治理其实就是人之间的沟通而已,人太多了就需要生存空间和沟通方式的优化,这就需要集群和编排了。Docker Compose,swarm,可以解决少数人之间的关系,比如把手机号给你,你就可以方便的找到我,但是如果手机号变更的时候就会麻烦,人多了也会麻烦。而k8s是站在上帝视角俯视芸芸众生后的高度抽象,他看到了大概有哪些类人(组织)以及不同组织有什么样的特点(Job、CornJob、Autoscaler、StatefulSet、DaemonSet...),不同组织之间交流可能需要什么(ConfigMap,Secret...),这样比价紧密的人们在相同pod中,通过Service-不会变更的手机号,来和不同的组织进行沟通,Deployment、RC则可以帮组人们快速构建组织。Dokcer 后出的swarm mode,有类似的视角抽象(比如Service),不过相对来说并不完善。以上,是否可以这样理解?
作者回复: 没毛病
2018-09-169507 - Tigerfive感觉不能迁移“有状态”的容器,是因为迁移的是容器的rootfs,但是一些动态视图是没有办法伴随迁移一同进行迁移的。
作者回复: 是的,到目前为止,迁移都是做不到的,只能删除后在新的节点上重新创建
2018-09-124116 - Xiye对于第二个问题,是不是像存储在文件或者数据库里的数据还是比较好迁移,但是对于缓存,临时存储的数据是不是就不太好迁移。
作者回复: 没错!
2018-09-12270 - 盆盆赞,这几天一直在追更,欲罢不能😃😃 Kubelet这个词,词根let是小的意思,小猪piglet,微软PowerShell也有cmdlet,班门弄斧了,不知道对不
作者回复: 语言大师你好
2018-11-10319 - Rod@老师。我记得service的ip也是可变的。不变的是service name。通过kube dns解析。当然service可以绑定主机名。但是那样就不能高可用。不知道我说的对不对?
作者回复: service vip不会变,除非你把它删了重建。通过dns解析的是headless service,它不会分配vip。
2018-09-1317 - Scott为什么一个node上,kubelet与Device plugin要走gRPC,这个没有CSI这样的专门中间层吗?
作者回复: 没有,这一块的设计我后面会讲到
2018-09-16213 - 骨汤鸡蛋面一直对CNI、CSI 有点困惑,为什么不将其纳入到container runtime/oci 的范畴?
作者回复: 前面是paas层用的,后面是容器用的
2018-09-1313 - x现在docker 的Storage Driver基本都是overlay2 了,aufs快被淘汰了了吧
作者回复: 结论太想当然了。具体哪种driver是取决于宿主机的,aufs好端端的就被你淘汰了……
2018-11-027 - pytimer第二个问题: 我觉得应该是很多容器数据都是挂载在本地路径,所以没办法直接进行迁移。 如果容器的数据挂载在共享存储上,那是不是没有kubernetes也是可以迁移有状态的容器?
作者回复: 那就要看有多少种状态需要处理啦
2018-09-1227 - 龙坤容器OCI规范推出,那么统一规范的容器镜像都可以在不同厂商自主研发的容器运行时上运行。随着时间的推进,在容器编排上的需求,虽然有swarm和mesos的方案,但是对于一些有能力做基于容器PaaS平台的大公司,并且还有一些具有自主研发能力、野心大和具有一定PaaS平台资源的,并想借用容器赚钱的大公司,就不太乐意用这些方案(所以为什么大公司前期都迫切需要一个容器规范出现的原因吧)。这时也迫切需要一个可以对接自主研发的“运行时”的工具出来,并该工具能弥补容器编排不完美这个缺陷。个人觉得,Kubernetes的出现确实伟大,伟大到击垮Docker公司原先建立的都围着他转的容器社区体系,也伟大到可以又让大公司赚钱。 --- 纯属个人理解
作者回复: 开源和商业不分家
2018-09-226