fbpx

[和訳] Docker Enterprise EditionがKubernetesをサポート #docker #kubernetes

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

本稿は Extending Docker Enterprise Edition to Support Kubernetes (2017/10/17) の和訳です。

DockerCon Europeにて、私達はKubernetesをDockerプラットフォームにシームレスに統合することを発表しました。
KubernetesとDocker Enterprise Edition (EE)の出会いは、Kubernetesの管理をエンタープライズIT向けに簡単・発展させ、Docker EEの先進的な機能を幅広いアプリケーションにもたらすでしょう。

SwarmとKubernetesの共存

Docker EEは、プライベートなイメージレジストリ、先進的なセキュリティ機能、コンテナ全体のライフサイクルの中央集権的な管理などを含む、エンタープライズ級のコンテナプラットフォームです。
コンテナオーケストレーションのKubernetesを取り込むことで、すなわち、アプリケーションのビルドとデプロイのために、同じ安全なソフトウェアサプライチェーンを持ったまま、ユーザーはSwarmとKubernetesの両方を同じDocker EEクラス上で動作させる能力を得られるのです。

図 1. 複数のオーケストレータを持つDocker EEアーキテクチャ

図 1. 複数のオーケストレータを持つDocker EEアーキテクチャ

これが可能なのは、Docker EEが複数のオーケストレータをサポートするよう設計されたモジュール型アーキテクチャを持っているからです。
LinuxノードはSwarmとKubernetesの両方が利用可能で、アプリケーションチームはアプリをデプロイするときにどちらのオーケストレータを使うか決定することができます。

Docker EEで新しいスタックを作成するとき、それをSwarmのサービスとKubernetesのワークロードのどちらとしてデプロイするか選択することができます。

図 2. アプリのデプロイ時にモデルを選択可能

図 2. アプリのデプロイ時にモデルを選択可能

デプロイ時、Docker EEダッシュボードが持つ「Shared Resources」エリアでEE全体の環境を閲覧・管理ができます。ここにはSwarmサービスとKubernetesワークロードの両方が含まれます。

図 3. SwarmとKubernetes両方の共有リソースビューを持つ新しいダッシュボード

図 3. SwarmとKubernetes両方の共有リソースビューを持つ新しいダッシュボード

Docker EEの機能をKubernetesへ導入

KubernetesとDocker EEの出会いは、KubernetesをDocker EEと同様に簡単かつ強力にすることを意味します。
これは先進的なEEの機能のすべてをKubernetesのワークロードに対して有効にすることも含みます。

製品の簡単なインストール

クラスタ管理のSwarmを使うことで、高可用性と障害許容性を持つKubernetes環境の作成はとても簡単でより安全になります。

管理者は、単にDocker EEを1行コマンドでインストールすることで、Kubernetesをクラスタ設定して実行することができます。
一度クラスタが起動すると、KubernetesはDocker EEの一部としてインストールされます。
これにより、証明書ローテーションを持つ相互認証TLSを有効とする組み込みセキュリティが有効になります。

図 4. DockerとKubernetesの両方が有効な同じノードでのDocker EEクラスタ

図 4. DockerとKubernetesの両方が有効な同じノードでのDocker EEクラスタ

注意: この図のKubernetesはv1.7ですが、ベータ版はv1.8を採用する予定です。

安全で統一的なサプライチェーン

Docker EEは、開発者のラップトップから本番のデプロイメントまでのサプライチェーン全体に対してエンド・トゥ・エンドのセキュリティを提供します。
この統合により、チームはSwarmとKubernetesデプロイメントの両方で同じサプライチェーンの機能を使うことができます。
それは次を含みます:

安全なマルチテナント

柔軟で粒度の高いロールベースのアクセス制御(RBAC)をAPIレベルにブレークダウンすることで、管理者はActive DirectoryやLDAPを一旦統合すると、異なるチームが異なるタイプ(マイクロサービス、ISV、伝統的)の異なるアプリ(Windows、Linux、メインフレーム)を導入でき、異なるオーケストレータ(SwarmかKubernetes)を使い、すべてを同じDocker EE環境で安全に分離しておくことができます。
これにより、開発チームは自身のツールやプロセスを同じ環境に持っていくことができます。

図 5. リソースコレクションにおけるDocker EEのアクセス制御

図 5. リソースコレクションにおけるDocker EEのアクセス制御

ユーザは、アプリケーションをEEクラスタにデプロイするときに、ノードの共通セットにわたって、Docker Trusted Registryによって安全になっているコンテナイメージの共通セットを使って、KubernetesかSwarmのAPIを選択できます。

Kubernetesへアプリをデプロイ

来たるリリースの新機能として、組織は既存のDocker Composeファイルを使って、Kubernetes環境にデプロイできるようになります。
Dockerのサービス定義をネイティブのKubernetesリソースタイプにマッピングすることで、どちらのオーケストレータでも同じDocker Composeファイルでデプロイが可能です。

図 6. KubernetesワークロードとしてデプロイするDocker Compose YAMLファイル

図 6. KubernetesワークロードとしてデプロイするDocker Compose YAMLファイル

中央集権的な管理

Docker EEでは、統合された中央集権的なロギングとモニタリング機能により、異なるアプリケーションのすべてを単一環境で監視・管理できます。
チームは、現在の能力に合わせた統一的な操作モデルで、すべてのアプリケーションを管理・安全にできます。


図 7. 同じDocker Compose YAMLファイルからSwarmとKubernetesにデプロイしたコンテナを含む、Docker EEダッシュボードのコンテナビュー

図 7. 同じDocker Compose YAMLファイルからSwarmとKubernetesにデプロイしたコンテナを含む、Docker EEダッシュボードのコンテナビュー

インフラストラクチャの独立性

Docker EEは、複数のLinuxディストリビューション(RHEL、SLES、CentOS、Ubuntu、Oracle Linux)とWindows、AWSとAzureを含むクラウドプラットフォームなどの認証インフラストラクチャ・プラットフォーム全体に、一貫する体験を提供します。
これは組織が低層域のプラットフォームにロックインされず、クラウドのポータビリティの恩恵をより大きく受けることができます。

ベータ版サインアップ

Docker社はKubernetesの最新の安定版リリースを統合し、Kubernetesプロジェクトへ貢献し返す予定です。
このアナウンスの一部として、Docker社はDocker for MacとDocker for WindowsにKubernetesサポートも追加する予定です。

Kubernetesにおける、先進的なライフサイクル管理機能などの簡単な管理と安全なデプロイに興味がありましたら、https://www.docker.com/kubernetesにアクセスして来たるベータ版にサインアップしてください。

Docker Enterprise Editionについてより詳しく:

新規CTA