Google Distributed Cloud용 VM 런타임은 Google Distributed Cloud에서 가상 머신 기반 워크로드를 실행하기 위한 핵심 구성요소입니다.
GDC용 VM 런타임이란 무엇인가요?
GDC용 VM 런타임은 컨테이너를 실행하는 것과 동일한 방식으로 Kubernetes에서 VM을 실행할 수 있게 해주는 Google Distributed Cloud의 일부입니다. GDC용 VM 런타임을 사용하면 새로운 컨테이너 기반 애플리케이션을 개발하고 실행할 때 기존 VM 기반 워크로드를 실행할 수 있습니다. GDC용 VM 런타임은 다른 가상화된 환경의 하이퍼바이저와 같습니다.
GDC용 VM 런타임을 사용하면 VM 상태를 확인 및 관리하고 감사 또는 콘솔 로그를 수집할 수 있습니다. GDC용 VM 런타임은 다른 가상화 환경에서 사용되는 관리 콘솔 도구와 같이 작동합니다.
GDC용 VM 런타임을 사용하도록 기존 VM 기반 워크로드를 현대화하거나 업그레이드할 필요가 없습니다. VM은 다른 가상화 환경에서 수행되는 것처럼 실행되지만, Google Distributed Cloud 클러스터의 애플리케이션에서 단일 워크플로 및 프로세스 집합을 활용할 수 있습니다. 준비가 되면 이러한 VM 기반 워크로드를 컨테이너로 마이그레이션하고 동일한 GKE Enterprise 관리 도구를 계속 사용할 수 있습니다.
이점
GDC용 VM 런타임에는 다음과 같은 이점이 있습니다.
- 컨테이너를 사용하는 것처럼 프로그래매틱 방식으로 VM 리소스를 사용할 수 있는 기능
- 컨테이너와 VM에서 효율적인 리소스 사용
- VM 및 컨테이너에 대한 통합 관리 및 운영
- 새로운 컨테이너화된 애플리케이션과 기존 VM 기반 앱 간의 트래픽에 대한 통합 가시성 및 제어
- 클라우드 또는 컨테이너화된 앱으로 간편하게 마이그레이션
GDC용 VM 런타임을 사용하면 Google Distributed Cloud를 기반으로 VM을 마이그레이션하거나 새 VM을 빌드하는 데 도움이 됩니다.
GDC용 VM 런타임과 KubeVirt의 차이점
GDC용 VM 런타임은 KubeVirt 오픈소스 프로젝트를 기반으로 빌드됩니다. Kubevirt는 특별히 Kubernetes용으로 빌드되었으며 선언적 API 모델에 따라 Kubernetes 리소스 모델, 커스텀 리소스 정의 또는 연산자를 사용합니다. GDC용 VM 런타임은 Kubevirt를 Google Distributed Cloud에 통합하여 애플리케이션을 관리하는 일관적인 방법을 제공합니다. 이 섹션에서는 KubeVirt에서 사용할 수 없는 GDC용 VM 런타임의 주요 기능 중 일부를 간략하게 설명합니다.
Lifecycle
GKE Enterprise 플랫폼의 성능을 기반으로 빌드된 GDC용 VM 런타임은 GKE Enterprise 플랫폼과 완전히 통합됩니다. CLI 명령어, API 또는 Google Cloud 콘솔을 사용하여 GDC용 VM 런타임을 설치, 업그레이드, 제거할 수 있습니다. 호환 가능한 스토리지와 함께 사용하는 경우 GKE Enterprise 클러스터 업그레이드에는 호스트 간 VM 워크로드의 라이브 마이그레이션(미리보기)이 포함되어 잠재적인 VM 워크로드 중단이 최소화됩니다.
클라우드 지원 관리 경험
GDC용 VM 런타임은 온프레미스 설치를 위해 클라우드와 유사한 환경을 제공합니다. 이 환경에는 다음과 같이 새로운 클라우드와 유사한 요소가 포함되어 있습니다.
VirtualMachineType
객체를 사용하면 관리자가 특정 CPU 및 메모리 구성을 사용해서 사전 정의된 VM 유형을 만들 수 있습니다.VirtualMachineDisk
및StorageProfile
객체는 여러 디스크에 대한 지원과StorageClass
속성의 중앙 집중식 관리 기능을 추가합니다.Network
객체는 Kubernetes에서 가상 스위치와 유사한 기능을 사용 설정합니다.
스토리지
GDC용 VM 런타임은 클러스터의 각 StorageClass
에 대해 스토리지 프로필 객체 StorageProfile
을 자동으로 생성합니다. 이 새로운 프로필 객체를 사용하면 단일 위치에서 accessMode
및 volumeMode
를 포함하여 VM에 대한 StorageClass
속성을 구성할 수 있습니다.
하나의 VM에 여러 디스크를 연결할 수 있습니다. 기존 디스크를 연결하거나 새 디스크를 만들고 연결할 수 있습니다. 새 VirtualMachineDisk
커스텀 리소스를 사용하면 번들 컨테이너화된 데이터 가져오기 도구(CDI)를 사용하여 기존 이미지에서 빈 디스크 또는 디스크를 만들 수 있습니다. CDI를 사용해서 사용자 인증 정보로 보호되는 Cloud Storage에서 이미지를 가져올 수도 있습니다.
네트워킹
GDC용 VM 런타임은 KubeVirt의 기본 pod-network
서비스를 확장하여 프로덕션 VM 워크로드에 더 적합한 네트워킹 옵션을 제공합니다.
GDC용 VM 런타임은 컨테이너 네트워크 인터페이스(CNI) 프레임워크를 기반으로 기존 네트워크 스택을 확장합니다. GDC용 VM 런타임은 Kubernetes에서 가상 스위치와 비슷한 기능을 사용 설정하는 Network
객체를 추가합니다.
네트워크 플러그인은 Kubernetes에 사용할 수 있지만 자체 설치, 수명 주기, 관리가 필요합니다. GDC용 VM 런타임을 사용하면 즉시 사용 가능한 VM이 VLAN 태그, 외부 DHCP 등의 지원을 포함하여 여러 Layer 2 네트워크 인터페이스와 상호 작용할 수 있습니다. 또한 GDC용 VM 런타임에는 VM을 다시 시작하거나 마이그레이션하거나 다시 만드는 경우에도 IP 및 MAC 주소 고정을 모두 사용 설정하는 인터페이스 객체가 도입되었습니다. 새로운 네트워크 스택은 NetworkPolicy
와도 통합되므로 Kubernetes 기본 요소를 사용하여 VM 간의 Layer 4 트래픽을 제어할 수 있습니다.
관측 가능성
GDC용 VM 런타임은 Google Cloud 콘솔에서 VM 관측 가능성을 자동으로 지원합니다. GDC 로깅용 GKE 클러스터 및 VM 런타임 외에도 VM 직렬 콘솔 로그가 자동으로 Cloud Logging으로 스트리밍됩니다. VM 로그는 컨테이너 로그와 함께 로그 탐색기에서 확인할 수 있습니다. Google Cloud 콘솔에서 VM CPU, 메모리, 디스크, 네트워크 측정항목을 볼 수 있습니다. 또한 친숙한 Google Cloud 서비스를 사용해서 대시보드, 알림, 통지 통합을 구현할 수 있습니다.
관리
GDC용 VM 런타임 기능 대부분은 명령줄, API, Google Cloud 콘솔에서 사용할 수 있습니다. 이러한 유연한 접근 방식은 여러 가지 개발자 및 운영 스타일을 지원합니다. GKE Enterprise 스택의 성능을 활용해서 구성 동기화 및 정책 컨트롤러를 사용하여 GitOps 방법론 및 세부 정책을 구현할 수 있습니다. 마지막으로 virtctl
과 같은 KubeVirt 도구도 추가 GDC용 VM 런타임 기능을 지원하도록 확장되었습니다.
GPU 지원
GDC용 VM 런타임을 사용하면 VM에서 지원되는 NVIDIA GPU 카드를 사용 설정하여 머신러닝 및 기타 특수 워크로드를 사용 설정할 수 있습니다.
시작하기
GDC용 VM 런타임을 사용하려면 다음 문서를 참조하세요.
- GDC용 VM 런타임 사용 설정 또는 사용 중지
- 빠른 시작: Google Distributed Cloud에서 VM 만들기
- GDC용 VM 런타임을 사용하는 VM의 전원 상태 관리
- GDC용 VM 런타임을 사용하는 VM의 콘솔 로그 보기