Wir haben eine Reihe von LXC-Linux-Containern, die auf einem Linux-Host im Rechenzentrum laufen. Ich wurde gebeten, die Machbarkeit der Verschiebung dieser Container nach Azure als Teil der Cloud-Migrationsstrategie zu untersuchen, aber es fällt mir schwer, Informationen zur Unterstützung eines solchen Szenarios in Azure zu finden.
Meine Fragen sind also:
- Kann ich LXC-Linux-Container einfach auf einer Linux-VM in Azure hosten?
- Können LXC-Container mit Kubernetes orchestriert werden (z. B. mit Azue Kubernetes Service)?
- Gibt es hier noch andere Möglichkeiten?
Antwort1
Die alte Frage und das alte Problem sind wahrscheinlich gelöst, aber so würde mein Setup dieses Problem lösen.
Ich betreibe meinen Host basierend auf Ubuntu 18.04 Server beiDigitalOceanich verwende hauptsächlich dieses Setup: https://blog.simos.info/lxd-containers-auf-ubuntu-auf-digitalocean-ausprobieren/
Abhängig von Ihren Sicherheitsanforderungen möchten Sie möglicherweise eine VPN-Lösung einrichten, es gibt jedoch eine Firewall und Sie müssen Port 8443 zusammen mit anderen benötigten Ports wie 22 öffnen.
Dies ist zwar schon etwas älter, enthält aber viele gute Informationen zu LXC/LXD https://stgraber.org/2016/04/12/lxd-2-0-remote-hosts-and-container-migration-612/
Sie fügen Ihren DigitalOceanHost als Remote-Host hinzu:
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
Dann verwalte ich die Container vom Host vor Ort wie:
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#
Sehenhttps://gist.github.com/berndbausch/a6835150c7a26c88048763c0bd739be6für weitere lxc-Befehle.
Auf diese Weise können Sie die Container einfach verwalten, indem Sie Snapshots als Backups verwenden, die auf dem lokalen Speicher gespeichert sind, und die meisten Aufgaben per Skript ausführen.
Antwort2
Bietet kein Bare Metal. Das heißt, Sie erheben keine Virt-Steuer auf die Leistung, wie es LXC/LXD tun. Wenn Sie nicht auf C5- oder M5-AWS-Nitro-Hosts arbeiten, zahlen Sie die Virt-Steuer unabhängig vom Cloud-Anbieter, wenn LXD nicht bereitgestellt wird.