LXD 시작하기는 Linux에서 효율적이고 가벼운 컨테이너 및 가상 머신 관리를 위한 문을 열어줍니다. LXD는 Linux 컨테이너의 배포와 관리를 간소화하는 강력한 시스템 컨테이너 및 VM 관리자로, 웹 애플리케이션 호스팅, 테스트 환경, 마이크로서비스 배포에 이상적인 솔루션입니다. 기존 가상화와 컨테이너화 사이의 간극을 메우고 현대 인프라 요구 사항에 유연성과 성능을 제공합니다.
이 글에서는 실제 시나리오에서 LXD를 사용하여 컨테이너를 설치하고 관리하는 방법을 단계별 데모로 안내합니다. 또한 필수 LXD 명령을 빠르게 참조할 수 있도록 표 형식의 요약 치트 시트를 제공하여 컨테이너 관리 워크플로를 간소화하는 데 필요한 도구를 갖추도록 돕겠습니다.
이전 글:
01. Ubuntu Server 소개 – SysOSX: AI & Cloud
02. 첫 Ubuntu Server 설정 방법: 초보자 가이드 – SysOSX: AI & Cloud
03.Ubuntu Server용 Linux 명령줄 마스터하기 – SysOSX: AI & Cloud
04. Ubuntu Server에서 사용자 및 권한 관리: 종합 가이드 – SysOSX: AI & Cloud
05. Ubuntu Server 네트워킹 기초: 종합 가이드 – SysOSX: AI & Cloud
06. Ubuntu Server에 소프트웨어 설치 및 관리: 완전 가이드 – SysOSX: AI & Cloud
07.Ubuntu Server 패치 및 업데이트: 종합 가이드 – SysOSX: AI & Cloud
08. Ubuntu Server 보안: 강화 및 보호를 위한 실제 단계 – SysOSX: AI & Cloud
10. Ubuntu Server용 시스템 모니터링 도구: 종합 가이드 – SysOSX: AI & Cloud
11. Ubuntu Server 중앙 집중식 로깅: 필독 가이드 – SysOSX: AI & Cloud
12. Ubuntu Server 감사 및 규정 준수: 모범 사례 – SysOSX: AI & Cloud
13.호스팅 및 웹 애플리케이션용 Ubuntu Server 설정: 최종 가이드 – SysOSX: AI & Cloud
14. 단일 Ubuntu Server에서 여러 웹사이트 호스팅: 유용한 팁 – SysOSX: AI & Cloud
15. Ubuntu Server에서 스토리지 및 디스크 관리: 간단 가이드 – SysOSX: AI & Cloud
16. Ubuntu Server에서 파일 공유 서비스 설정: 완전 가이드 – SysOSX: AI & Cloud
17. Ubuntu에서 보안 데이터베이스 서버 설정: MySQL 대 MariaDB – SysOSX: AI & Cloud
18. Ubuntu Server에서 LVM 구성 및 사용 방법: 종합 가이드 – SysOSX: AI & Cloud
19. KVM을 이용한 가상화 소개: Ubuntu Server 초보자 가이드 – SysOSX: AI & Cloud
20. Ubuntu Server에 Docker 설치 방법: 컨테이너화 단계별 가이드 – SysOSX: AI & Cloud
목차
LXD란?
LXD는 Linux Containers (LXC) 기반으로 구축된 오픈소스 컨테이너 관리 도구입니다. 가상 머신처럼 동작하지만 더 빠르고 가벼운 시스템 컨테이너를 제공합니다. LXD를 사용하면 다음과 같은 작업을 할 수 있습니다:
- 컨테이너 안에서 전체 Linux 배포판을 실행합니다.
- 고급 네트워킹 및 스토리지 기능을 사용합니다.
- REST API를 통해 컨테이너를 원격으로 관리합니다.
- 다운타임을 최소화하면서 호스트 간에 컨테이너를 마이그레이션합니다.
Snap을 사용하여 LXD 설치
최신 Ubuntu 시스템에 LXD를 설치하는 권장 방법은 Snap을 이용하는 것입니다. 다음 단계를 따르세요:
1. Snapd 설치
시스템에 Snap이 설치되어 있는지 확인하세요. Snap이 설치되어 있지 않다면 다음을 실행하세요:
sudo apt update
sudo apt install snapd
2. LXD 설치
Snap을 사용하여 LXD를 설치하세요:
sudo snap install lxd

3. 설치 확인
설치된 LXD 버전을 확인하세요:
lxd --version

데모: LXD를 사용하여 컨테이너 설치
LXD를 사용하여 Ubuntu 22.04를 실행하는 컨테이너를 만들고 관리하는 일반적인 시나리오를 살펴보겠습니다.
1단계: LXD 초기화
다음 명령을 실행하여 LXD를 초기화하세요:
sudo lxd init

스토리지, 네트워킹 및 기타 설정을 구성하라는 메시지가 표시됩니다. 간편하게 기본 옵션을 선택할 수 있습니다.
2단계: Ubuntu 컨테이너 시작
다음 명령으로 Ubuntu 22.04를 실행하는 컨테이너를 만들고 시작하세요:
lxc launch ubuntu:22.04 web-server

이 명령은 Ubuntu 22.04 이미지를 사용하여 다음 이름의 컨테이너를 만듭니다: web-server.
3단계: 컨테이너 액세스
컨테이너에 대한 셸 액세스 권한을 얻으세요:
lxc exec web-server -- bash

이제 컨테이너 안에 들어갔으며 패키지를 설치하거나 서비스를 구성할 수 있습니다. 예를 들어 Apache를 설치하세요:
apt update
apt install apache2 -y
Apache 서비스를 시작하세요:
systemctl start apache2
4단계: 컨테이너 네트워킹 확인
컨테이너에서 나온 뒤 IP 주소를 확인하세요:
lxc list

브라우저에서 컨테이너의 IP 주소를 방문하거나 curl http://ip를 사용하여 연결을 확인함으로써 컨테이너의 웹 서버에 액세스하세요.

5단계: 컨테이너 중지 및 삭제
컨테이너가 더 이상 필요하지 않으면 중지하세요:
lxc stop web-server
컨테이너를 삭제하세요:
lxc delete web-server
LXD 명령줄 치트 시트
자주 사용하는 LXD 명령에 대한 요약 치트 시트는 다음과 같습니다:
| 범주 | 명령 | 설명 |
|---|---|---|
| 초기화 | lxd init | 처음 사용하기 전에 LXD를 초기화합니다. |
| 인스턴스 생성 | lxc init <image> <name> | 시작하지 않고 컨테이너를 만듭니다. |
lxc launch <image> <name> | 컨테이너를 만들고 시작합니다. | |
lxc launch <image> <name> --vm | 가상 머신을 만들고 시작합니다. | |
| 인스턴스 관리 | lxc list | 모든 인스턴스를 나열합니다. |
lxc info <instance> | 인스턴스에 대한 정보를 표시합니다. | |
lxc start <instance> | 인스턴스를 시작합니다. | |
lxc stop <instance> [--force] | 인스턴스를 중지합니다. | |
| `lxc delete <instance> [–force | –interactive]` | |
| 인스턴스 액세스 | lxc exec <instance> -- <command> | 인스턴스 안에서 명령을 실행합니다. |
lxc exec <instance> -- bash | 인스턴스에 대한 셸 액세스 권한을 얻습니다. | |
lxc console <instance> | 인스턴스에 대한 콘솔 액세스 권한을 얻습니다. | |
| 파일 관리 | lxc file pull <instance>/<path> <local_path> | 인스턴스에서 파일을 가져옵니다. |
lxc file push <local_path> <instance>/<path> | 인스턴스로 파일을 푸시합니다. | |
| 프로젝트 | lxc project create <project> | 프로젝트를 만듭니다. |
lxc project set <project> <option> | 프로젝트를 구성합니다. | |
lxc project switch <project> | 프로젝트로 전환합니다. |
공식 문서:
LXD 시작하기
결론
LXD는 컨테이너 관리를 간소화하여 개발자, 시스템 관리자 및 DevOps 엔지니어에게 탁월한 선택입니다. 가벼운 성능과 VM과 같은 기능을 갖춘 LXD는 애플리케이션 호스팅, 테스트 환경 등에 이상적입니다.
이 글에서는 일반적인 시나리오에서 LXD를 사용하여 컨테이너를 설치하고 관리하는 방법을 보여주었습니다. 또한 치트 시트에서는 필수 LXD 명령을 빠르게 참조할 수 있습니다.
다음 주제:
다음 글에서는 다음 주제를 다룰 예정입니다: Ubuntu Server에서 Podman 사용 방법. 기대해 주세요.