VM을 최대한 빨리 부팅해야 하는 경우 이 페이지의 안내에 따라 가상 머신 (VM) 시작 시간을 최소화하세요. 시작 시간을 최소화하면 리소스 효율성이 저하됩니다. 즉, 프로젝트에서 추가 리소스를 사용하고 보안 노출 영역이 증가합니다.
이 문서는 Distributed Cloud 환경에서 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 역할 요청
VM의 시작 시간을 최소화하려면 프로젝트 IAM 관리자에게 문의하여 가상 머신 프로젝트 관리자 (project-vm-admin) 역할을 요청하세요.
모든 VM 역할은 VM이 상주하는 프로젝트의 네임스페이스에 바인딩되어야 합니다. 액세스 권한을 확인하는 단계를 따르세요.
디스크 연결 유지
VM이 시작되면 VM의 노드에서 VM의 디스크로 연결을 시작하는 데 몇 초가 걸립니다. VM을 더 빠르게 시작하려면 VM이 종료될 때 디스크 연결을 유지해야 합니다. 그래야 후속 VM 시작 시 디스크 연결이 다시 시작되지 않습니다. 이를 위해 디스크 연결 유지 명령어를 실행하면 시스템에서 모든 VM의 디스크를 마운트하는 더미 포드를 자동으로 만듭니다.
디스크 연결 유지 사용 설정
프로젝트 PROJECT에서 VM_NAME이라는 VM의 디스크 연결을 유지하려면 다음 명령어를 실행합니다. 이렇게 하면 시스템에서 더미 포드를 자동으로 만듭니다.
kubectl --kubeconfig MANAGEMENT_API_SERVER \
-n PROJECT \
patch virtualmachines.virtualmachine.gdc.goog VM_NAME \
--type merge --patch $'
metadata:
annotations:
disk.virtualmachine.gdc.goog/enable-connection-keep-alive: "true"
'
다음 정의를 사용하여 이 안내 전반에서 변수를 바꿉니다.
| 변수 | 정의 |
|---|---|
MANAGEMENT_API_SERVER |
Management API 서버 kubeconfig 파일입니다. |
VM_NAME |
VM의 이름입니다. |
PROJECT |
VM이 상주하는 GDC 프로젝트입니다. |
디스크 연결 유지가 사용 설정되면 VM과 동일한
프로젝트에
disk-connection-keep-alive-VM_NAME이라는 포드가 생성됩니다. VM의 디스크 연결이 포드에 의해 유지되므로 다음 VM 다시 시작이 더 빠르고 후속 시작 시간도 더 빠릅니다.
디스크 연결 유지 선호도 설정
Kubernetes 스케줄러는 VM이 다시 시작될 때 VM에 다른 노드를 선택할 수 있습니다. 이러한 상황이 발생할 가능성을 줄이려면 VM과 연결 유지 포드 간에 VM 간 선호도 규칙을 구성하세요. 이 작업이 자동으로 실행되도록 구성합니다.
kubectl --kubeconfig MANAGEMENT_API_SERVER \
-n PROJECT \
patch virtualmachines.virtualmachine.gdc.goog VM_NAME \
--type merge --patch $'
metadata:
annotations:
disk.virtualmachine.gdc.goog/add-connection-keep-alive-affinity: "true"
'
이렇게 하면 VM의 선호도 설정이 연결 유지 포드에 추가됩니다.
주의사항
디스크 연결을 유지하는 데는 다음과 같은 두 가지 주의사항이 있습니다.
- 연결 유지 포드는 추가 리소스 사용량을 발생시킵니다.
- 노드당 포드 수 제한에 포함됩니다.
- Kubernetes에서 할당한 추가 IP 주소를 사용합니다.
- 무시할 수 있는 추가 CPU 및 메모리 양을 사용합니다.
- 연결 유지 포드가 있는 노드에는 VM이 종료된 경우에도 항상 VM의 디스크가 연결되어 있으므로 보안 노출 영역이 증가합니다.
BIOS 펌웨어 사용
GDC에서 통일 확장 펌웨어 인터페이스 (UEFI) 펌웨어로 VM을 시작하는 것이 BIOS 펌웨어로 VM을 시작하는 것보다 느립니다.
시작 시간이 최소화되도록 하려면 VM의 펌웨어 유형을 BIOS로 설정하세요.
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ patch virtualmachines.virtualmachine.gdc.goog VM_NAME \ -type merge --patch $' spec: firmware: type: bios enableSecureBoot: 'VM이 실행 중인 경우 VM 다시 시작 안내에 따라 VM을 다시 시작합니다.
주의사항
BIOS 펌웨어를 사용하는 데는 보안 부팅을 지원하지 않는다는 주의사항이 있습니다.
대용량 부팅 디스크 사용
VM 시작 시간을 최소화하려면 크기가 500GB 이상인 부팅 디스크를 VM에 연결하세요.