開発者向け機能 - OpenShift Virtualization (KVM/Kubevirt)
開発者機能
OpenShift Container Platform
RHELでは不足する機能
RHEL KVMは単一ホスト上でハイパーバイザ機能を提供するものであり、いわゆる「High Availablilty (HA) 」を機能として具備していません。Kubevirtとは「HA実現の為にKubernetesを用いたKVM仮想化」として理解頂く事もできます。
RHEL KVMのみの場合
- Node障害やNodeリソースの逼迫に応じたVMの自動的な再起動やリスケジューリングはできません
- これでは商用システムの基盤としては可用性が確保できません
Kubernetesが提供するHAのイメージ
- Kubernetesが複数サーバをClusteringし仮想リソースを提供します
- KubernetesのScheduler機能がよしなにVMの再配置を行います
VMとコンテナアプリケーションの併用
- 同じ OpenShift クラスタの中で VM とコンテナアプリケーションの両方を併用することが可能です
-
- 同じ Workerノード上でも可能で、VM 専用のノードを作る必要はありません
- 同一Project内でも共存することが可能で、CI/CD パイプラインにコンテナアプリと VMの両方を組み込むなど、同質のものとして扱うことができます
- VM とコンテナアプリケーションは OpenShift 内部の仮想ネットワークや Ingress を介して通信が可能です
-
- Service, Router, Ingress
- Network Policy などで通信制御することも可能です
ライブマイグレーション
- VMをWorkerノードから別のWorkerノードに無停止で移動するこが可能です
- 2通りの方法で実行します
- 手動マイグレーション
- ユーザが Administrative に実行(ノードのメンテナンスなど)
- 自動マイグレーション
- OpenShift により自動で実行(リソース競合によるリバランス発生時、クラスタアップグレード時、など)
- 手動マイグレーション
- RWXモードの永続ボリューム(PV)を使用します
- 一時的に 2 つのノードから同時にアクセスするため
- ライブマイグレーション専用のネットワークの設定可能(標準ではデフォルトSDNを使用)
Kubevirt/OpenShift Virtは性能的に問題ないのか?
Kubevirt/OpenShift Virtは十二分に成熟したKVMを利用したハイパーバイザの仕組みです。また、Kubernetes上でのコンテナは既に世界のミッションクリティカルなシステムに応用されており、 技術面の懸念はありません。
RHEL-KVM / Kubernetesの成熟
- KVMはRHELのKernelに取り込まれて既に15年経ちます
- AWS EC2 やNutanix AHVもKVMベースです
- TelecomのCore Network基盤やlaaS事業者の基盤としても使われるRed Hat OpenStack Platformのハイパーバイザ・コンポーネントとしても使われています
- Kubernetes が Ver1.0として公開されて9年が経ちます。
- GoogleやRed Hat, Microsoft などの世界的なソフトウェアベンダがその開発に関わり、コンテナ オーケストレータとして事実上のスタンダードになりました。
OpenShift Virtのミッションクリティカル事例
イスラエル国防軍
- VMとコンテナを統一して扱う基盤として活用
- プライベートクラウドをOpenStackからマイグレーション
米国海洋大気局
- 200近い分散プライベートクラウド基盤への適用
- RHVからのマイグレーション
アライ・バンク
- 米国の巨大金融コングロマリット傘下の銀行
- VMware から Red Hat OpenShift Virtualizationに何千もの仮想 マシンを移行
バンカポポラーレディソンドリオ
- イタリアの主要Indexにも採用される代表的な都市銀行
- VMware vSphere から OpenShift Virtに移行し、アプリケーショ ンの近代化を進めようとしている