Может ли Kubernetes управлять контейнерами LXC без демона LXD?

Я запускаю несколько контейнеров LXC в Oracle Linux (хост) и запускаю приложение EBS внутри этих контейнеров.
Теперь у меня более 10 контейнеров на каждые 5 хостов.
Ищу решение для управления этими контейнерами. Исследование показало мне, что Kubernetes - это решение для управления контейнерами и выполнения с ним ряда других действий, таких как автомасштабирование и т. Д.
Но Kubernetes работает с LXD для контейнеров lxc.
Есть ли способ, которым я могу управлять контейнером lxc напрямую с Kubernetes?
Любая помощь будет очень оценена!!

Спасибо!!

3 ответа

Вы используете LXD или классический LXC?

Я использую классический пакет LXC, который скоро появится в репозитории Oracle Linux Base.

Что ж, официальное описание проекта LXE не оставляет никаких сомнений. В нем четко указано, что LXD должен быть установлен:

Требования

У вас должен быть установлен LXD >= 3.3, пакеты которого официально доступны только через snap. Также поддерживается LXD, созданный из исходников.

Это означает, что вы не можете использовать классический LXC.

Как вы, возможно, знаете, LXC и LXD - это два разных продукта, хотя второй построен поверх первого, как вы можете прочитать здесь, но наиболее важным отличием является то, что LXD предоставляет REST API:

Ядро LXD - это привилегированный демон, который предоставляет REST API как через локальный сокет unix, так и по сети (если он включен).

Клиенты, такие как инструмент командной строки, поставляемый с самим LXD, затем делают все через этот REST API. Это означает, что независимо от того, разговариваете ли вы со своим локальным хостом или удаленным сервером, все работает одинаково.

На самом деле это его ключевая особенность, которая делает возможным управление с помощью дополнительных инструментов, таких как LXE.

Итак, еще раз: ответ на ваш вопрос: нет, вы не можете использовать классический LXC. Это должен быть LXD. И, насколько мне известно, другого способа управления контейнерами LXC напрямую с помощью кубернетов нет.

https://github.com/charmed-kubernetes/charm-kube-virt

Загрузочная загрузка Charmed-kubernetes с JUJU.. LXD, собственный дистрибутив k8s, сертифицированный cnf, великолепен. Canonical/ubuntu k8s CDK в значительной степени зависит от lxdbr0. Вы также можете не использовать OVS openvswitch или собственный мост Linux для управления вашим cni. для LXD/VM/ и контейнеров. Я не использовал его с lxd, виртуальные машины и контейнеры lxd работают отлично, и вы даже можете портировать некоторые экземпляры виртуальных машин в контейнеры lxd с помощью lxc2pc. С помощью очарованных kuberentes и Juju вы можете интегрировать смешанный стек с моделями, предоставляя вашим экземплярам Kubernetes инфраструктурный доступ к другим виртуальным машинам и контейнерам, если вы используете «голое железо» (для виртуальных машин). Ваше здоровье

Ps - https://mist.io/blog/2020-05-20-kubevirt-lxd-ldap-ad-mist-v43

Возможно, вы захотите попробовать Mist.io. В Mist v4.3 вы теперь можете управлять KubeVirt, LXD и G8 наряду с публичными и частными облаками, гипервизорами, Docker и голыми металлическими серверами. намсте'

Я считаю, что вы можете установить LXD, и он должен увидеть все ваши контейнеры lxc (как и его расширение). Если нет, должен быть простой способ перенести контейнеры lxc в lxd. Послесловие, вы можете использовать это расширение LXE для кубернатов.

Другие вопросы по тегам