VM 인스턴스를 만들면, Distributed Cloud는 기본 구성으로 부팅 영구 디스크를 자동으로 만듭니다. VM의 부팅 디스크도 만들어야 합니다. 공개 이미지 또는 커스텀 이미지를 사용할 수 있습니다.
인스턴스에 데이터 저장 디스크가 추가로 필요한 경우 VM에 영구 디스크를 추가합니다.
이 문서는 VM의 맞춤설정된 부팅 디스크를 만드는 플랫폼 관리자 또는 애플리케이션 운영자 그룹의 개발자를 대상으로 합니다. 자세한 내용은 GDC 에어 갭 문서의 대상 고객을 참고하세요.
시작하기 전에
gdcloud 명령줄 인터페이스 (CLI) 명령어를 사용하려면 다운로드, 설치,
및 gdcloud CLI를 구성해야 합니다.
Distributed Cloud의 모든 명령어는 gdcloud 또는 kubectl CLI를 사용하며 운영체제 (OS) 환경이 필요합니다.
kubeconfig 파일 경로 가져오기
Management API 서버에 대해 명령어를 실행하려면 다음 리소스가 있어야 합니다.
로그인하고 생성합니다. Management API 서버의 kubeconfig 파일이 없는 경우 kubeconfig 파일을 생성합니다.
Management API 서버의 kubeconfig 파일 경로를 사용하여 이 안내의
MANAGEMENT_API_SERVER를 바꿉니다.
IAM 역할 요청
프로젝트 IAM 관리자에게 문의하여 프로젝트에 다음 역할을 요청합니다.
가상 머신 프로젝트 관리자 (
project-vm-admin): 프로젝트 네임스페이스에서 표준 및 고성능 VM을 만들고, 수정하고, 나열하고, 삭제합니다.프로젝트 뷰어(
project-viewer): 프로젝트 네임스페이스 내의 모든 리소스를 봅니다.
모든 VM 역할은 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 \ -n vm-system \ get virtualmachineimages.virtualmachine.gdc.goog특정 GDC에서 제공한 이미지의
minimumDiskSize를 가져옵니다. 만든 맞춤설정된 부팅 디스크의 크기는minimumDiskSize이상이어야 합니다.kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \ -ojsonpath='{.spec.minimumDiskSize}'VirtualMachineDisk객체를 만듭니다.kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -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_SERVERManagement 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 \ -n PROJECT \ get virtualmachineimages.virtualmachine.gdc.goog 특정 맞춤설정된 이미지의
minimumDiskSize를 가져옵니다. 만든 맞춤설정된 부팅 디스크의 크기는minimumDiskSize이상이어야 합니다.kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \ -ojsonpath='{.spec.minimumDiskSize}'VirtualMachineDisk객체를 만듭니다.kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -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_SERVERManagement API 서버 kubeconfig 파일입니다. IMAGE_NAME모든 커스텀 이미지 나열명령어에서 선택한 이미지의 이름입니다. PROJECT부팅 디스크를 만들 GDC 프로젝트입니다. BOOT_DISK_NAME부팅 디스크의 이름입니다. DISK_SIZE부팅 디스크의 크기입니다. 이미지의 minimumDiskSize이상이어야 합니다.