Размещение контейнеров LXC Linux в Azure

Размещение контейнеров LXC Linux в Azure

У нас есть несколько контейнеров LXC Linux, работающих на хосте Linux в центре обработки данных. Меня попросили изучить возможность перемещения этих контейнеров в Azure в рамках стратегии миграции в облако, но мне сложно найти какую-либо информацию о поддержке такого сценария в Azure.

Итак, мои вопросы:

  1. Могу ли я просто разместить контейнеры LXC Linux на виртуальной машине Linux в Azure?
  2. Можно ли организовать контейнеры LXC с помощью Kubernetes (например, с помощью Azue Kubernetes Service)?
  3. Есть ли здесь другие варианты?

решение1

Старый вопрос и проблема, вероятно, решены, но вот как моя настройка решила бы эту проблему.

Я запускаю свой хост на базе сервера Ubuntu 18.04 по адресуDigitalOceanв основном использую такую ​​настройку: https://blog.simos.info/trying-out-lxd-containers-on-ubuntu-on-digitalocean/

В зависимости от ваших потребностей в безопасности вы можете захотеть настроить VPN-решение, но есть брандмауэр, и вам нужно открыть порт 8443 вместе с другими необходимыми портами, например 22.

Это немного устарело, но содержит много полезной информации о LXC/LXD. https://stgraber.org/2016/04/12/lxd-2-0-remote-hosts-and-container-migration-612/

Вы добавляете свой DigitalOceanHost в качестве удаленного хоста:

OnPremHost#lxc config set core.https_address [::]:8443
OnPremHost#lxc config set core.trust_password something-secure

DigitalOceanHost#lxc config set core.https_address [::]:8443
DigitalOceanHost#lxc config set core.trust_password something-secure

OnPremHost#lxc remote add DigitalOceanHost "DigitalOcean IP"
Generating a client certificate. This may take a minute...
Certificate fingerprint: ca5484446dfgsdg4dfgs6gs4g6d465s4g6sgcg659h8gy8hg4ahdjhjkj6
ok (y/n)? y
Admin password for DigitalOceanHost:
Client certificate stored at server:  DigitalOceanHost

OnPremHost#lxc snapshot localContainer remoteContainer
OnPremHost#lxc copy localContainer/remoteContainer DigitalOceanHost:DigitalOceanContainer

Затем я управляю контейнерами с локального хоста следующим образом:

OnPremHost#lxc list DigitalOceanHost:
+----------+---------+---------------------+------+------------+-----------+
|   NAME   |  STATE  |        IPV4         | IPV6 |    TYPE    | SNAPSHOTS |
+----------+---------+---------------------+------+------------+-----------+
| container| RUNNING | 10.10.10.10 (eth0)  |      | PERSISTENT | 1         |
+----------+---------+---------------------+------+------------+-----------+

OnPremHost#lxc exec lxchost3:container bash
container#

Видетьhttps://gist.github.com/berndbausch/a6835150c7a26c88048763c0bd739be6для получения дополнительных команд lxc.

Таким образом, можно легко обслуживать контейнеры, используя моментальные снимки в качестве резервных копий, хранящихся в локальном хранилище, и писать сценарии для большинства задач.

решение2

Не предоставляет bare metal. То есть, отбрасывает Virt-Tax на производительность, как это делают LXC/LXD. Фактически, если вы не работаете на хостах C5 или M5 AWS Nitro, вы платите virt-tax независимо от облачного провайдера, если LXD не предоставляется.

Связанный контент