VM 속성 업데이트

이 페이지에서는 기존 VM에 대해 업데이트할 수 있는 가상 머신 (VM) 속성과 이러한 업데이트를 실행하는 방법을 설명합니다.

시작하기 전에

gdcloud 명령줄 인터페이스 (CLI) 명령어를 사용하려면 gdcloud CLI를 다운로드, 설치, 구성해야 합니다. Distributed Cloud의 모든 명령어는 gdcloud 또는 kubectl CLI를 사용하며 운영체제 (OS) 환경이 필요합니다.

kubeconfig 파일 경로 가져오기

관리 API 서버에 대해 명령어를 실행하려면 다음 리소스가 있어야 합니다.

  1. 관리 API 서버의 kubeconfig 파일이 없는 경우 로그인 및 생성합니다.

  2. 관리 API 서버의 kubeconfig 파일 경로를 사용하여 이 안내의 MANAGEMENT_API_SERVER를 바꿉니다.

권한 및 액세스 요청

이 페이지에 나열된 작업을 수행하려면 프로젝트 VirtualMachine 관리자 역할이 있어야 합니다. 단계를 따라 VM이 있는 프로젝트의 네임스페이스에 프로젝트 VirtualMachine 관리자 (project-vm-admin) 역할이 있는지 확인합니다.

GDC 콘솔 또는 gdcloud CLI를 사용하는 VM 작업의 경우 프로젝트 IAM 관리자에게 프로젝트 VirtualMachine 관리자 역할과 프로젝트 뷰어 (project-viewer) 역할을 모두 할당해 달라고 요청하세요.

업데이트 가능한 속성

VM의 spec에 있는 속성만 변경할 수 있습니다.

업데이트 가능한 속성 보기

GDC 콘솔 또는 kubectl를 사용하여 변경하려는 속성을 찾습니다.

콘솔

  1. 탐색 메뉴에서 가상 머신 > 인스턴스를 클릭합니다.

  2. VM 목록에서 VM 이름을 클릭하여 속성을 확인합니다.

  3. 수정 가능한 속성에는 수정 아이콘이 있습니다.

kubectl

  1. VM spec의 속성 목록과 각 속성에 해당하는 유효한 값을 확인합니다.

    kubectl --kubeconfig MANAGEMENT_API_SERVER explain virtualmachines.virtualmachine.gdc.goog.spec
    

    출력은 다음과 비슷합니다.

    KIND:     VirtualMachine
    VERSION:  virtualmachine.gdc.goog/v1
    
    RESOURCE: spec <Object>
    
    DESCRIPTION:
         Defines the specification of the Virtual Machine.
    
    FIELDS:
       compute      <Object>
         Specifies the CPU and Memory of the VM. CPU and Memory can be defined
         directly or through the VirtualMachineType. Changes to Compute require a
         reboot to take effect. Compute is immutable when the VM is in `Unknown`
         state.
    
       disks        <[]Object> -required-
         Specifies the list of disks attached to this vm. There must be exactly one
         boot disk. Changes to disk attachments require a reboot to take effect.
    
       ...
    
  2. 각 속성의 하위 속성을 재귀적으로 확인합니다. 다음 예는 computevcpus 하위 속성의 반환을 보여줍니다.

    • 이 예시 명령어는 compute 하위 속성의 필드를 반환합니다.

      kubectl --kubeconfig MANAGEMENT_API_SERVER explain virtualmachines.virtualmachine.gdc.goog.spec.compute
      

      출력은 다음과 비슷합니다.

      KIND:     VirtualMachine
      VERSION:  virtualmachine.gdc.goog/v1
      
      RESOURCE: compute <Object>
      
      DESCRIPTION:
           Specifies the CPU and Memory of the VM. CPU and Memory can be defined
           directly or through the VirtualMachineType. Changes to Compute require a
           reboot to take effect. Compute is immutable when the VM is in `Unknown`
           state.
      
      FIELDS:
         memory       <>
           Specifies the amount of physical memory available to the instance. memory
           must have a minimum value of `1G`, and can be up to (including) `400G`.
      
         vcpus        <integer>
           Specifies the number of VCPUs that are available to the instance. Specify
           `vcpus` as an integer. This value must be a multiple of 2, with 2 as the
           minimum and 128 as the maximum allowed.
      
         ...
      
    • 이 예시 명령어는 vcpus 하위 속성의 필드를 반환합니다.

      kubectl --kubeconfig MANAGEMENT_API_SERVER explain virtualmachines.virtualmachine.gdc.goog.spec.compute.vcpus
      

      출력은 다음과 비슷합니다.

      KIND:     VirtualMachine
      VERSION:  virtualmachine.gdc.goog/v1
      
      FIELD:    vcpus <integer>
      
      DESCRIPTION:
           Specifies the number of VCPUs that are available to the instance. Specify
           `vcpus` as an integer. This value must be a multiple of 2, with 2 as the
           minimum and 128 as the maximum allowed.
      

모든 속성은 실행 중인 VM에서 업데이트할 수 있지만, 적용하려면 VM을 다시 시작해야 하는 경우가 많습니다.

이러한 속성 업데이트를 적용하려면 VM을 다시 시작해야 합니다.

다음 속성 업데이트는 즉시 적용됩니다.

  • guestEnvironment
  • runningState

VM 속성 업데이트

GDC 콘솔 또는 kubectl를 사용하여 VM 속성을 업데이트합니다.

콘솔

  1. 탐색 메뉴에서 가상 머신 > 인스턴스를 클릭합니다.

  2. VM 목록에서 VM 이름을 클릭하여 속성을 확인합니다.

  3. 수정하려는 속성 옆에 있는 수정을 클릭하고 변경합니다.

  4. 부팅 디스크를 교체하거나 새 디스크를 추가하려면 부팅 디스크 교체 또는 VM에 디스크 추가를 참고하세요.

  5. 저장을 클릭합니다.

kubectl

  1. 다음 명령어를 실행합니다.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
       edit virtualmachines.virtualmachine.gdc.goog VM_NAME \
       -n PROJECT
    

    다음 표에 정의된 대로 변수를 바꿉니다.

    변수정의
    MANAGEMENT_API_SERVER관리 API 서버 kubeconfig 파일입니다.
    VM_NAMEVM의 이름입니다.
    PROJECT프로젝트 이름입니다.
  2. spec를 수정하여 업데이트 가능한 속성의 필수 필드와 값을 업데이트합니다.

  3. 파일을 저장합니다.

  4. 속성 업데이트에 VM을 다시 시작해야 하는 경우 VM 다시 시작 안내에 따라 VM을 다시 시작합니다.