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

推薦する

優れたコピーライターは常に人を騙しており、これらの4つの「騙し」テクニックをよく使います。

月給5,000~50,000のこれらのプロジェクトはあなたの将来ですキャッチーなタイトルを使って申し...

Huawei Honor Note 10最新ニュース:実機のスパイ写真が公開

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますA5ベンチ...

#BlackFriday# ginernet: スペインの VPS、著作権なし/苦情防止、2G メモリ/1 コア/25gNVMe/2T トラフィック/10G 帯域幅

Ginernet は、デフォルトの帯域幅が 10Gbps の特別なブラックフライデー プロモーション...

アリババDAMOアカデミーが自社開発の数理計画ソルバーをリリース、国際的に権威のあるパフォーマンス評価で1位を獲得

8月18日、アリババDAMOアカデミーが開発した数理計画ソルバーが国際的に権威のある評価リストに参加...

ウェブサイトのページをBaiduに素早くインデックスさせる方法

ブログを構築し始めた頃、「Baidu でウェブサイトを素早くインデックスさせる方法」というタイトルの...

ブランドマーケティング:ユーザーに好まれる広告を作成するには?

少し前に、Toutiao の新しい配信モデルと製品に焦点を当てた実用的な最適化に関する記事を書きまし...

Dockerの基本について語る: Dockerの動作原理

今日も引き続き、Docker に関する知識を皆さんと共有したいと思います。今日は主にDockerの動...

justhostのフランスのデータセンターVPSの簡単なレビュー

Justhost は、ヨーロッパのフランスに新しいデータセンターを追加しました。200Mbps から...

Hu Peibin: SEO 基本ガイド: 説明文の書き方に関する注意点

1. すべてのページに説明が必要なわけではなく、重要なページにのみ説明が必要です。説明はできる限りシ...

アプリ市場でASOを最適化するためのヒント

App Store 最適化 (略して ASO) は、開発者のアプリが App Store でユーザー...

ウェブサイトの詳細を最適化する必要性

なぜウェブサイトの詳細を最適化する必要があるのでしょうか?まず第一に、誰もウェブサイトを一度で完璧に...

ナショナルデーのブランドマーケティングポスターを包括的にレビューし、これらのブランドがどのようにレバレッジマーケティングを活用しているかを確認します。

月収10万元の起業の夢を実現するミニプログラム起業支援プランあっという間に建国記念日の祝日が終わり、...

耿潔:草の根インターネット起業家が成功するための必須要素

皆さんと私の経験と洞察を共有するために、私は再びadmin5に戻ってきました。私が初めて記事を投稿し...

プロバイダー: スロバキア VPS、月額 10 ユーロ、1G メモリ/1 コア/20g ハードディスク/1Gbps 帯域幅 (トラフィック無制限)

2010 年に設立されたスロバキアの商人である profvds は、HVM 仮想化、1Gbps の帯...