7.3. 가상 머신 콘솔에 연결
다음 콘솔에 연결하여 실행 중인 VM(가상 머신)에 액세스할 수 있습니다.
7.3.1. VNC 콘솔에 연결
OpenShift Container Platform 웹 콘솔 또는 virtctl
명령줄 툴을 사용하여 가상 머신의 VNC 콘솔에 연결할 수 있습니다.
7.3.1.1. 웹 콘솔을 사용하여 VNC 콘솔에 연결
OpenShift Container Platform 웹 콘솔을 사용하여 VM(가상 머신)의 VNC 콘솔에 연결할 수 있습니다.
중재된 장치로 할당된 vGPU를 사용하여 Windows VM에 연결하는 경우 기본 디스플레이와 vGPU 디스플레이 간에 전환할 수 있습니다.
프로세스
-
가상화
VirtualMachines 페이지에서 VM을 클릭하여 VirtualMachine 세부 정보 페이지를 엽니다. - 콘솔 탭을 클릭합니다. VNC 콘솔 세션이 자동으로 시작됩니다.
선택 사항: Windows VM의 vGPU 디스플레이로 전환하려면 Send 키 목록에서 Ctl + Alt + 2 를 선택합니다.
- 기본 디스플레이를 복원하려면 Send 키 목록에서 Ctl + Alt + 1 을 선택합니다.
- 콘솔 세션을 종료하려면 콘솔 창 외부를 클릭한 다음 연결 끊기 를 클릭합니다.
7.3.1.2. virtctl을 사용하여 VNC 콘솔에 연결
virtctl
명령줄 툴을 사용하여 실행 중인 가상 머신의 VNC 콘솔에 연결할 수 있습니다.
SSH 연결을 통해 원격 머신에서 virtctl vnc
명령을 실행하는 경우 -X
또는 -Y
플래그를 사용하여 ssh
명령을 실행하여 X 세션을 로컬 머신에 전달해야 합니다.
사전 요구 사항
-
virt-viewer
패키지를 설치해야 합니다.
프로세스
다음 명령을 실행하여 콘솔 세션을 시작합니다.
$ virtctl vnc <vm_name>
연결에 실패하면 다음 명령을 실행하여 문제 해결 정보를 수집합니다.
$ virtctl vnc <vm_name> -v 4
7.3.1.3. VNC 콘솔의 임시 토큰 생성
VM(가상 머신)의 VNC에 액세스하려면 Kubernetes API에 대한 임시 인증 전달자 토큰을 생성합니다.
Kubernetes에서는 curl 명령을 수정하여 전달자 토큰 대신 클라이언트 인증서를 사용한 인증도 지원합니다.
사전 요구 사항
-
OpenShift Virtualization 4.14 이상 및
ssp-operator
4.14 이상이 있는 실행 중인 VM
프로세스
HyperConverged (
HCO
) 사용자 정의 리소스(CR)에서 기능 게이트를 활성화합니다.$ oc patch hyperconverged kubevirt-hyperconverged -n openshift-cnv --type json -p '[{"op": "replace", "path": "/spec/featureGates/deployVmConsoleProxy", "value": true}]'
다음 명령을 입력하여 토큰을 생성합니다.
$ curl --header "Authorization: Bearer ${TOKEN}" \ "https://api.<cluster_fqdn>/apis/token.kubevirt.io/v1alpha1/namespaces/<namespace>/virtualmachines/<vm_name>/vnc?duration=<duration>"
&
lt;duration
> 매개변수는 시간 및 분 단위로 설정할 수 있으며 최소 기간은 10분입니다. 예:5h30m
. 이 매개변수를 설정하지 않으면 토큰이 기본적으로 10분 동안 유효합니다.샘플 출력:
{ "token": "eyJhb..." }
선택 사항: 출력에 제공된 토큰을 사용하여 변수를 생성합니다.
$ export VNC_TOKEN="<token>"
이제 토큰을 사용하여 VM의 VNC 콘솔에 액세스할 수 있습니다.
검증
다음 명령을 입력하여 클러스터에 로그인합니다.
$ oc login --token ${VNC_TOKEN}
virtctl
명령을 사용하여 VM의 VNC 콘솔에 대한 액세스를 테스트합니다.$ virtctl vnc <vm_name> -n <namespace>
현재 특정 토큰을 취소할 수 없습니다.
토큰을 취소하려면 해당 토큰을 생성하는 데 사용된 서비스 계정을 삭제해야 합니다. 그러나 서비스 계정을 사용하여 생성된 다른 모든 토큰도 취소합니다. 다음 명령을 주의해서 사용하십시오.
$ virtctl delete serviceaccount --namespace "<namespace>" "<vm_name>-vnc-access"
7.3.2. 직렬 콘솔 연결
OpenShift Container Platform 웹 콘솔 또는 virtctl
명령줄 툴을 사용하여 가상 머신의 직렬 콘솔에 연결할 수 있습니다.
단일 가상 머신에 대한 동시 VNC 연결 실행은 현재 지원되지 않습니다.
7.3.2.1. 웹 콘솔을 사용하여 직렬 콘솔에 연결
OpenShift Container Platform 웹 콘솔을 사용하여 VM(가상 머신)의 직렬 콘솔에 연결할 수 있습니다.
프로세스
-
가상화
VirtualMachines 페이지에서 VM을 클릭하여 VirtualMachine 세부 정보 페이지를 엽니다. - 콘솔 탭을 클릭합니다. VNC 콘솔 세션이 자동으로 시작됩니다.
- 연결 끊기 를 클릭하여 VNC 콘솔 세션을 종료합니다. 그렇지 않으면 VNC 콘솔 세션이 백그라운드에서 계속 실행됩니다.
- 콘솔 목록에서 직렬 콘솔 을 선택합니다.
- 콘솔 세션을 종료하려면 콘솔 창 외부를 클릭한 다음 연결 끊기 를 클릭합니다.
7.3.2.2. virtctl을 사용하여 직렬 콘솔에 연결
virtctl
명령줄 툴을 사용하여 실행 중인 가상 머신의 직렬 콘솔에 연결할 수 있습니다.
프로세스
다음 명령을 실행하여 콘솔 세션을 시작합니다.
$ virtctl console <vm_name>
-
Ctrl Cryostat를
눌러 콘솔 세션을 종료합니다.
7.3.3. 데스크탑 뷰어에 연결
데스크탑 뷰어 및 RDP(Remote Desktop Protocol)를 사용하여 Windows VM(가상 머신)에 연결할 수 있습니다.
7.3.3.1. 웹 콘솔을 사용하여 데스크탑 뷰어에 연결
OpenShift Container Platform 웹 콘솔을 사용하여 Windows VM(가상 머신)의 데스크탑 뷰어에 연결할 수 있습니다.
사전 요구 사항
- Windows VM에 QEMU 게스트 에이전트가 설치되어 있어야 합니다.
- RDP 클라이언트가 설치되어 있어야 합니다.
프로세스
-
가상화
VirtualMachines 페이지에서 VM을 클릭하여 VirtualMachine 세부 정보 페이지를 엽니다. - 콘솔 탭을 클릭합니다. VNC 콘솔 세션이 자동으로 시작됩니다.
- 연결 끊기 를 클릭하여 VNC 콘솔 세션을 종료합니다. 그렇지 않으면 VNC 콘솔 세션이 백그라운드에서 계속 실행됩니다.
- 콘솔 목록에서 데스크탑 뷰어를 선택합니다.
- RDP 서비스 생성 을 클릭하여 RDP 서비스 대화 상자를 엽니다.
- Expose RDP Service 를 선택하고 저장을 클릭하여 노드 포트 서비스를 생성합니다.
-
원격 데스크탑 시작을 클릭하여
.rdp
파일을 다운로드하고 데스크탑 뷰어를 시작합니다.