コンテナ革命をリードする10のKubernetesディストリビューション

Kubernetesはなってきたあなたはスケールで容器のオーケストレーションが必要な場合に有効にするプロジェクト。Googleのオープンソースコンテナオーケストレーションシステムは、高く評価され、十分にサポートされており、急速に進化しています。

Kubernetesはまた、広大で複雑であり、セットアップと構成が困難です。それだけでなく、手間のかかる作業の多くはエンドユーザーに任されています。したがって、最善のアプローチは、ビットを取得して単独で実行しようとするのではなく、サポートされ、維持されているコンポーネントとしてKubernetesを含む完全なコンテナソリューションを探すことです。

ここでは、さまざまなベンダーがLinuxカーネルとそのユーザーランドのディストリビューションを提供しているのと同じ意味で、Kubernetesとコンテナツールを組み込んだディストリビューションに相当する9つの最も著名なKubernetesオファリングをリストしました。

このリストには、AmazonEKSやGoogleKubernetes Engineなどの専用のクラウドサービスは含まれていませんが、ローカルまたはクラウドでホストされるオプションとして実行できるソフトウェア配布に焦点を当てていることに注意してください。

CoreOS Tectonic / Red Hat CoreOS

CoreOSは、コンテナーに焦点を合わせたLinuxディストリビューションのプロバイダーであり、Dockerと互換性がありますが、独自のイメージ形式とランタイム、および「エンタープライズグレードのKubernetes」ディストリビューションを備えています。これらが一緒になって、CoreOSTectonicスタックの基盤を形成します。 

CoreOSオペレーティングシステムであるContainerLinuxは、主にコンテナ化されたコンポーネントのセットとして提供されることで際立っています。このようにして、実行中のアプリケーションを停止することなく、OSの自動更新を本番環境にスリップストリーム化できます。CoreOSは、Kubernetesの「ワンクリック」アップデートも宣伝しています。CoreOS Tectonicは、Amazon Web Services、Microsoft Azure、およびベアメタルで実行されます。 

Red Hatは最近CoreOSを買収し、Red HatOpenShiftに統合する計画を立てています。Container Linuxは、Red HatCoreOSに名称変更されます。移転は2020年まで完了する予定ではありませんが、ContainerLinuxはそれまで引き続きサポートされます。Red Hatによると、CoreOSTectonicの「ほぼすべて」の機能は移行後に利用できるようになります。

詳細については、CoreOS ContainerLinuxのレビューを参照してください。

関連動画:Kubernetesとは何ですか?

この90秒のビデオでは、コンテナ化されたアプリケーションを自動化するためのオープンソースシステムであるKubernetesについて、テクノロジーの発明者の1人であるHeptioの創設者兼CTOであるJoeBedaから学びます。

Kubernetesの正規分布

Ubuntu LinuxのメーカーであるCanonicalは、独自のKubernetesディストリビューションを提供しています。KubernetesのCanonicalディストリビューションの大きなセールスポイントの1つは、広く尊敬され、よく理解され、一般的に展開されているUbuntuLinuxディストリビューションです。Canonicalは、そのスタックがクラウドまたはオンプレミスのデプロイメントで機能し、CPUとGPUの両方を利用したワークロードのサポートが含まれていると主張しています。有料のお客様は、KubernetesクラスターをCanonicalエンジニアがリモートで管理できます。

CanonicalのKubernetesディストリビューションは、ミニチュアバージョンのMicrok8sでも利用できます。開発者とKubernetesの初心者は、Microk8をノートブックまたはデスクトップにインストールして、テスト、実験、さらには薄型ハードウェアでの本番環境での使用に使用できます。

CanonicalとRancherLabs(以下を参照)は、CanonicalのKubernetesディストリビューションとRancherのコンテナ管理プラットフォームを組み合わせた製品Cloud NativePlatformを共同制作しています。アイデアは、Kubernetesを使用して各クラスターで実行されているコンテナーを管理し、Rancherを使用して複数のKubernetesクラスターを管理することです。Cloud Native Platformは、現在ベータプレビューで利用可能なRancher2.0で利用可能になります。 

Docker Community Edition / Docker Enterprise

私たちの多くにとって、Dockerコンテナーです。また、2014年以降、Dockerには独自のクラスタリングおよびオーケストレーションシステムであるDocker Swarmがあり、最近までKubernetesの競合相手として存在していました。その後、2017年10月、Dockerは、Docker CommunityEditionとDockerEnterprise 2.0以降のエディションの両方で、Kubernetesを未変更のバニラ状態で標準パックインとして追加すると発表しました。

Docker Enterprise 3.0は、Docker Kubernetes Serviceを追加します。これは、開発者のデスクトップと本番環境のデプロイ間でKubernetesのバージョンの一貫性を維持するKubernetes統合です。 

つまり、Docker Inc.はコンテナオーケストレーションウォールの記述を読み、大規模で複雑なコンテナ環境の管理にはKubernetesがSwarmよりも適していることを認めました。ただし、Dockerには、元のクラスタリングシステムである「スウォームモード」が含まれています。これは、より控えめなジョブ用です。たとえば、あまり成長しないローカルのファイアウォールの背後にあるアプリケーションや、既存のスウォームモードクラスターを維持するためです。刷新する必要はありません。

HeptioKubernetesサブスクリプション

Kubernetesの作成者の2人であるCraigMcLuckieとJoeBedaは、Kubernetes周辺でサービスと製品を提供するためにHeptioを設立しました。彼らの最初の主要なオファリングは、Heptio Kubernetesサブスクリプション(HKS)です。これは、Heptioが提供する24時間年中無休の有料サポートを備えたKubernetesデプロイメントです。価格は月額2,000ドルからです。

Heptioの主な売り込みは、ベンダーロックインのないエンタープライズグレードのKubernetesです。デプロイメントは、パブリッククラウドまたはプライベートハードウェアで実行できます。Kubernetes構成を管理するためにHeptioが提供するすべてのツールはオープンソースであり、修正はサポートされているクラスターに直接配信されます。

VMwareは2018年にHeptioを買収しましたが、買収はHeptioの製品ポートフォリオの計画にまだ影響を与えていません。

コンテナファロス

Kontena Pharosは、「正しく機能するKubernetes」と呼ばれ、RedHatのLinux製品とほぼ同じプレイブックに従います。下部には、Apache 2ライセンス(FedoraまたはCentOSによる)で利用可能なCNCF認定のKubernetesディストリビューションがあります。(Red Hat Enterprise Linuxのように)お金を使う人は、プロフェッショナルレベルの機能、コンサルティング、サポートサービス、およびクラウドネイティブインフラストラクチャへの移行などの特定の固定価格サービスを購入できます。

コアのPharosディストリビューションには、自動セキュリティ更新や複数のコンテナランタイムなどの基本機能が標準で付属しています。有料製品は、Kontena Lensダッシュボード、Kontena Storage分散ストレージシステム、バックアップ、負荷分散、エアギャップ環境にクラスターを展開する機能などのエンタープライズツールを追加します。

Professional Editionには30日間の評価期間があり、サポートサブスクリプションは月額375ユーロから始まります。オープンソース版には時間制限やライセンス費用はありません。

Pivotal Container Service(PKS)

Cloud Foundryでの作業で最もよく知られているPivotalは、Pivo​​tal Container Service(PKS)と呼ばれるエンタープライズグレードのKubernetesを提供しています。PKSは、そのインスピレーションを得るために他の多くのPivotalプロジェクトを利用しています。たとえば、Pivo​​talのCloud Foundryでも使用されているKuboプロジェクトを使用して、Kubernetesクラスターを起動および管理します。

PKSの傑出した機能は、VMware仮想化スタックとの緊密な統合です。実際、PKSはVMwareとPivotalの共同プロジェクトです。PKSで実行されているコンテナは、VMware VSANの永続ストレージなど、通常はvSphereで実行されている仮想マシンでのみ利用可能なサービスにアクセスできます。さらに、PKSは、パブリックおよびプライベートクラウド環境でVMwareインフラストラクチャを管理するために使用されるVMware CloudFoundationを介して管理できます。

つまり、VMwareに投資し、Kubernetesへの関心が高まっているショップは、PKSを調べて、既存のVMwareセットアップを最大限に活用することをお勧めします。

ランチャー2.0

Rancher Labsは、バージョン2.0のコンテナ管理プラットフォーム(単にRancherと呼ばれる)にKubernetesを組み込んでいます。 Rancher 2.0は、他のKubernetesディストリビューションよりも高いレベルで動作し、Linuxホスト、Dockerコンテナー、Kubernetesノードの上に配置され、場所やインフラストラクチャに関係なく、すべてを腕の長さで管理します。 Amazon EKS、Google Kubernetes Engine、Azure Kubernetes Service、およびその他のKubernetes-as-a-serviceクラウド上のKubernetesクラスターを管理することもできます。 

ランチャーには、独自のKubernetesディストリビューションも付属しています。Rancherは、Kubernetesクラスターのセットアップと特定の環境向けのKubernetesのカスタマイズのプロセスから多くの煩わしさを取り除くことを目的としています。これらのカスタマイズが、Kubernetesへのスムーズなアップグレードの妨げになることはありません。移動し、常に更新されるプロジェクト。

Rancherは、K3sと呼ばれる最小限のKubernetesディストリビューションも提供しています。目立たない展開用に最適化されたK3は、サーバーインスタンスあたりわずか512MBのRAMと200MBのディスクスペースを必要とします。レガシー、アルファグレード、および必須ではない機能、およびあまり使用されていない多くのプラグイン(必要に応じて追加できます)を省略することで、このフットプリントに詰め込みます。

Red Hat OpenShift

RedHatのPaaS製品であるRedHat OpenShiftは、もともとHerokuビルドパックのような「カートリッジ」を使用してアプリケーションをパッケージ化し、その後「ギア」と呼ばれるコンテナーにデプロイされました。その後、Dockerが登場し、OpenShiftは、新しいコンテナーイメージとランタイム標準を利用するように作り直されました。必然的に、RedHatはOpenShift内のオーケストレーションテクノロジーとしてKubernetesも採用しました。

OpenShiftは、PaaSのすべてのコンポーネントに抽象化と自動化を提供するために構築されました。この抽象化と自動化はKubernetesにも適用されますが、Kubernetesは依然としてかなりの管理負担を課しているため、OpenShiftを使用して、PaaSをデプロイするというより大きな使命の一部としてそれを軽減できます。

上記のように、CoreOSTectonicはRedHat OpenShiftに統合されていますが、テクノロジーの統合は2020年まで完了するとは予想されていません。

詳細については、Red Hat OpenShift3のレビューを参照してください。

サービスプラットフォームとしてのSUSEコンテナ

ヨーロッパで広く普及しているLinuxディストリビューションで最もよく知られているSUSEは、SUSECaaSプラットフォームも提供しています。概念的には、SUSE CaaSプラットフォームは、CoreOS Tectonicを彷彿とさせ、コンテナーを実行するベアメタルの「マイクロ」OS、コンテナーオーケストレーション用のKubernetes、組み込みのイメージレジストリ、およびクラスター構成ツールを組み合わせています。

2018年にリリースされたSUSECaaS Platform 3は、マスターノードのクラッシュに対するクラスターの回復力を高めるマルチマスター機能と、付属のLinuxカーネルをカスタム調整するためのカーネルチューニング機能を追加しました。

SUSE CaaSプラットフォームは、ローカルのベアメタルだけでなくパブリッククラウドでも実行できますが、「SUSEは現在、基盤となるクラウドインフラストラクチャへの統合をサポートしていません」という警告があります。つまり、SUSE CaaSプラットフォームは、AmazonEKSやGoogleKubernetes Engineを補完するようには設計されていませんが、それらを回避して、複数のクラウドやデータセンターでコンテナを実行できるように設計されています。 

Telekube

Teleport SSHサーバーのメーカーであるGravitationalは、ローカルまたはリモートクラスターで実行される「本番環境で強化された」KubernetesディストリビューションであるGravityを作成します。Gravityは、プライベートSaaSプラットフォームのソリューションとして、または複数のリージョンまたはホスティングプロバイダー全体でKubernetesをサービスとして実行するためのソリューションとして位置付けられています。

Gravityのアプリは、Kubernetesのコンテナーで実行できるように準備する必要があります。また、「バンドル」にパッケージ化して、配布のためにKubernetesクラスターに公開する必要があります。バンドルには、コンテナーベースのアプリケーションをデプロイするために必要な他のすべての準備に加えて、いくつかの追加作業が必要ですが、バンドルマニフェストは、維持する必要がある唯一のGravity固有の追加です。

Gravityを使用すると、すべてのアプリと構成を含むKubernetesクラスター全体のスナップショットを作成し、そのスナップショットを他のKubernetes環境にデプロイすることもできます。