クラウドネイティブ環境で仮想マシンを実行するための 4 つのオープンソース ツール

クラウドネイティブ環境で仮想マシンを実行するための 4 つのオープンソース ツール

レガシーワークロードがクラウドネイティブへの移行を妨げていませんか?クラウドネイティブ環境で仮想マシンを実行するための 4 つのソリューションを紹介します。

多くの IT プロフェッショナルはクラウド ネイティブに移行したいと考えています。しかし、モノリスのような従来のワークロードは、仮想マシン上でしか実行できません。

クラウドネイティブ ワークロードとレガシー ワークロード用に別々の環境を維持できます。しかし、VM をクラウド ネイティブ セットアップに統合してシームレスに管理できる方法を見つけることができれば、もっと良いと思いませんか?

幸いなことに、方法はあります。この記事では、最小限の再構成やチューニングでクラウド ネイティブ環境で仮想マシンを実行するための 4 つのオープン ソース ソリューションを紹介します。

クラウドネイティブ環境で仮想マシンを実行する理由は何ですか?

これらのツールを見る前に、コンテナ化された疎結合のクラウドネイティブ ワークロードで構成される環境で VM を実行できることがなぜ重要であるかを見てみましょう。

主な理由は単純です。レガシー ワークロードをホストする VM はなくなることはありませんが、それらを実行するための別のホスティング環境を維持するのは負担です。

同時に、レガシーワークロードをクラウドネイティブ標準に適合するように変換する必要がある場合もあります。理論上は、レガシー ワークロードをリファクタリングしてクラウド ネイティブ環境でネイティブに実行できるようにするための時間とエンジニアリング リソースがあるはずですが、現実にはこれが常に可能であるとは限りません。

したがって、レガシー VM ワークロードをクラウドネイティブ ワークロードと問題なく共存させるには、以下に説明する 4 つのオープン ソース ソリューションのいずれかなどのツールが必要です。

1. KubeVirtを使用して仮想マシンを実行する

クラウドネイティブ環境に仮想マシンをデプロイするための最も一般的なソリューションは、おそらく KubeVirt です。

KubeVirt は、Kubernetes ポッド内で仮想マシンを実行することで機能します。コンテナと一緒に VM を実行する場合は、次のコマンドを使用して、既存の Kubernetes クラスターに KubeVirt をインストールするだけです。

 エクスポートリリース= v0.35.0
# KubeVirt オペレーターデプロイする
kubectl apply -f https://github.com/kubevirt/kubevirt/releases/download/${RELEASE}/kubevirt-operator.yaml
# 実際インストールをトリガーするKubeVirt CR ( インスタンスのデプロイメントリクエスト) 作成します
kubectl apply -f https://github.com/kubevirt/kubevirt/releases/download/${RELEASE}/kubevirt-cr.yaml
# すべてのKubeVirt コンポーネント起動するまで待機します
kubectl - n kubevirt wait kv kubevirt -- 条件= 利用可能

次に、実行する各仮想マシンを記述する YAML ファイルを作成して適用します。 KubeVirt は各マシンをコンテナ内で実行するため、Kubernetes の観点から見ると、VM は通常のポッドにすぎません (いくつかの制限がありますが、次のセクションで説明します)。ただし、従来の VM と同様に、VM イメージ、永続ストレージ、固定 CPU およびメモリ割り当ては引き続き利用できます。

つまり、KubeVirt では基本的に仮想マシンに変更を加える必要はありません。必要なのは、KubeVirt をインストールし、仮想マシンをポッドとして実行するためのデプロイメントを作成することだけです。

2. ヴィルトレ法

VM をポッドとして扱うことに真剣に取り組みたい場合は、Mirantis のオープン ソース ツール Virtlet が適しているかもしれません。

Virtlet は、Kubernetes ポッド内で仮想マシンを実行できるという点で KubeVirt に似ています。 2 つのツールの主な違いは、Virtlet が仮想マシンを Kubernetes ポッド仕様にさらに深く統合していることです。つまり、Virtlet を使用すると、ネイティブの KubeVirt ではできない、デーモンセットまたはレプリカセットの一部として VM を管理するなどの操作を実行できます (KubeVirt にも同じ機能がありますが、Kubernetes のネイティブな部分ではなくアドオンです)。

Mirantis はまた、Virtlet は一般的に KubeVirt よりも優れたネットワーク パフォーマンスを提供すると述べていますが、ネットワーク構成には多くの変数が関係するため、確実に知ることは困難です。

3. 仮想マシンのISIOサポート

VM をコンテナとして管理したくない場合はどうすればよいでしょうか?マイクロサービスと簡単に統合できるようにしながら、仮想マシンのように扱いたい場合はどうすればよいでしょうか?

最善の解決策は、VM をオープンソースのサービス メッシュである Istio に接続することです。このアプローチでは、標準の VM ツールを使用して VM をデプロイおよび管理しながら、Istio を通じてネットワークや負荷分散などを管理できます。

残念ながら、VM を Istio に接続するプロセスは比較的面倒で、現時点では自動化が困難です。要するに、接続する各 VM に Istio をインストールし、それらの名前空間を構成してから、各 VM を Istio に接続することになります。

4. OpenStack でコンテナと VM を並行して使用する

これまでに検討した手法には、Kubernetes や Istio などのクラウド ネイティブ プラットフォームを採用し、それに仮想マシンのサポートを追加することが含まれます。

もう 1 つのアプローチは、クラウド ネイティブではないプラットフォームを採用し、仮想マシンを実行してから、そのプラットフォームにクラウド ネイティブ ツールを移植することです。

これは、OpenStack 上で VM とコンテナを同時に実行すると得られる結果です。 OpenStack はもともと、仮想マシン (およびその他の種類のリソース) をデプロイしてプライベート クラウドを構築するために設計されました。しかし、OpenStack は現在 Kubernetes もホストできます。

したがって、Kubernetes を介して OpenStack 上でクラウドネイティブのコンテナ化されたワークロードを実行しながら、OpenStack を使用して仮想マシンをデプロイおよび管理できます。最終的には、基盤となる OpenStack インストールと Kubernetes 環境という 2 つのオーケストレーション レイヤーが作成されるため、このアプローチは管理の観点からはより複雑になります。

ただし、主な利点は、VM が Kubernetes の一部ではないため、VM とコンテナを互いに比較的独立した状態に保つことができることです。仮想マシンの管理には、Kubernetes ツールの使用に限定されません。仮想マシンは標準の仮想マシン、コンテナは標準のコンテナと考えることができます。

結論は

オープンソース エコシステムは、仮想マシンとクラウドネイティブ ワークロードの共存を支援するさまざまな方法を提供します。最適なソリューションは、Kubernetes 中心のアプローチを採用するか (この場合は KubeVirt または Virtlet が最適な選択肢)、VM とコンテナーを緊密に統合せずに共存させるか (この場合は OpenStack が最も適しています) によって異なります。オーケストレーション レベルではなくネットワーク レベルでの統合のみが必要な場合は、VM を Istio サービス メッシュに接続することを検討してください。

元のリンク: https://www.itprotoday.com/cloud-native/4-open-source-tools-running-vms-cloud-native-environment

<<:  Rancher アプリケーション ストアに基づく K8s サービスのワンクリック アップグレード ソリューションの紹介

>>:  1 つの記事でクラウド ネットワークを理解する

推薦する

草の根運動 - 歩きにくい熱帯雨林の風

[コアヒント] 115 Cloud Diskがパブリッククラウドディスク共有の終了に関するメッセージ...

ザ・ウェーブについて

The Wave で、Wu Jun 氏は有名なブログ サービス プロバイダー Blogger の創設...

Baidu 入札キーワード最適化の秘訣

ご存知のとおり、キーワードは Baidu 入札において重要な役割を果たします。選択するキーワードが多...

Kafka の適用可能なシナリオをネットワーク全体で最も包括的に図解で解説します。

メッセージングシステムメッセージング システムは、データ プロデューサーの分離や未処理メッセージのキ...

コロナウイルスのパンデミック中およびパンデミック後のクラウドコストの最適化

企業がパブリック クラウドの支出を継続的に管理するために活用する必要があるベスト プラクティスがいく...

SEO実践体験:ウェブサイトの重量を5日間減らして体重を回復する

この話題の前に、私のウェブサイトの状況についてお話しさせてください。事の真偽を示すために、スクリーン...

クラウド移行のための 5R 方式のベスト プラクティスの概要

翻訳者 |チェン・ジュン企画 |趙雲近年、クラウド移行という言葉は、ほとんどの企業の IT に関する...

エッジコンピューティングのセキュリティ問題で計画が狂わないように

エッジは、IT プロフェッショナルが不安を感じる場所です。従業員が社外でモバイルデバイスを使用して仕...

ザックはリン・シゲのゲストとしてSEOに関する質問に答えました

中国語 SEO の分野では、Zac の名前は非常に優れているため、彼を紹介するのにこれ以上言葉を無駄...

JVMにおけるJavaポリモーフィズムは次のようになります

多態性オブジェクト指向プログラミング言語では、「ポリモーフィズム」は重要な概念です。オブジェクト指向...

2018年上半期の中国モバイルインターネットレポート!

ちなみに、先週共有されたミニプログラムレポートでは、一部の友人がアプリに対する不満を表明するメッセー...

vmissはどうですか?月額18元の米国cn2gia高帯域幅VPSの簡単なレビュー

vmiss vpsの米国vpsは、デフォルトで米国のcn2 giaネットワーク(200M〜1Gbps...

データセンターが繁栄し続ける5つの理由

[[343429]] [51CTO.com クイック翻訳] 実践により、データセンターは、複雑なデジ...

ウェブマスターの推奨: シンガポール VPS 推奨、3 ネットワーク高速直接接続、大容量

シンガポールのVPSは地理的に中国に近く、東南アジアに面し、ヨーロッパやアメリカとつながるという利点...

左手でタオバオライブストリーミング、右手でショッピング

二科と白象に続き、鳳華は淘宝のライブ放送室で人気を博しているもう一つの国産ブランドとなった。 5月1...