시작하기 전에
gdcloud
명령줄 인터페이스 (CLI) 명령어를 사용하려면 gdcloud
CLI를 다운로드, 설치, 구성해야 합니다.
Distributed Cloud의 모든 명령어는 gdcloud
또는 kubectl
CLI를 사용하며 운영체제 (OS) 환경이 필요합니다.
kubeconfig 파일 경로 가져오기
관리 API 서버에 대해 명령어를 실행하려면 다음 리소스가 있어야 합니다.
관리 API 서버의 kubeconfig 파일이 없는 경우 로그인 및 생성합니다.
관리 API 서버의 kubeconfig 파일 경로를 사용하여 이 안내의
MANAGEMENT_API_SERVER
를 바꿉니다.
권한 및 액세스 요청
이 페이지에 나열된 작업을 수행하려면 프로젝트 VirtualMachine 관리자 역할이 있어야 합니다. 단계를 따라 VM이 있는 프로젝트의 네임스페이스에 프로젝트 VirtualMachine 관리자 (project-vm-admin
) 역할이 있는지 확인합니다.
GDC 콘솔 또는 gdcloud CLI를 사용하는 VM 작업의 경우 프로젝트 IAM 관리자에게 프로젝트 VirtualMachine 관리자 역할과 프로젝트 뷰어 (project-viewer
) 역할을 모두 할당해 달라고 요청하세요.
부팅 디스크 만들기
가상 머신 (VM) 인스턴스를 만들 때는 VM의 부팅 디스크도 만들어야 합니다. 공개 이미지 또는 커스텀 이미지를 사용할 수 있습니다.
VM 인스턴스를 만들면 GDC는 자동으로 부팅 영구 디스크를 만듭니다. 인스턴스에 데이터 저장 디스크가 추가로 필요한 경우 VM에 영구 디스크를 추가합니다.
이 페이지에 설명된 절차를 사용하여 나중에 VM을 만드는 데 사용할 수 있는 부팅 디스크를 만듭니다.
이미지에서 부팅 디스크 만들기
인스턴스 만들기 절차와 별도로 나중에 독립 부팅 영구 디스크를 만들어 인스턴스에 연결할 수 있습니다. 이 섹션에서는 GDC 제공 OS 이미지 또는 커스텀 OS 이미지에서 부팅 디스크를 만드는 방법을 보여줍니다.
GDC 제공 이미지에서 부팅 디스크 만들기
GDC 제공 이미지를 사용하여 부팅 디스크를 만들기 전에 사용 가능한 이미지 목록을 검토하세요. 그런 다음 제공된 이미지로 부팅 디스크를 만듭니다.
gdcloud
사용 가능한 모든 이미지와 최소 디스크 크기를 나열합니다.
gdcloud compute images list
이 명령어에는 Distributed Cloud에서 제공하는 이미지와 맞춤 이미지가 모두 포함됩니다.
vm-system
네임스페이스에서 하나를 선택합니다.Distributed Cloud에서 제공하는 이미지를 선택하여 VM 디스크를 만듭니다.
gdcloud compute disks create BOOT_DISK_NAME \ --project=PROJECT \ --size=DISK_SIZE \ --image=IMAGE_NAME \ --image-project=vm-system
다음 정의를 사용하여 변수를 바꿉니다.
변수 정의 BOOT_DISK_NAME
부팅 디스크의 이름입니다. PROJECT
부팅 디스크를 만들 GDC 프로젝트입니다. DISK_SIZE
부팅 디스크의 크기는 이미지의 minimumDiskSize
이상이어야 합니다.IMAGE_NAME
이미지의 이름입니다.
kubectl
사용 가능한 모든 GDC 제공 이미지를 나열합니다.
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system
특정 GDC 제공 이미지의
minimumDiskSize
을 가져옵니다. 생성된 맞춤 부팅 디스크의 크기는minimumDiskSize
이상이어야 합니다.kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \ IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
VirtualMachineDisk
객체를 만듭니다.kubectl --kubeconfig MANAGEMENT_API_SERVER apply -n PROJECT -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: BOOT_DISK_NAME spec: source: image: name: IMAGE_NAME namespace: vm-system size: DISK_SIZE EOF
다음 정의를 사용하여 변수를 바꿉니다.
변수 정의 MANAGEMENT_API_SERVER
관리 API 서버 kubeconfig 파일입니다. IMAGE_NAME
이미지의 이름입니다. PROJECT
부팅 디스크를 만들 GDC 프로젝트입니다. BOOT_DISK_NAME
부팅 디스크의 이름입니다. DISK_SIZE
부팅 디스크의 크기는 이미지의 minimumDiskSize
이상이어야 합니다.
커스텀 이미지에서 부팅 디스크 만들기
커스텀 이미지는 사용자 프로젝트에만 속합니다. 커스텀 이미지로 VM을 만들려면 먼저 동일한 프로젝트에서 커스텀 이미지를 만들어야 합니다(아직 없는 경우).
아직 설정하지 않은 경우 프로젝트의 커스텀 이미지에 액세스하는 데 필요한 IAM 역할을 설정합니다. 그런 다음 이 안내를 따르세요.
gdcloud
모든 맞춤 이미지와 최소 디스크 크기를 나열합니다.
gdcloud compute images list \ --project=PROJECT \
VM 디스크를 만들 커스텀 이미지를 선택합니다.
gdcloud compute disks create BOOT_DISK_NAME \ --project=PROJECT \ --size=DISK_SIZE \ --image=IMAGE_NAME \ --image-project=PROJECT
다음 정의를 사용하여 변수를 바꿉니다.
변수 정의 BOOT_DISK_NAME
부팅 디스크의 이름입니다. PROJECT
부팅 디스크를 만들 GDC 프로젝트입니다. DISK_SIZE
부팅 디스크의 크기는 이미지의 minimumDiskSize
이상이어야 합니다.IMAGE_NAME
이미지의 이름입니다.
API
-
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimages.virtualmachine.gdc.goog --namespace PROJECT
특정 맞춤 이미지의
minimumDiskSize
을 가져옵니다. 생성된 맞춤설정 부팅 디스크의 크기는 최소한minimumDiskSize
여야 합니다.kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \ IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
VirtualMachineDisk
객체를 만듭니다.kubectl --kubeconfig MANAGEMENT_API_SERVER \ apply --namespace PROJECT -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: BOOT_DISK_NAME spec: source: image: name: IMAGE_NAME namespace: PROJECT size: DISK_SIZE EOF
다음 정의를 사용하여 변수를 바꿉니다.
변수 정의 MANAGEMENT_API_SERVER
관리 API 서버 kubeconfig 파일입니다. IMAGE_NAME
모든 맞춤 이미지 나열 명령어에서 선택한 이미지의 이름입니다. PROJECT
부팅 디스크를 만들 GDC 프로젝트입니다. BOOT_DISK_NAME
부팅 디스크의 이름입니다. DISK_SIZE
부팅 디스크의 크기는 이미지의 minimumDiskSize
이상이어야 합니다.
부팅 디스크를 교체하려면 부팅 디스크 교체 페이지를 참고하세요.