fbpx

[和訳] Docker Enterprise Edition 2.0にKubernetesを統合 — Dockerバーチャルイベントでの質問トップ10 #docker #kubernetes

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

本稿は Integrating Kubernetes with Docker Enterprise Edition 2.0 -- Top 10 Questions from the Docker Virtual Event (2018/5/8) の和訳です。

先日開催したバーチャルイベントでは、市場で最も完全なエンタープライズ向けのコンテナプラットフォームであるDocker Enterprise Edition (EE) 2.0についての興奮を分かち合いました。このリリースによって、DockerCon 2018でプレゼンターを務めるLiberty MutualやFranklin American Mortgage Companyのような組織が、選択と柔軟性を保ちながら、効率的に多数のチームに渡ってコンテナ環境をスケールすることが可能になったという話をしました。安全なアプリケーションゾーンや、複数のリージョンに渡って首尾一貫したソフトウェアサプライチェーンなどという、アクセスコントロール の新しい高度な機能のデモンストレーションを行いました。さらに、同じ環境でSwarmとKubernetesの両方のオーケストレーションを駆使し、用途に合わせて入れ替えることをどれだけ簡単にできるかをお見せしました。

ライブイベントを見逃した方もご心配なく!こちらでオンデマンドで録画を閲覧できます。

イベント中に素晴らしい質問がたくさんあったので、今後のブログで、よくある質問を拾っていこうと思います。

オーケストレーションの選択 -- SwarmとKubernetes

このリリースの注目すべき特長の1つはKubernetesとの統合です。これによりDocker EEが、SwarmとKubernetesの両方を同一クラスタ上で同時に実行できる唯一のプラットフォームとなりました。そのため開発者はオーケストレーションツールを選択する必要がありません。運用チームは、2つのオーケストレータから自由に選択できます。

Q: Kubernetesは、Swarmを置き換えてしまうのですか?

A: いいえ。SwarmとKubernetesの両方を同一クラスタ上で互換可能な形で利用できます。私たちは選択と柔軟性を提供することを重要視しており、SwarmとKubernetesそれぞれに良いユースケースがあると考えています。詳細は、過去の ブログ をご参照ください。

Q: この先どちらのオーケストレータを利用することを推奨しますか?

A: ご利用の環境にどのような機能やユースケースが合うかなどの条件によります。例えば、Swarmではアプリケーションを簡単に素早く起動させることができ、Windowsのコンテナをフルサポートしています。一方Kubernetesは、より多くの設定オプションや、ステートフルなワークロード(StatefulSetsなど)のためのリソースタイプが豊富です。同一クラスタ上で両方を使えます。

Q: 具体的にはどのように同一クラスタ上でSwarmとKubernetesを混ぜて使えますか?

A: Docker EE 2.0がKubernetesとSwarmのコンポーネントをクラスタ上のすべてのノードにインストールします。それから各ノードをKubernetesかSwarmのどちらか専用か、KubernetesとSwarmの両方のワークロードを実行できる「Mixed」モードに設定すれば、Docker EEが、それに合わせて各ワークロードをスケジュールすることを保証します。「Mixed」モードは開発とテストには向いていますが、リソースの不一致が生じる可能性があるので本番用には推奨しません。

Q: Docker EEは、単純にKubernetesに管理レイヤーを追加するだけですか?

A: Docker EEでは、Kubernetesディストリビューションに完全に準拠したKubernetesネイティブのAPIやCLI、インターフェイスを提供します。これを、組織が大規模に運用可能にすることを支援するために、Docker EEはエンタープライズの本番環境へデプロイするための新しい機能を追加しました。例えば、包括的なプライベートレジストリソリューション、組織のLDAP/Active Directoryと統合してアクセス制御を明確にする統一したコントロールプレーン、より安全なアプリケーションをデリバリするためのセキュリティソリューションを新しく追加しました。

Q: kubectlやkubeadmのようなインターフェイスツールが動作するような抽象化のみを提供していますか?それともKubernetesのモジュールすべてを含みますか?

A: 単なるAPIの抽象化などではありません。Docker EE 2.0をインストールしたらすぐに完全なKubernetesが実行します。これは適合性テストに合格しています。

Q: Docker EE 2.0はどのバージョンのKubernetesをサポートしていますか? また、オーケストレータの今後のアップグレードをどのように提供しますか?

A: Docker EE 2.0はKubernetes 1.8を出荷しており、Docker EE 2.0へのパッチは今後のKubernetes 1.8へのパッチを含む可能性があります。DockerはKubernetesとの適合性を保つことに全力で取り組む姿勢であり、今後リリースするDocker EEのアップグレードにはKubernetesの新しいバージョンを搭載する予定です。

Q: ダウンタイムなしで複数のクラスタに渡ってKubernetesをアップグレードすることは可能ですか? もしそうなら、Docker EEを通してできますか?

A: Docker EE 2.0では、単独でKubernetesのアップグレードをすることはできません。クラスタ管理コンポーネント(Universal Control Plane)をアップグレードする際に、適当なKubernetesのアップデートも含みます。

Q: SwarmでKubernetes YAMLを使用することは可能ですか?KubernetesでComposeを使うことはどうですか?

A: Docker EE 2.0では、既存のComposeファイルを活用し、UIを通してSwarmかKubernetesのどちらでもデプロイすることができます。または、Kubernetes YAMLを活用してKubernetesでアプリケーションをデプロイすることも可能です。SwarmでKubernetes YAMLをデプロイすることはサポートしていません。

Q: Kubernetesは.NETアプリケーションをサポートしていますか?

A: 今現在、Kubernetesは.NET/Windowsコンテナのベータ版サポートがあります。まだ一般公開はしておりません。Swarmでの.NETアプリケーションのデプロイは、Docker EEで1年以上前から サポートしています。

Q: 私はDocker初心者です。Dockerを使い始めるには、まずKubernetesの使い方を学ばなければいけないということですか?        

A: いいえ。Docker EEを使うためにKubernetesの知識は不要です。Kubernetesは、Kubernetes特有の機能を必要とするユーザのためにあり、オプショナルなものです。多くのユースケースやワークロードの場合、Swarmの方が覚えやすいでしょう。後々Kubernetesに移行する必要がありそうなら、1つのDocker Composeファイルを活用し、SwarmとKubernetesの両方でアプリケーションを稼働するとよいでしょう。そうすれば、移行もしやすくなります。

KubernetesのDocker EE 2.0への統合についてもっと知りたい方は、こちらをご覧ください:

新規CTA