3.2. virtctl 및 libguestfs CLI 툴 사용
virtctl 명령줄 툴을 사용하여 OpenShift Virtualization 리소스를 관리할 수 있습니다.
libguestfs 명령줄 툴을 사용하여 VM(가상 머신) 디스크 이미지에 액세스하고 수정할 수 있습니다. virtctl libguestfs 명령을 사용하여 libguestfs를 배포합니다.
3.2.1. virtctl 설치 링크 복사링크가 클립보드에 복사되었습니다!
RHEL(Red Hat Enterprise Linux) 9, Linux, Windows 및 MacOS 운영 체제에 virtctl 을 설치하려면 virtctl 바이너리 파일을 다운로드하여 설치합니다.
RHEL 8에 virtctl 을 설치하려면 OpenShift Virtualization 리포지토리를 활성화한 다음 kubevirt-virtctl 패키지를 설치합니다.
3.2.1.1. RHEL 9, Linux, Windows 또는 macOS에 virtctl 바이너리 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 웹 콘솔에서 운영 체제의 virtctl 바이너리를 다운로드한 다음 설치할 수 있습니다.
프로세스
-
웹 콘솔의 가상화
개요 페이지로 이동합니다. -
Download virtctl 링크를 클릭하여 운영 체제의
virtctl바이너리를 다운로드합니다. install
virtctl:RHEL 9 및 기타 Linux 운영 체제의 경우:
아카이브 파일의 압축을 풉니다.
tar -xvf <virtctl-version-distribution.arch>.tar.gz
$ tar -xvf <virtctl-version-distribution.arch>.tar.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
virtctl바이너리를 실행할 수 있도록 합니다.chmod +x <path/virtctl-file-name>
$ chmod +x <path/virtctl-file-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow virtctl바이너리를PATH환경 변수의 디렉터리로 이동합니다.다음 명령을 실행하여 경로를 확인할 수 있습니다.
echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow KUBECONFIG환경 변수를 설정합니다.export KUBECONFIG=/home/<user>/clusters/current/auth/kubeconfig
$ export KUBECONFIG=/home/<user>/clusters/current/auth/kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Windows의 경우:
- 아카이브 파일의 압축을 풉니다.
-
추출된 폴더 계층 구조로 이동하고
virtctl실행 파일을 두 번 클릭하여 클라이언트를 설치합니다. virtctl바이너리를PATH환경 변수의 디렉터리로 이동합니다.다음 명령을 실행하여 경로를 확인할 수 있습니다.
path
C:\> pathCopy to Clipboard Copied! Toggle word wrap Toggle overflow
macOS의 경우:
- 아카이브 파일의 압축을 풉니다.
virtctl바이너리를PATH환경 변수의 디렉터리로 이동합니다.다음 명령을 실행하여 경로를 확인할 수 있습니다.
echo $PATH
echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.1.2. RHEL 8에 virtctl RPM 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Virtualization 리포지토리를 활성화하고 kubevirt-virtctl 패키지를 설치하여 RHEL(Red Hat Enterprise Linux) 8에 virtctl RPM 패키지를 설치할 수 있습니다.
사전 요구 사항
- 클러스터의 각 호스트는 RHSM(Red Hat Subscription Manager)에 등록되어 있어야 하며 유효한 OpenShift Container Platform 서브스크립션이 있어야 합니다.
프로세스
subscription-managerCLI 툴을 사용하여 다음 명령을 실행하여 OpenShift Virtualization 리포지토리를 활성화합니다.subscription-manager repos --enable cnv-4.15-for-rhel-8-x86_64-rpms
# subscription-manager repos --enable cnv-4.15-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
kubevirt-virtctl패키지를 설치합니다.yum install kubevirt-virtctl
# yum install kubevirt-virtctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.2. virtctl 명령 링크 복사링크가 클립보드에 복사되었습니다!
virtctl 클라이언트는 OpenShift Virtualization 리소스를 관리하는 명령줄 유틸리티입니다.
VM(가상 머신) 명령은 별도로 지정하지 않는 한 VMI(가상 머신 인스턴스)에도 적용됩니다.
3.2.2.1. virtctl information 명령 링크 복사링크가 클립보드에 복사되었습니다!
virtctl information 명령을 사용하여 virtctl 클라이언트에 대한 정보를 봅니다.
| 명령 | 설명 |
|---|---|
|
|
|
|
|
|
|
| 특정 명령의 옵션 목록을 확인합니다. |
|
|
|
3.2.2.2. VM 정보 명령 링크 복사링크가 클립보드에 복사되었습니다!
virtctl 을 사용하여 VM(가상 머신) 및 VMI(가상 머신 인스턴스)에 대한 정보를 볼 수 있습니다.
| 명령 | 설명 |
|---|---|
|
| 게스트 머신에서 사용 가능한 파일 시스템을 확인합니다. |
|
| 게스트 머신의 운영 체제에 대한 정보를 봅니다. |
|
| 게스트 머신에서 로그인한 사용자를 확인합니다. |
3.2.2.3. VM 매니페스트 생성 명령 링크 복사링크가 클립보드에 복사되었습니다!
virtctl create 명령을 사용하여 가상 머신, 인스턴스 유형 및 기본 설정에 대한 매니페스트를 생성할 수 있습니다.
| 명령 | 설명 |
|---|---|
|
|
|
| VM 매니페스트를 생성하여 VM의 이름을 지정합니다. |
|
| 기존 클러스터 전체 인스턴스 유형을 사용하는 VM 매니페스트를 생성합니다. |
|
| 기존 네임스페이스 인스턴스 유형을 사용하는 VM 매니페스트를 생성합니다. |
|
| 클러스터 전체 인스턴스 유형에 대한 매니페스트를 생성합니다. |
|
| 네임스페이스가 지정된 인스턴스 유형에 대한 매니페스트를 생성합니다. |
|
| 클러스터 전체 VM 기본 설정에 대한 매니페스트를 생성하여 기본 설정 이름을 지정합니다. |
|
| 네임스페이스가 지정된 VM 기본 설정에 대한 매니페스트를 생성합니다. |
3.2.2.4. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3.2.2.5. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3.2.2.6. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3.2.2.7. 링크 복사링크가 클립보드에 복사되었습니다!
oc patch hyperconverged kubevirt-hyperconverged -n openshift-cnv \ --type json -p '[{"op": "add", "path": "/spec/featureGates", \ "value": "HotplugVolumes"}]'$ oc patch hyperconverged kubevirt-hyperconverged -n openshift-cnv \ --type json -p '[{"op": "add", "path": "/spec/featureGates", \ "value": "HotplugVolumes"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
virtctl vmexport download <vmexport_name> --vm|pvc=<object_name> \ --volume=<volume_name> --output=<output_file>
$ virtctl vmexport download <vmexport_name> --vm|pvc=<object_name> \
--volume=<volume_name> --output=<output_file>
|
|
|
|
|
|
|
|
|
3.2.2.8. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
|
|
|
|
|
|
3.2.2.9. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
3.2.3. 링크 복사링크가 클립보드에 복사되었습니다!
virtctl guestfs -n <namespace> <pvc_name>
$ virtctl guestfs -n <namespace> <pvc_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.3.1. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|