У нас есть несколько контейнеров LXC Linux, работающих на хосте Linux в центре обработки данных. Меня попросили изучить возможность перемещения этих контейнеров в Azure в рамках стратегии миграции в облако, но мне сложно найти какую-либо информацию о поддержке такого сценария в Azure.
Итак, мои вопросы:
- Могу ли я просто разместить контейнеры LXC Linux на виртуальной машине Linux в Azure?
- Можно ли организовать контейнеры LXC с помощью Kubernetes (например, с помощью Azue Kubernetes Service)?
- Есть ли здесь другие варианты?
решение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 не предоставляется.