8장. 가상 머신 템플릿

8.1. 가상 머신 템플릿 생성

가상 머신 템플릿을 사용하면 유사한 구성의 가상 머신을 여러 개 생성할 수 있습니다. 템플릿을 생성한 후 가상 머신을 생성할 때 해당 템플릿을 참조합니다.

8.1.1. 웹 콘솔에서 대화식 마법사를 사용하여 가상 머신 템플릿 생성

웹 콘솔에는 일반, 네트워킹, 스토리지, 고급, 검토 단계를 안내하는 대화식 마법사가 있어 가상 머신 템플릿 생성 프로세스를 단순화합니다. 모든 필수 필드는 *로 표시됩니다. 마법사에서는 필수 필드에 값을 제공해야 다음 단계로 이동할 수 있습니다.

프로세스

  1. OpenShift Virtualization 콘솔의 사이드 메뉴에서 워크로드가상화를 클릭합니다.
  2. 가상 머신 템플릿 탭을 클릭합니다.
  3. 템플릿 생성을 클릭하고 마법사로 새로 생성을 선택합니다.
  4. 일반 단계의 모든 필수 필드를 입력합니다.
  5. 다음을 클릭하여 네트워킹 화면을 진행합니다. 기본적으로 이름이 nic0인 NIC가 연결되어 있습니다.

    1. 선택 사항: 네트워크 인터페이스 추가를 클릭하여 추가 NIC를 생성합니다.
    2. 선택 사항: 옵션 메뉴 kebab 를 클릭하고 삭제를 선택하여 일부 또는 모든 NIC를 제거할 수 있습니다. 템플릿으로 생성한 가상 머신에는 NIC를 연결할 필요가 없습니다. NIC는 가상 머신을 생성한 후 생성할 수 있습니다.
  6. 다음을 클릭하여 스토리지 화면을 진행합니다.

    1. 선택 사항: 디스크 추가를 클릭하여 추가 디스크를 만듭니다.
    2. 선택 사항: 디스크를 클릭하여 사용 가능한 필드를 수정합니다. ✓ 버튼을 클릭하여 변경 사항을 저장합니다.
    3. 선택 사항: Disk(디스크 )를 클릭하여 Select Storage (스토리지 선택) 목록에서 사용 가능한 디스크를 선택합니다.

      참고

      일반 단계에서 URL 또는 Container소스로 선택하면 rootdisk 디스크가 생성되어 가상 머신에 부팅 가능 디스크로 연결됩니다. rootdisk를 수정할 수는 있지만 제거할 수는 없습니다.

      가상 머신에 연결된 디스크가 없는 경우 PXE 소스에서 프로비저닝된 가상 머신에는 부팅 가능 디스크가 필요하지 않습니다. 하나 이상의 디스크가 가상 머신에 연결된 경우 하나의 디스크를 부팅 가능 디스크로 선택해야 합니다.

  7. 가상 머신 템플릿 생성 >을 클릭합니다. 결과 화면에 가상 머신 템플릿의 JSON 구성 파일이 표시됩니다.

    템플릿은 가상 머신 템플릿 탭에 나열됩니다.

8.1.2. 가상 머신 템플릿 대화식 마법사 필드

다음 표에는 가상 머신 템플릿 생성 대화식 대화 상자의 기본 설정, 네트워킹, 스토리지 창 필드가 설명되어 있습니다.

8.1.2.1. 가상 머신 템플릿 마법사 필드

이름매개변수설명

소스

PXE

PXE 메뉴에서 가상 머신을 프로비저닝합니다. 클러스터에 PXE 지원 NIC가 필요합니다.

URL

HTTP 또는 S3 끝점의 사용 가능한 이미지에서 가상 머신을 프로비저닝합니다.

컨테이너

클러스터에서 액세스할 수 있는 레지스트리의 부팅 가능한 운영 체제 컨테이너에서 가상 머신을 프로비저닝합니다. 예를 들면 kubevirt/cirros-registry-disk-demo입니다.

디스크

디스크에서 가상 머신을 프로비저닝합니다.

운영 체제

 

가상 머신에 대해 선택된 기본 운영 체제입니다.

플레이버

작음, 중간, 큼, 매우 작음, 사용자 정의

가상 머신에 할당된 CPU 및 메모리의 양을 결정하는 사전 설정입니다. 플레이버에 표시되는 사전 설정은 운영 체제에 따라 다릅니다.

메모리

 

가상 머신에 할당된 메모리 크기(GiB)입니다.

CPU

 

가상 머신에 할당된 CPU의 양입니다.

워크로드 프로필

고성능

고성능 워크로드에 최적화된 가상 머신 구성입니다.

서버

서버 워크로드를 실행하는 데 최적화된 프로필입니다.

데스크탑

데스크탑에서 사용할 가상 머신 구성입니다.

이름

 

이름에는 소문자(a-z), 숫자(0-9), 하이픈(-)이 최대 253자까지 포함될 수 있습니다. 첫 문자와 마지막 문자는 영숫자여야 합니다. 이름에는 대문자, 공백, 마침표(.) 또는 특수 문자가 포함되어서는 안 됩니다.

설명

 

선택적 설명 필드입니다.

8.1.2.2. Cloud-init 필드

이름설명

호스트 이름

가상 머신의 특정 호스트 이름을 설정합니다.

인증된 SSH 키

가상 머신의 ~/.ssh/authorized_keys에 복사되는 사용자의 공개 키입니다.

사용자 정의 스크립트

기타 옵션을 사용자 정의 cloud-init 스크립트를 붙여넣는 필드로 교체합니다.

8.1.2.3. 네트워킹 필드

이름설명

이름

네트워크 인터페이스 컨트롤러의 이름입니다.

모델

네트워크 인터페이스 컨트롤러의 모델을 나타냅니다. 지원되는 값은 e1000evirtio입니다.

네트워크

사용 가능한 네트워크 연결 정의 목록입니다.

유형

사용 가능한 바인딩 방법 목록입니다. 기본 Pod 네트워크의 경우 권장되는 유일한 바인딩 방법은 masquerade입니다. 보조 네트워크의 경우 bridge 바인딩 방법을 사용하십시오. 기본이 아닌 네트워크에서는 가상 방법이 지원되지 않습니다.

MAC 주소

네트워크 인터페이스 컨트롤러의 MAC 주소입니다. MAC 주소를 지정하지 않으면 주소가 자동으로 할당됩니다.

8.1.2.4. 스토리지 필드

이름설명

소스

가상 머신의 빈 디스크를 선택하거나 사용 가능한 옵션 중에서 선택합니다. URL,컨테이너,복제된 디스크 연결 또는 디스크 연결. 기존 디스크를 선택하여 가상 머신에 연결하려면 사용 가능한 PVC(영구 볼륨 클레임) 목록에서 복제된 디스크 연결 또는 디스크 연결을 선택합니다.

이름

디스크 이름입니다. 이름에는 소문자(a-z), 숫자(0-9), 하이픈(-), 마침표(.)가 최대 253자까지 포함될 수 있습니다. 첫 문자와 마지막 문자는 영숫자여야 합니다. 이름에는 대문자, 공백 또는 특수 문자가 포함되어서는 안 됩니다.

크기(GiB)

디스크 크기(GiB)입니다.

인터페이스

디스크 장치의 유형입니다. 지원되는 인터페이스는 virtIO, SATA, SCSI입니다.

스토리지 클래스

디스크를 만드는 데 사용되는 스토리지 클래스입니다.

고급 → 볼륨 모드

영구 볼륨에서 포맷된 파일 시스템을 사용하는지 또는 원시 블록 상태를 사용하는지를 정의합니다. 기본값은 Filesystem입니다.

고급 → 액세스 모드

영구 볼륨의 액세스 모드입니다. 지원되는 액세스 모드는 ReadWriteOnce, ReadOnlyMany, ReadWriteMany입니다.

고급 스토리지 설정

다음 고급 스토리지 설정은 비어 있음, URL을 통해 가져오기, 기존 PVC 복제 디스크에 사용할 수 있습니다. 해당 매개변수는 선택 사항입니다. 이러한 매개변수를 지정하지 않으면 kubevirt-storage-class-defaults 구성 맵의 기본값이 사용됩니다.

이름매개변수설명

볼륨 모드

파일 시스템

파일 시스템 기반 볼륨에 가상 디스크를 저장합니다.

블록

가상 디스크를 블록 볼륨에 직접 저장합니다. 기본 스토리지에서 지원하는 경우에만 Block을 사용하십시오.

액세스 모드

단일 사용자(RWO)

디스크는 단일 노드에서 읽기/쓰기로 마운트할 수 있습니다.

공유 액세스(RWX)

디스크는 여러 노드에서 읽기/쓰기로 마운트할 수 있습니다.

참고

이는 가상 머신의 노드 간 실시간 마이그레이션 등 일부 기능에 필요합니다.

읽기 전용(ROX)

디스크는 많은 노드에서 읽기 전용으로 마운트할 수 있습니다.