Azure에서 LXC Linux 컨테이너 호스팅

Azure에서 LXC Linux 컨테이너 호스팅

데이터 센터의 Linux 호스트에서 실행되는 많은 LXC Linux 컨테이너가 있습니다. 클라우드 마이그레이션 전략의 일환으로 이러한 컨테이너를 Azure로 이동하는 타당성을 조사해 달라는 요청을 받았지만 Azure에서 이러한 시나리오에 대한 지원에 대한 정보를 찾는 데 어려움을 겪고 있습니다.

그래서 내 질문은 다음과 같습니다

  1. Azure의 Linux VM에서 LXC Linux 컨테이너를 호스팅할 수 있나요?
  2. LXC 컨테이너를 Kubernetes와 오케스트레이션할 수 있나요(예: Azure Kubernetes 서비스 사용)?
  3. 여기에 다른 옵션이 있나요?

답변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

그런 다음 다음과 같이 localhost에서 컨테이너를 관리합니다.

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/a6835150c7a26c88048763c0bd739be6lxc 명령에 대해 자세히 알아보세요.

이렇게 하면 로컬 스토리지에 저장된 백업으로 스냅샷을 사용하여 컨테이너를 쉽게 유지하고 대부분의 작업을 스크립트로 작성할 수 있습니다.

답변2

베어 메탈을 사용할 수 없습니다. LXC/LXD처럼 성능을 저하시키는 Virt-Tax라고도 합니다. 실제로 C5 또는 M5 AWS Nitro 호스트에서 실행하지 않고 LXD가 프로비저닝되지 않은 경우 클라우드 제공업체에 관계없이 가상세를 납부해야 합니다.

관련 정보