Anthos VM ランタイムは、Anthos clusters on bare metal で仮想マシンベースのワークロードを実行するための重要なコンポーネントです。
Anthos VM ランタイムとは
Anthos VM ランタイムは、Anthos clusters on bare metal の一部です。これにより、コンテナの実行と同じ方法で Kubernetes 上で VM を実行できます。Anthos VM ランタイムを使用することで、新しいコンテナベースのアプリケーションを開発して実行しながら、既存の VM ベースのワークロードを実行できます。Anthos VM ランタイムは、従来の仮想化環境のハイパーバイザと類似しています。
Anthos VM ランタイムを使用すると、VM の状態の表示と管理、監査ログやコンソールログの収集ができます。Anthos VM ランタイムは、従来の仮想化環境で使用されている管理コンソール ツールのように機能します。
Anthos VM ランタイムを使用するために、既存の VM ベースのワークロードをモダナイズまたはアップグレードする必要はありません。VM は、従来の仮想化環境と同じように実行されますが、Anthos クラスタのアプリケーションに対する単一ワークフローやプロセスのメリットがあります。そうしたい場合は、これらの VM ベースのワークロードをコンテナに移行し、同じ Anthos 管理ツールを引き続き使用できます。
利点
Anthos VM ランタイムには、次の利点があります。
- コンテナを使用する場合と同様に、VM リソースをプログラムによって使用できます。
- コンテナと VM 全体でリソースを効率的に使用できます。
- VM とコンテナの管理と運用を統合できます。
- 新しいコンテナ化されたアプリケーションと従来の VM ベースアプリとの間のトラフィックを一元的に可視化して制御する。
- クラウドやコンテナ化されたアプリへの移行の簡素化。
Anthos VM ランタイムは、Anthos clusters on bare metal 上での VM の移行や新しい VM の構築に役立ちます。
Anthos VM ランタイムと KubeVirt の違い
Anthos VM ランタイムは、KubeVirt オープンソース プロジェクトで構築されます。Kubevirt は Kubernetes 専用に構築されており、宣言型 API モデルに従って Kubernetes リソースモデル、カスタム リソース定義、オペレーターを使用します。Anthos VM ランタイムは、Kubevirt を Anthos clusters on bare metal に統合し、一貫した方法でアプリケーションを管理します。このセクションでは、KubeVirt で利用できない Anthos VM ランタイムのいくつかの主な機能の概要を説明します。
ライフサイクル
Anthos プラットフォームの機能を活用する Anthos VM ランタイムは、Anthos プラットフォームと完全に統合されます。Anthos VM ランタイムは、CLI コマンド、API、Google Cloud コンソールのいずれかを使用して、インストール、アップグレード、アンインストールできます。互換性のあるストレージで使用する場合、Anthos クラスタのアップグレードには、VM ワークロードの中断を最小限に抑えるために、ホスト間での VM ワークロードのライブ マイグレーション(プレビュー)が含まれます。
クラウドを利用した管理操作環境
Anthos VM ランタイムは、オンプレミス環境用のクラウドに類似したエクスペリエンスを提供します。この操作環境には、次に挙げるクラウドのような新しい基本要素が含まれています。
VirtualMachineType
オブジェクトによって、特定の CPU とメモリ構成で事前定義された VM タイプを管理者が作成できます。VirtualMachineDisk
オブジェクトとStorageProfile
オブジェクトにより、複数のディスクのサポートとStorageClass
プロパティの一元管理が実現されます。Network
オブジェクトによって、Kubernetes の仮想スイッチに似た機能を使用できます。
Storage
Anthos VM ランタイムによって、クラスタ内の各 StorageClass
にストレージ プロファイル オブジェクト StorageProfile
が自動的に生成されます。この新しいプロファイル オブジェクトを使用すると、1 つの場所から、VM の StorageClass
プロパティ(accessMode
や volumeMode
など)を構成できます。
複数のディスクを VM にアタッチできます。既存のディスクを接続することも、新しいディスクを作成して接続することも可能です。新しい VirtualMachineDisk
カスタム リソースを使用すると、バンドルされた Containerized Data Importer(CDI)を使用して、空のディスクや、既存のイメージからディスクを作成できます。CDI では、認証情報で保護された Cloud Storage からイメージを pull することもできます。
ネットワーキング
Anthos VM ランタイムは、KubeVirt のデフォルトの pod-network
サービスを拡張し、本番環境の VM ワークロードにより適したネットワーキング オプションを提供します。また、Container Network Interface(CNI)フレームワークに基づく既存のネットワーク スタックを拡張します。さらに、Kubernetes で仮想スイッチに似た機能を有効にする Network
オブジェクトを追加します。ネットワーク プラグインは Kubernetes でも使用できますが、それには、独自のインストール、ライフサイクル、管理が必要です。Anthos VM ランタイムを使用することで、VM は追加設定なしで、複数のレイヤ 2 ネットワーク インターフェース(VLAN タグ、外部 DHCP のサポートなど)とやり取りできます。Anthos VM ランタイムでは、インターフェース オブジェクトも導入されます。これにより、VM を再起動、移行、再作成しても、IP アドレスと MAC アドレスの両方を維持できます。新しいネットワーク スタックは NetworkPolicy
と統合されているため、Kubernetes プリミティブを使用して VM 間のレイヤ 4 トラフィックを制御できます。
オブザーバビリティ
Anthos VM ランタイムは、Google Cloud コンソールで VM のオブザーバビリティを自動的にサポートします。Anthos クラスタと Anthos VM ランタイムのロギングに加え、VM シリアル コンソールのログが Cloud Logging に自動的にストリーミングされます。VM のログは、コンテナログとともにログ エクスプローラで表示できます。VM の CPU、メモリ、ディスク、ネットワークの指標を、Google Cloud コンソールで確認できます。また、使い慣れた Google Cloud サービスを使用して、ダッシュボード、アラート、通知との統合を実装することもできます。
管理
Anthos VM ランタイム機能のほとんどは、CLI、API、Google Cloud コンソールから利用できます。この柔軟な方法によって、複数のデベロッパーと運用上のスタイルがサポートされます。Anthos のスタック、Anthos Config Management、Policy Controller の機能を利用することで、GitOps の手法と詳細なポリシーの両方を実装することもできます。また、従来の KubeVirt ツール(virtctl
など)も、追加の Anthos VM ランタイム機能をサポートするように拡張されています。
GPU のサポート
Anthos VM ランタイムを使用すると、VM でサポートされている NVIDIA GPU カードを有効にして、機械学習などの特殊なワークロードを利用できます。
始める
Anthos VM ランタイムを使い始めるには、次のドキュメントをご覧ください。
- Anthos VM ランタイムを有効または無効にする
- クイックスタート: Anthos clusters on bare metal に VM を作成する
- Anthos VM ランタイムを使用する VM の電源状態を管理する
- Anthos VM ランタイムを使用する VM のコンソールログを表示する