콘텐츠로 이동

SolusVM 2 OS 이미지 빌더

SolusVM 2 OS Image Builder(지금부터 Builder라고 부르겠습니다)는 SolusVM 2 팀에서 만든 도구입니다. Builder는 사용자 정의 cloud-init 호환 QEMU/KVM OS 이미지를 구축하는 데 도움이 됩니다.

SolusVM 2에는 즉시 사용할 수 있는 다양한 OS 및 애플리케이션이 함께 제공됩니다. 그러나 원하는 매개변수, 설치된 패키지, 애플리케이션 등을 포함하여 고유한 사용자 정의 OS 이미지를 추가할 수 있습니다. 어떤 경우에는 사용자 정의 OS 이미지를 구축하는 것이 간단한 작업이 아닐 수 있습니다. 더 쉽게 작업할 수 있도록 다음을 추가하려는 경우에 유용한 Builder를 만들었습니다.

  • 애플리케이션이 사전 설치된 OS 이미지. 서버가 생성될 때 애플리케이션을 직접 배포하는 것은 애플리케이션 배포에 많은 시간이 걸리기 때문에 옵션이 아닙니다.
  • OS 이미지가 아직 공개적으로 제공되지 않고 OS 공급업체보다 먼저 제공하려는 OS. 예를 들어 CentOS 8 이미지는 OS 자체가 이미 출시되었음에도 불구하고 한동안 공개적으로 제공되지 않았습니다.
  • 공개적으로 사용 가능한 이미지가 없는 OS입니다.

빌더 작동 방식

Builder README를 사용하여 사용자 지정 이미지 빌드를 시작하기 전에 먼저 Builder의 작동 방식에 대한 일반적인 아이디어를 얻는 것이 좋습니다.

도구로서의 빌더는 다음으로 구성됩니다.

  • Packer by HashiCorp를 사용하여 이미지를 빌드하는 기본 build.sh 스크립트입니다.

  • Packer가 사용하는 다양한 JSON 템플릿.

    템플릿은 이미지를 구축하는 방법(예: 가져올 OS 및 원본 위치, 설치할 애플리케이션 및 기타 소프트웨어, 실행할 명령 등)을 정의합니다. 템플릿은 이미지 생성을 자동화하는 데 도움이 됩니다.

    CentOS, Rocky Linux, Alma Linux, Ubuntu, Debian, Alpine Linux, VzLinux, Oracle Linux 및 Windows OS에 대한 템플릿을 준비했습니다. 그 중 하나가 사용자 정의 이미지의 OS인 경우 해당 템플릿을 기본으로 사용할 수 있습니다. 원하는 OS 이미지에 따라 Packer 설명서에 따라 템플릿을 편집해야 합니다.

  • 이미지 구축에 유용할 수 있는 다양한 추가 스크립트입니다. 예를 들어 scp를 통해 빌드된 OS 이미지를 다른 서버로 전송하는 스크립트입니다. build.sh를 시작할 때 해당 옵션을 지정하여 이 스크립트를 시작합니다.

간단히 말해서 Builder는 Packer를 사용하여 이미지를 더 쉽게 빌드하는 데 도움이 되는 스크립트 및 구성 모음입니다.