我们有许多 LXC Linux 容器在数据中心的 Linux 主机上运行。我被要求探索将这些容器移动到 Azure 作为云迁移策略的一部分的可行性,但我很难找到有关 Azure 中此类场景支持的任何信息。
所以我的问题是:
- 我可以在 Azure 中的 Linux VM 上托管 LXC Linux 容器吗?
- LXC 容器可以与 Kubernetes 编排(例如使用 Azue Kubernetes 服务)吗?
- 这里还有其他选择吗?
答案1
老问题可能已经解决,但这就是我的设置解决这个问题的方式。
我运行基于 Ubuntu 18.04 服务器的主机数字海洋主要使用这个设置: 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
不提供裸机。又名,像 LXC/LXD 那样降低性能上的 Virt-Tax。事实上,如果您没有在 C5 或 M5 AWS Nitro 主机上运行,并且未提供 LXD,则无论云提供商如何,您都需要支付虚拟税。