自下而上学习容器( 三 )


多宿主容器编配器
在单台主机上协调运行的容器已经很难了 , 在多个主机之间协调容器就更困难了 。 还记得DockerSwarm吗?Docker在加入多主机容器编配特性时就已经相当可怕了 , 因为给已有的守护进程带来了更多的责任……
忽略守护进程数量不断膨胀这个问题 , DockerSwarm看起来还是不错的 。 但另一种编配器赢得了比赛——Kubernetes!所以 , 大约从2020年开始 , DockerSwarm就过时了 , 我们每周都会听到几个新出现的“古希腊”词汇 。
Kubernetes将多个服务器(节点)连接到一个集群中 , 每个节点都有一个叫做kubelet的本地代理 。 kubelet负责启动Pod(一组容器) , 但并不是它自己做这些事情 。 过去 , 它使用dockerd , 但现在这种方法已被弃用 , 取而代之的是更通用的容器运行时接口(CRI) 。
自下而上学习容器
文章图片
Kubernetes可以使用containerd、cri-o或其他CRI运行时
容器编配器需要完成很多任务 。
如何将容器按照高级原语分组(Pods、ReplicaSets等)?
如何将运行容器的节点连接到一个公共网络中?
如何提供服务发现?
其他 。
Kubernetes和其他编配器(如Nomad或AWSECS)可以帮助开发团队更容易地创建独立的服务 。 它帮助解决了很多管理上的问题 , 尤其是对大公司来说 。 但它也带来了很多传统虚拟机所没有的新技术问题!管理大量分布式服务变得非常具有挑战性 , 从而催生了“云原生项目动物园” 。
自下而上学习容器】6
有一些容器就是虚拟机