我們有許多 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,則無論雲端提供者如何,您都需要支付虛擬稅。