我是第一次接触kubernetes的世界。我有一个集群设置,其中多个节点运行不同的容器。我想将设置迁移到kubernetes。我计划在其中一个节点上安装kubernetes master,并准备其他节点作为kubernetes worker。
如果我准备一个kubernetes集群,kubernetes会检测到这些主机上现有的运行容器吗?如果没有,是否有任何插件/工具可以为运行的容器创建相应的kubernetes对象?
发布于 2021-03-02 20:02:47
我基本上会在这里从头开始。Kubernetes可以使用您现有的Docker镜像,但它应该有自己的专用硬件,并且您需要编写新的YAML文件来部署它。
Kubernetes只知道它自己管理的容器。在大多数情况下,Kubernetes希望以独占方式管理多个完整节点;使用一些手动管理的容器运行节点“部分Kubernetes”是没有意义的。如果您可以使用像cluster autoscaler这样的组件,那么可以根据实际的集群负载动态地添加和删除节点,而不是直接控制;如果Kubernetes不知道将节点重新定位到其他地方,那么删除的节点上的任何内容都将丢失。
有像Kompose这样的工具可以尝试将Docker Compose设置迁移到Kubernetes YAML,但它们是有限的,您需要实际学习Kubernetes设置来绕过这些限制。最突出的例子是绑定挂载的主机目录:您不能直接使用Kubernetes中的主机文件(...from哪个主机?)而Kompose只需丢弃卷挂载。要解决这个问题,您需要了解Secrets和ConfigMaps,以及Kubernetes的“卷”的抽象概念,以及它在Pod规范和部署规范中的位置;如果您掌握了这一点,那么您可以直接编写Kubernetes YAML。
https://stackoverflow.com/questions/66438612
复制相似问题