이 문서에서는 VMRuntime
커스텀 리소스를 업데이트하거나 bmctl
명령어를 실행하여 Anthos VM 런타임을 사용 설정 또는 사용 중지하는 방법을 보여줍니다.
시작하기 전에
Anthos VM 런타임을 사용 설정 또는 사용 중지하려면 다음 리소스 및 도구에 액세스할 수 있어야 합니다.
- 베어메탈용 Anthos 클러스터 버전 1.12.0(
anthosBareMetalVersion: 1.12.0
) 이상 클러스터에 대한 액세스 권한. 워크로드 실행이 가능한 모든 클러스터 유형을 사용할 수 있습니다. 필요한 경우 Compute Engine에서 베어메탈용 Anthos 클러스터를 사용하거나 클러스터 만들기 개요를 참조하세요. bmctl
명령줄 도구 자세한 내용은bmctl
도구 다운로드 및 설치를 참조하세요.
Anthos VM 런타임 사용 설정
Anthos VM 런타임은 베어메탈용 Anthos 클러스터 버전 1.10 이상에 자동으로 설치되지만 기본적으로 사용 중지되어 있습니다. 베어메탈용 Anthos 클러스터에서 VM 리소스를 실행할 수 있으려면 먼저 Anthos VM 런타임을 사용 설정해야 합니다.
bmctl
런타임을 사용 설정하려면
bmctl
도구를 사용합니다.bmctl enable vmruntime --kubeconfig KUBECONFIG_PATH
클러스터의 kubeconfig 파일 경로를 제공합니다. 클러스터를 만들면 베어메탈용 Anthos 클러스터가 관리자 워크스테이션에 kubeconfig 파일을 생성합니다. 기본적으로 경로는
bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig
입니다.Anthos VM 런타임이 이미 사용 설정되어 있으면 명령어가 오류를 반환합니다.
에뮬레이션 또는 이미지 형식과 같은 추가 설정은 VMRuntime
커스텀 리소스를 수정하여 구성할 수 있습니다.
커스텀 리소스
런타임을 사용 설정하려면 VMRuntime
커스텀 리소스를 업데이트합니다. 이 커스텀 리소스는 기본적으로 설치되어 있습니다.
VMRuntime
커스텀 리소스를 수정합니다.kubectl edit vmruntime
사양에서
enabled:true
를 설정합니다.apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: enabled: true # useEmulation defaults to "false" if not set. useEmulation: true # vmImageFormat defaults to "qcow2" if not set. vmImageFormat: qcow2
앞의
spec
섹션에서 다음 값을 설정할 수 있습니다.enabled
: Anthos VM 런타임을 사용 설정하기 위해 true로 설정합니다.useEmulation
: 노드가 하드웨어 가상화를 지원하지 않거나 확실하지 않으면 값을 true로 설정합니다. 사용 가능한 경우 하드웨어 가상화에서 소프트웨어 에뮬레이션보다 우수한 성능을 제공합니다.useEmulation
필드가 지정되지 않으면 기본값은false
입니다.vmImageFormat
: 두 가지 디스크 이미지 형식 값인raw
및qcow2
를 지원합니다.vmImageFormat
을 설정하지 않으면 Anthos VM 런타임에서raw
디스크 이미지 형식을 사용하여 VM을 만듭니다.raw
형식은 쓰기 형식의 사본인qcow2
보다 우수한 성능을 제공할 수 있지만 더 많은 디스크를 사용할 수 있습니다. VM의 이미지 형식에 대한 자세한 내용은 QEMU 문서의 디스크 이미지 파일 형식을 참조하세요.
편집기에서 커스텀 리소스를 저장합니다.
VMRuntime
커스텀 리소스가 사용 설정되었는지 확인합니다.kubectl describe vmruntime vmruntime
VMRuntime
커스텀 리소스의 세부정보에는Status
섹션이 포함됩니다.VMRuntime.Status.Ready
가true
로 표시되면 Anthos VM 런타임이 사용 설정되었고 작동 중입니다.
Anthos VM 런타임 사용 중지
Anthos VM 런타임을 더 이상 사용할 필요가 없으면 이 기능을 사용 중지할 수 있습니다.
bmctl
런타임을 사용 중지하려면
bmctl
도구를 사용합니다.bmctl disable vmruntime --kubeconfig KUBECONFIG_PATH \ --force=true
클러스터에 대한 kubeconfig 파일 경로와 다음 구성 옵션에 대한 값을 제공합니다.
--force
: 기존 VM 리소스 삭제를 확인하려면true
로 설정합니다. 기본값은false
입니다.
커스텀 리소스
런타임을 사용 중지하려면 VMRuntime
커스텀 리소스를 업데이트합니다.
VMRuntime
커스텀 리소스를 수정합니다.kubectl edit vmruntime
사양에서
enabled:false
를 설정합니다.apiVersion: vm.cluster.gke.io/v1` kind: VMRuntime metadata: name: vmruntime spec: enabled: false useEmulation: true vmImageFormat: qcow2
편집기에서 업데이트된 커스텀 리소스 사양을 저장합니다.
VMRuntime
커스텀 리소스가 사용 중지되었는지 확인하려면vm-system
네임스페이스에서 실행되는 포드를 확인합니다.kubectl get pods --namespace vm-system
Anthos VM 런타임은
vmruntime-controller-manager
배포에 속하는 포드가 네임스페이스에서 실행되는 경우에만 사용 중지됩니다.
VM 실행 동작 이해
baremetal.cluster.gke.io/vmrumtime-force-disable
주석을 Anthos VM 런타임 리소스에서 사용하여 VM이 클러스터에서 실행되는 동안 런타임이 사용 중지되었을 때의 동작을 정의할 수 있습니다.
다음 예시는 이 주석의 값이 기본적으로 false
로 설정된 것을 보여줍니다.
// VM runtime yaml file
apiVersion: vm.cluster.gke.io/v1
kind: VMRuntime
metadata:
annotations:
baremetal.cluster.gke.io/vmrumtime-force-disable: "false"
name: vmruntime
[...]
이 주석이 false
로 설정되었으면 Anthos VM 런타임이 실행 중인 VM을 보호하려고 시도합니다. Anthos VM 런타임이 사용 중지되기 전 실행 중인 모든 VM을 삭제하거나 이전 섹션에 표시된 것처럼 bmctl disable vmruntime
명령어로 --force=true
매개변수를 지정합니다.
다음 표에서는 주석이 true
또는 false
로 설정되었을 때 그리고 --force=true
매개변수를 지정하는지 여부에 따라 실행 중인 VM에 발생하는 결과를 설명합니다.
클러스터 상태 | --force 매개변수 | vmrumtime-force-disable 주석 | 동작 |
---|---|---|---|
VM 없음 | 해당 없음 | 해당 없음 | Anthos VM 런타임을 사용 중지합니다. |
기존 VM | True | True | 실행 중인 모든 VM 및 관련 리소스를 삭제합니다. Anthos VM 런타임을 사용 중지합니다. |
True | False | 실행 중인 모든 VM 및 관련 리소스를 삭제합니다. Anthos VM 런타임을 사용 중지합니다. | |
False | True | 실행 중인 VM 및 관련 리소스를 삭제하라는 메시지가 표시됩니다. 실행 중인 모든 VM이 삭제되었으면 Anthos VM 런타임을 사용 중지합니다. | |
False | False | 실행 중인 기존 VM을 삭제하지 않습니다. Anthos VM 런타임을 사용 중지하지 않습니다. bmctl 명령어가 오류를 반환합니다. |