クラウドネイティブ環境で仮想マシンを実行するための 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 つの記事でクラウド ネットワークを理解する

推薦する

inceptionhosting 128M xen VPS 年間19.76ドル

私は何度も inceptionhosting を推薦してきました。評判が良く、VPS の品質が保証さ...

virmach-Windows VPS 60% オフ/1g メモリ/15gssd/1t トラフィック/年間支払い $29.4

Virmach の安価な Windows VPS は、価格面で業界をはるかに上回っていますか? vi...

3分かけて検索エンジンの祖先について知ろう

サンシャイン ハウスが検索エンジンとは何かと尋ねた場合、一般的に 2 つの答えがあります。1. それ...

Stablehost が 30% 割引の VPS 製品をリリース

皆さんの stablehost との接点は、仮想ホストから始まったと思います。安定していて信頼できる...

Baidu 音声検索についての考察

私たちがまだ PC で入力して検索している間、Baidu はすでにモバイル デバイスで音声検索を提供...

最適化のボトルネックが発生した場合、SEO 戦略を変更する必要がありますか?

SEO を行う友人は、最適化プロセスでボトルネックの問題に遭遇します。外部リンクを構築したり、コンテ...

在庫 | 2020 年に注目を集めるクラウド コンピューティング スタートアップ 10 社

コロナウイルスのパンデミックにより、クラウドコンピューティングの発展がさらに促進され、この分野のスタ...

#BlackFriday# cmivps: 60% オフ、香港 VPS、100Mbps、無制限トラフィック、Alipay 対応

cmivps は香港 VPS を専門としており、トラフィック無制限の小帯域幅、トラフィック制限の大規...

phoenixvps-512M メモリ/xen/kvm/月額 7 USD

PHOENIXVPSドメイン名は3月14日に登録されました。現在、正式にリリースされており、XENと...

クラウドコンピューティングのコンプライアンス問題に関する誤解と現実を合理的に考察

ハッカーが米国の3大信用機関の1つであるEquifaxのシステムを攻撃し、1億4,300万人の個人デ...

Linode が再び無料で構成をアップグレード、+ Linode Japan データセンター VPS レビュー

Linodeは本日、最新のアップグレード情報を発表しました。VPSの価格は変更されていませんが、[1...

Weiboマーケティングコンテンツは王様 Weiboマーケティング実践解説

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス前回の記事では、Weib...

bacloud: リトアニア サーバー、159 ユーロ、AMD Ryzen 9 7950x3D/128gDDR5/2*1.92tNVMe/100T トラフィック

リトアニアのデータセンターにある bacloud の「ベアメタル サーバー」シリーズは、しばらく前か...

ウェブサイトの正確な包含を確認する方法

ウェブサイトを最適化する場合、含まれるコンテンツの量を最適化することが、最初に行う作業であることが多...

7年間の努力を経て、QingCloudは汎用クラウドコンピューティングに取り組んでいます

[51CTO.com からのオリジナル記事] 情報と生活のデジタル化に続き、産業のデジタル化の時代が...