Kubernetes是否可以在没有LXD守护程序的情况下管理LXC容器?

问题描述

我正在Oracle Linux(主机)上运行多个LXC容器,并在这些容器内运行EBS应用程序。
现在每5个主机上有10个以上的容器。
我正在寻找用于管理这些容器的解决方案。研究告诉我,Kubernetes是一种用于管理容器并执行其他活动(例如自动缩放..etc。
)的解决方案。 但是Kubernetes与LXD一起用于lxc容器。
有什么方法可以直接使用Kubernetes管理lxc容器吗?
任何帮助将不胜感激!

谢谢!!

解决方法

您使用LXD还是经典LXC?

我正在使用经典的LXC软件包,该软件包即将在oracle Linux Base存储库中提供。

好吧,LXE project description官方对此没有任何怀疑。它明确指出LXD must be installed

要求

您需要安装LXD> = 3.3,哪些软件包是正式的 仅via snap可用。 还支持按源构建的LXD。

所以这意味着您不能使用经典的LXC。

您可能知道LXCLXD是两种不同的产品,尽管您可以阅读here的同时将第二个产品构建在第一个产品之上,但是最重要的区别是 LXD 公开了 REST API

LXD的核心是特权守护程序,该守护程序通过REST API公开REST API。 本地unix套接字以及通过网络(如果启用)。

客户端,例如LXD本身提供的命令行工具 通过该REST API进行所有操作。这意味着你是否 与您的本地主机或远程服务器通信,一切正常 同样的方式。

这实际上是它的关键功能,这使得它可以使用 LXE 等其他工具进行管理。

因此再次:您的问题的答案是:不,您不能使用经典的LXC。它必须是LXD。据我所知,没有其他方法可以直接通过 kubernetes 管理 LXC 容器。

,

我相信您可以安装 LXD,它应该会看到您所有的 lxc 容器(作为它和扩展)。如果没有,应该有一种简单的方法将 lxc 容器迁移到 lxd。之后,您可以将 LXE 扩展用于 kubernates。