KubernetesとOpenStack:どちらを選ぶ?

by Canonical on 8 May 2023

KubernetesかOpenStackの選択は、最新のITインフラストラクチャを導入した組織に共通の悩みです。どちらもクラウドインフラストラクチャを構築する確立されたオープンソース技術であり、併用した場合には特に、それぞれ明確なメリットがあります。しかし2つの違いは大きく、ソリューションとして完全に統合するにはコツが要ります。

具体的にはどういう意味でしょうか? 一緒に見ていきましょう! 最初にOpenStackとKubernetesの概要を説明します。次に2つの類似点と相違点に注目し、上手に統合する方法を検討します。

同じ内容をウェビナーでご覧になりたい方は、どうぞご登録ください >

KubernetesとOpenStack:いったいどんなもの?

「KubernetesかOpenStackか」という迷いは、両方に対する理解不足から生じるのが一般的です。KubernetesはOpenStackの後継? KubernetesはOpenStackに取って替わった? 2つの技術の関係は? これを理解するため、いったんOpenStackとKubernetesの定義に戻りましょう。

OpenStackとは?

OpenStackとはクラウドプラットフォームです。分散したコンピューティング、ネットワーク、ストレージリソースを管理し、プールにまとめた上で、セルフサービスポータルを通じて仮想リソースのオンデマンドプロビジョニングを可能にします。Amazon Web Services(AWS)Elastic Compute Cloud(EC2)をご存じなら、十分に機能的なプライベートクラウドやパブリッククラウドを構築するという点で似たようなものと言えます。OpenStackは、大手テレコム会社サービスプロバイダー金融機関製造企業、行政機関に広く利用されています。

Kubernetesとは?

Kubernetes(K8s)は、コンテナオーケストレーションプラットフォームです。コンテナ化したワークロードやサービスの運用、ネットワーキング、拡張、提供を自動化します。少数のコンテナなら手動でも対処できます。しかしKubernetesのような自動機能なしに実運用環境で大規模に管理するのは大変な作業です。近年、Kubernetesは、パブリッククラウドデータセンターエッジサイト、さらにはIoTなどさまざまなインフラストラクチャで活用されています。

KubernetesとOpenStack:類似点と相違点

OpenStackとKubernetesは、2つのコミュニティが別々の技術的問題を解決するために開発しました。したがって一部の機能が重複するものの、動作理念は異なります。次に、この2つの最も一般的な類似点と相違点を見てみましょう。

対応するワークロードのタイプ

もともとOpenStackは仮想マシン(VM)、Kubernetesはコンテナのみのサポートに使用されていました。しかし今では違います。2つの技術は時とともに進化し、あらゆるタイプのワークロードに対応しました。現在、OpenStackは、Ironicプロジェクトでベアメタル、Magnumプロジェクトでコンテナ化されたワークロードもサポートしています。一方、Kubernetesのユーザーは、Metal³などのツールを利用して物理的なマシンやKataコンテナ、KubeVirtを利用してVMのプロビジョニングが可能です。

メタル管理機能

OpenStackはベアメタルで直接動くよう設計されています。したがってメタル管理機能については一般にKubernetesより進んでいます。Kubernetesも物理レイヤーで直接実行できますが、OpenStackの13年の実績にはかないません。市販のストレージプラットフォームやSDN(ソフトウェア定義ネットワーク)コントローラ、あるいはパフォーマンス強化機能(ハードウェアオフローディングなど)との統合には、一般にOpenStackのほうがよく対応しています。

アプリケーション管理機能

逆にアプリケーション管理に関してはKubernetesの右に出るものはありません。Kubernetesは、各種のコントローラ(ReplicaSetやDaemonSet)、クラウドネイティブ機能など、豊富なアプリケーション管理機能を備えています。これにはローリングアップデートやオートスケーリングも含まれます。OpenStackのコミュニティも、かつてHeatプロジェクトとMuranoプロジェクトでこの欠点を埋める努力をしましたが、高い成果は出ず、アプリケーション管理の分野ではKubernetesに遅れを取っています。

両方の長所を活用

ここまでで、OpenStackとKubernetesのどちらも、すべての機能を備えているわけではないことがおわかりいただけたでしょう。それぞれ別の目的で作られているからです。最も妥当なのは両方を併用することです。

OpenStackでKubernetesを実行

OpenStackの上でKubernetesを実行することには多くの利点があります。まずベアメタルで直接実行するのが簡単になることです。OpenStack上でKubernetesクラスターを即座にプロビジョニングするツールは、Juju、Magnum、Cluster APIなどいくつかあります。これにより各ユーザーや事業体はクラウドリソースの専用プールを取得し、そこで必要に応じてK8sを実行することでOpenStackのマルチテナンシーを活用できます。さらに前述のように、このK8sクラスターでOpenStackのメタル管理機能(Octaviaによる適切なロードバランシング、vGPUリソースプロビジョニングなど)を利用することもできます。

KubernetesでOpenStackを実行

逆にOpenStackのコントロールプレーンをKubernetesの上で実行することにもメリットがあります。最も重要なのはOpenStackのサービスがしっかり隔離され、根底にあるオペレーティングシステム(OS)と切り離されることです。さらにこのセットアップでは、OpenStackでKubernetesのライフサイクル管理機能を活用し、アップグレードなどの複雑な作業を簡単にできます。最後に、K8sを標準として使用すれば、OpenStackのアーキテクチャが比較的軽くなり、従来と違って誰でも自分のワークロードステーションであれこれ試すことも可能になります。

KubernetesでOpenStack使ってみる >

スタックをスタックするには?

ちょっと待って。ひょっとしてKubernetesの上のOpenStackの上にKubernetesをセットアップするのがベスト?

当たりです!奇妙に見えますが、このセットアップが最もメリットが多く、1つのプラットフォームで両方の長所を生かすことができます。プラットフォームも数多くありますが、汎用性ではUbuntuに勝るものはありません。UbuntuならOpenStackとKubernetesの両方にスムーズにアクセスし、開発に必要なインフラストラクチャツールをすべて得ることができます。実運用環境については、オプションの商用サブスクリプションを使えばエンタープライズクラスのサービスを利用できます。

1つのサブスクリプションで全部手に入れる

Ubuntu Proは、極めて包括的なLinuxのエンタープライズサブスクリプションであり、セキュリティ、コンプライアンス、サポートなどすべての点でオープンソースに対応します。Ubuntu Proがあれば、お客様はインフラストラクチャの利点を生かすことに力を注ぎ、クラウドのセキュリティ更新、バグ修正、年中無休のテクニカルサポート、高度なサービスレベル契約(SLA)はCanonicalにお任せいただけます。

KubernetesかOpenStackか、まだ迷っていますか? 1つのサブスクリプションですべてに手に入れましょう!

KubernetesとOpenStackの両方について

OpenStackとKubernetesには多くの共通点があります。どちらもオープンソースクラウドインフラストラクチャの基盤となり、どちらも単独で存在できます。しかし2つを組み合わせれば、まるでトールキンの「力の指輪」のようにあらゆる能力を手に入れることができます。 

5月17日ウェビナーは、KubernetesとOpenStackの技術的な比較、統合ソリューションのデモなど充実した内容です。ぜひご参加ください。

CanonicalのOpenStackおよびKubernetesのページでは、世界最先端のオープンソースインフラストラクチャプロジェクトを詳細にご紹介します。

コンテナ化と仮想化に関するブログでは、OpenStackとKubernetesに使用される基本的な技術を解説します。

プロジェクトの商用サポートについてはCanonicalにお問い合わせください

ニュースレターのサインアップ

Ubuntuニュースレターの配信登録

お客様が購読登録を行われる場合、以下の条件に同意されたことになります。Canonicalのプライバシーに関するお知らせ個人情報保護ポリシー

関連記事

小規模プライベートクラウドインフラストラクチャのためのOpenStackとSunbeam

小規模のプライベートクラウドインフラストラクチャを導入する際、多くの組織が深刻な問題に直面します。知識不足や移行のほか、Kubernetesなどのさまざまな拡張機能をすぐ実行するよう経営陣に求められるため、導入プロセスが複雑に感じられることも少なくありません。この複雑性を克服する最も簡単な方法は、プロのサービスにプロジェクトを任せることですが、そのコストが中小企業には高すぎる場合があります。 幸い、現在はすべての課題に自力で対処する方法があります。この短いブログでは、Sunbeamプロジェクトを使用し、経験やコストのかかるコンサルティングなしに小規模プライベートクラウドをスムーズに導入する方法を紹介します。 はじめに はじめに、このブログ記事で使用するいくつかの用語を簡単 […]

VMwareからOpenStackへ

独自のオープンソースクラウドでTCOを40%削減 クラウドコンピューティングは、今では企業のIT資産の中心です。Gartner社によれば、2025年にはクラウドインフラストラクチャへの総投資が50%に迫ります。IT資産が成長し、複雑化するにつれ、総所有コスト(TCO)も増大し、企業にとってはインフラストラクチャの経費の最適化が継続的な問題となりました。 昔からプロプライエタリ(オープンソースではない)ソリューションを使用してきた企業にとっては特にそうです。プロプライエタリソリューションは、ライセンスコストが高いだけでなく、サービスの相互依存性や長期契約の義務によって企業を縛ることがよくあります(ロックイン)。これらの欠点から、BroadcomがVMwareを買収した後、さ […]

オンプレミスAI:知っておくべきこと

組織ではデジタル戦略の再構築が進行し、AIを中心に据えた多くのプロジェクトがいつでも実稼働できる状態にあります。企業は多くの場合、ハードウェアの負担を最小限に抑えるためにAIプロジェクトをパブリッククラウド上で開始します。しかし、規模の拡大につれて、コスト、デジタル主権、コンプライアンス要件などの理由から、ワークロードをオンプレミスに移行しようとすることがよくあります。自社のインフラストラクチャでのAI運用には明らかにメリットがあるものの、インフラストラクチャとMLOpsの担当者はいくつかの課題を検討する必要があります。 MLOpsは、AIのワークロードを反復可能かつ再現可能な形で実行する上で重要です。Charmed KubeflowなどのMLOpsプラットフォームは、K […]


© 2024 Canonical Ltd. Ubuntu および Canonical は、Canonical Ltd の登録商標です。