kubernetes - Kubernetes 可以在没有 LXD 守护进程的情况下管理 LXC 容器吗?
问题描述
我在 Oracle Linux(主机)上运行多个 LXC 容器,并在这些容器中运行 EBS 应用程序。
现在我每 5 台主机上有 10 多个容器。
我正在寻找管理这些容器的解决方案。研究告诉我,Kubernetes 是一种用于管理容器并使用它执行一些其他活动的解决方案,例如自动缩放等。
但是 Kubernetes 与 LXD 一起用于 lxc 容器。
有什么方法可以直接用 Kubernetes 管理 lxc 容器吗?
任何帮助将不胜感激!
谢谢 !!
解决方案
您使用 LXD 还是经典 LXC ?
我正在使用即将推出的 oracle Linux Base 存储库的经典 LXC 包。
好吧,官方的LXE 项目描述并没有留下任何疑问。它明确指出必须安装 LXD:
要求
您需要安装 LXD >= 3.3,这些软件包只能 通过 snap正式获得。还支持由源构建的 LXD。
所以这意味着你不能使用经典的 LXC。
您可能知道LXC和LXD是两个不同的产品,尽管第二个构建在第一个之上,您可以在此处阅读,但最重要的区别是LXD公开了一个REST API:
LXD 的核心是一个特权守护进程,它通过本地 unix 套接字以及网络(如果启用)公开 REST API。
客户端,例如 LXD 本身提供的命令行工具,然后通过该 REST API 执行所有操作。这意味着无论您是在与本地主机还是远程服务器通信,一切都以相同的方式工作。
这实际上是它的关键特性,这使得它可以使用LXE等其他工具进行管理。
再说一遍:你的问题的答案是:不,你不能使用经典的 LXC。它必须是 LXD。据我所知,没有其他方法可以直接使用kubernetes管理LXC容器。
推荐阅读
- c# - 消费计划中的 Azure 函数执行相互干扰
- c# - C#:UseLegacyPathHandling 和 BlockLongPaths 的长路径不起作用
- java - 如何使用 TestRestTemplate 测试返回布尔值的休息服务
- ios - iOS Swift:从文件系统加载时区数据时出错
- swift - 登录和注销身份验证按钮在主视图控制器上从“登录”更改为“注销”,寻找最佳实践
- c++ - 为什么不调用基类 2 的构造函数?
- ruby-on-rails - Active Record Dirty 不显示 nil 值的更改
- asp.net - 为什么将 ReactJS 与 ASP.NET CORE MVC 一起使用?
- apache-spark - PySpark - 在分组后选择列具有非连续值的行
- python-3.x - 如何在不重复的情况下列出边?