Red Hat Blog를 보다가 관심 가는 글이 보여서 AI번역+약간 교정해 보았습니다.
출처: https://developers.redhat.com/articles/2025/11/07/automate-vm-golden-image-builds-openshift-packer
모든 가상화 환경에서 가상 머신(VM) 간의 일관성을 유지하는 것은 매우 중요한 과제입니다. 골든 이미지 ( 사전 구성된 VM 템플릿)는 업계 표준 솔루션입니다. 골든 이미지는 모든 새 VM에 올바른 OS 설정, 보안 패치 및 모니터링 도구가 내장되어 제공되도록 보장합니다. 하지만 지루한 수동 작업 없이 이러한 이미지를 어떻게 만들고 관리할 수 있을까요?
바로 이 부분에서 Packer가 등장합니다. Packer는 단일 템플릿에서 여러 플랫폼에 대한 동일한 머신 이미지를 자동으로 생성하는 도구입니다. 이 문서에서는 Packer와 KVM 플러그인을 함께 사용하여 Red Hat OpenShift Virtualization 전용 골든 이미지를 구축하는 방법을 설명합니다 .
Packer
Packer를 사용하면 HashiCorp 구성 언어(HCL) 또는 JSON으로 기술된 단일 소스 템플릿에서 이미지를 생성할 수 있습니다. AWS, Azure, VMware, KVM 등 다양한 플랫폼에 맞는 머신과 이미지를 생성할 수 있는 다양한 플러그인을 제공합니다. 자세한 내용은 Packer 통합 페이지를 참조하세요.
Red Hat OpenShift 가상화
KubeVirt 기반의 Red Hat OpenShift Virtualization은 단일 하이브리드 클라우드 플랫폼에서 컨테이너와 함께 기존 가상 머신을 실행하고 관리할 수 있도록 지원하는 Red Hat OpenShift 의 기능입니다 . 컨테이너화된 워크로드와 가상화된 워크로드를 통합함으로써 관리가 간소화되고 전체 인프라에서 일관된 운영 환경을 제공합니다.
Packer + OpenShift 가상화: 함께하면 더 좋습니다
KVM 플러그인과 몇 가지 간단한 명령만으로 OpenShift Virtualization에서 골든 이미지를 사용할 수 있도록 설정할 수 있습니다. GitHub 저장소에는 Linux(Fedora, RHEL 9) 및 Windows를 포함한 다양한 운영 체제용 이미지를 생성하는 예제 모음이 포함되어 있습니다.
이 글의 후반부에서 이러한 예시 중 하나를 자세히 살펴보겠지만, 일반적인 워크플로는 간단합니다. 운영 체제, 구성 스크립트 및 기타 사용자 지정 사항을 지정하는 Packer 템플릿(HCL)을 정의합니다. 그러면 Packer가 이 템플릿을 사용하여 KVM을 사용하여 VM 이미지를 자동으로 빌드합니다. 출력된 이미지는 qcow2 이미지 파일로, OpenShift Virtualization에 업로드하여 VM 프로비저닝의 골든 이미지로 사용할 수 있습니다.
Packer가 qcow2 파일 생성을 완료하고 이를 OpenShift에 업로드하여 부팅 가능한 이미지로 설정하는 단계는 파이프라인의 일부로 또는 Red Hat Ansible Automation Platform 이나 Terraform과 같은 자동화 도구를 사용하여 쉽게 자동화할 수 있습니다.
주요 특징 및 이점:
- 자동화: 지루한 수동 이미지 생성을 없애 시간을 절약하고 구성 편차를 방지합니다.
- 사용자 정의: 특정 소프트웨어, 사용자 구성 및 보안 설정을 이미지에 직접 쉽게 내장할 수 있습니다.
- 성능 최적화: KVM에서 Windows용 virtio 드라이버를 사용하여 거의 기본에 가까운 성능을 달성하는 등 사용자 환경에 가장 적합한 드라이버로 이미지를 빌드합니다.
- 위험 감소: 이미지 생성 프로세스를 자동화하면 수동 방식에 비해 표준화되고 오류가 덜 발생하는 접근 방식이 보장됩니다.
- 간단한 통합: 빌드 프로세스는 몇 가지 간단한 명령으로 OpenShift Virtualization에 업로드할 수 있는 qcow2 파일을 출력합니다. CI/CD 파이프라인에 적합합니다.
시작하기
이 프로젝트의 GitHub 저장소에는 시작 방법에 대한 자세한 지침이 있습니다. 다음은 관련 단계에 대한 간략한 개요입니다.
- 저장소 복제 : 프로젝트의 로컬 사본을 얻습니다.
- Packer와 KVM 설치 : 시스템에 Packer를 설치합니다.
- 예를 선택하세요 : 저장소에는 다양한 운영 체제에 대한 예가 포함되어 있습니다.
- 이미지 빌드 : Packer 빌드 명령을 실행하여 사용자 지정 VM 이미지를 만듭니다.
- OpenShift에 업로드 : virtctl 및 oc 명령줄 도구를 사용하여 이미지를 OpenShift Virtualization에 업로드합니다.
Windows Server 2019 예제를 통해 자동화가 어떻게 구현되는지 살펴보겠습니다. windows2019.pkr.hcl Packer 템플릿은 프로세스를 정의하고 전체 빌드를 조율합니다.
소스 블록은 Packer가 가상 CD-ROM을 생성하여 새 VM에 연결하는 중요한 첫 단계를 정의합니다. 이 CD에는 무인 설치에 필요한 모든 파일이 포함되어 있습니다.
# This creates a virtual CD with our automation files and drivers. cd_files = [ "./autounattend.xml", "./scripts/Configure-WinRM.ps1", "./virtio/" ] cd_label = "PACKERDRV" # A label for our driver CD
Windows 설치 프로그램은 이 가상 CD의 autounattend.xml 파일을 응답 파일로 사용하여 설치를 자동화합니다. 이 XML 파일 내에서 설치 프로그램은 가상 CD(일반적으로 E: 드라이브에 마운트됨)에 있는 virtio 드라이버를 참조합니다. 이를 통해 Windows는 처음부터 고성능 KVM 네이티브 스토리지 및 네트워크 드라이버를 사용할 수 있습니다.
<DriverPaths>
<PathAndCredentials wcm:action="add" wcm:keyValue="1">
<Path>E:\virtio\viostor\2k19\amd64</Path>
</PathAndCredentials>
<PathAndCredentials wcm:action="add" wcm:keyValue="2">
<Path>E:\virtio\NetKVM\2k19\amd64</Path>
</PathAndCredentials>
</DriverPaths>OS 설치가 완료되면 autounattend.xml 파일에 중요한 작업이 하나 더 있습니다. 바로 이 FirstLogonCommands섹션이 PowerShell 스크립트를 자동으로 실행하는 것입니다.
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<CommandLine>powershell.exe -ExecutionPolicy Bypass -File E:\Configure-WinRM.ps1</CommandLine>
<Description>Install and Configure SSH</Description>
<Order>1</Order>
</SynchronousCommand>
</FirstLogonCommands> 이 스크립트는 Packer와의 통신 채널을 여는 Windows 원격 관리(WinRM)를 구성합니다 . Packer가 WinRM을 통해 VM에 연결되면 설치 후 구성을 실행합니다. 이 예에서는 qcow2 이미지를 완성하기 전에 Windows 업데이트를 설치하는 스크립트를 실행합니다.
이미지에서 OpenShift VM으로
Packer가 qcow2 파일을 생성하면 마지막 단계는 해당 파일을 OpenShift Virtualization에서 사용할 수 있도록 만드는 것입니다.
- 이미지 업로드 : 먼저 qcow2 파일을 업로드합니다. 그러면 새 가상 머신의 부팅 가능한 볼륨 역할을 하는 PVC(영구 볼륨 클레임)가 생성됩니다.
- 템플릿 만들기(선택 사항) : 재사용성을 높이기 위해 이 새로운 부팅 가능 볼륨을 가리키는 사용자 지정 VM 템플릿을 만들 수 있습니다. 이를 통해 개발자와 운영자는 OpenShift 콘솔에서 몇 번의 클릭만으로 완전히 구성된 새 VM을 프로비저닝할 수 있습니다.
여러 OpenShift 클러스터를 관리하는 조직의 경우, Red Hat Advanced Cluster Management (RHACM) 를 사용하여 이러한 골든 이미지 배포 및 관리를 간소화할 수 있습니다. Red Hat Advanced Cluster Management 정책은 이러한 템플릿과 관련 리소스를 전체 시스템에 자동으로 배포하여 일관성을 유지하고 운영 비용을 크게 절감할 수 있습니다.
저장소의 README.md 파일에는 이에 대한 자세한 지침이 제공되며, 여기에는 Red Hat Advanced Cluster Management 정책을 사용하여 이러한 이미지를 여러 클러스터에 분산하는 방법의 예가 포함됩니다.
OpenShift에서 VM 이미지 간소화
VM 이미지 생성 프로세스를 자동화함으로써 팀은 효율성, 일관성 및 확장성을 향상시킵니다. 개발자, 시스템 관리자, DevOps 엔지니어 등 누구든 Packer와 OpenShift Virtualization의 강력한 조합을 통해 워크플로를 간소화하고 플랫폼을 최대한 활용할 수 있습니다.
OpenShift에서 VM 이미지 관리 방식을 간소화할 준비가 되었다면 openshift-virt-packer 저장소를 살펴보세요. 저장소를 복제하고, 예제를 실행하고, Packer와 OpenShift Virtualization을 사용하여 자동화된 이미지 파이프라인을 지금 바로 구축해 보세요. 자세한 내용은 Packer 및 OpenShift Virtualization – VM 관리 설명서 에서 확인할 수 있습니다 .
Red Hat OpenShift Virtualization에 대해 자세히 알아보려면 Red Hat OpenShift Virtualization을 도입해야 하는 15가지 이유 전자책을 확인하고 가상화 마이그레이션 평가를 통해 Red Hat 전문가와 함께 마이그레이션 계획을 수립하는 방법을 알아보세요 .