BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Docker Enterprise 3.0がリリース、Docker Kubernetes Services、ライフサイクル自動化ツールなどを新たに提供

Docker Enterprise 3.0がリリース、Docker Kubernetes Services、ライフサイクル自動化ツールなどを新たに提供

原文(投稿日:2019/07/29)へのリンク

2,000人以上が参加したDocker Enterprise 3.0パブリックベータプログラムを経て、Dockerは、Docker Enterprise 3.0 GAを発表した。このバージョンでは、Docker Kubernetes Services(DKS)、コンテナとKubernetesのデプロイを自動化するライフサイクル自動化ツール、セキュリティ強化などが新たに提供される。

Docker Enterprise 3.0では、Docker Kubernetes Services(DKS)が導入されている。Docker Kubernetes Servicesは、ユーザ企業の期待と要請に応えて、セキュリティと管理性の直感的な設定の欠如に起因するKubernetesの複雑性を解決するために設計されたものだ。

Docker Kubernetes Servicesで開発者デスクトップから本番サーバまでのKubernetesを統合することにより、Kubernetesが組織全体にとって、より簡単で安全、かつアクセスの容易なものになる。DKSはこれを、開発者の環境と運用環境の同期を維持するVersion Packsを通じて実現する。さらにDKSには、コンテナストレージインターフェイス(CSI)を完全にサポートするKubernetesの最新リリースが含まれている。

認定されたKubernetes環境をより簡単にデプロイ、スケーリング、バックアップ、復元、アップグレード可能にするため、Dockerは、Docker Certification InfrastructureをベースとしたCLIプラグインを開発して、Dockerクラスタ操作をよりシンプルなものにした。このツールでは、次のような構造を持つYAMLファイルを使用してクラスタ構成を処理する、宣言型モデルを採用している。


variable:
        <name>:
provider:
        <name>:
                <parameter>:
cluster:
        <component>:
                <parameter>:
resource:
       <type>:
                <name>:
                        <parameter>:

上記のファイルで、インスタンスタイプ、Docker Enterpriseバージョン、使用するOS、ネットワークセットアップなどの構成設定を定義する。定義されたファイルは、新しいdocker cluster CLIコマンドで使用することができる。

(画像はblog.docker.comより)

Dockerクラスタと宣言モデルを使用することにより、"docker cluster update"コマンドを使用すれば、CLIプラグインが変更を識別して、安全なアップグレードを実装してくれるため、環境の更新が簡単になる。 さらに、ワーカーノードのBlue-Green Deploymentモデルを使用すれば、ダウンタイムなしでクラスターをアップグレードすることも可能である。

クラスタ環境のバックアップには、任意の場所に配置可能な単一のtarballファイルとしてクラスタ環境を保存する、"docker cluster backup"コマンドを使用する。

さらにDockerは、興味深い変換ツールも開発した。この変換ツールは、仮想マシンあるいはベアメタルサーバ上で実行されているアプリケーションのDockerfileを自動生成するように設計されている。変換ツールを実行すると、アプリケーションが実行されているサーバをスキャンして、OSの構成やWebサーバ設定、アプリケーションの動作方法を判断する。そのデータをDockerfileにアセンブルして、アプリケーションコードをディレクトリにプルすることで、最新のオペレーティングシステムでDocker Buildを行う準備が整うのだ。例えば、Windows Server 2003環境をスキャンすることで、異なるIISアプリケーションプールで実行されている、IISベースの.NETアプリケーション用のDockerfileを生成することができる。

Docker Applicationsは、複数の構成形式でマルチサービスアプリケーションを構築し、共有し、実行するための新しいツールセットである。アプリケーションの説明、コンポーネント、パラメータをファイルまたはディレクトリのような単一のユニットにまとめることで、一種の"コンテナ内コンテナ"の構築を可能にする。Docker Applicationは、元々はDockerがMicrosoft、Hashicorp、Bitnami、Codefreshと共同で開発した、Cloud Native Application Bundles(CNAB)を実装したものだ。Docker Hubから必要なコンテナを識別して構築し、Docker ComposeおよびKubernetes YAMLファイル、Helmチャート、その他の必要な構成設定を生成することができる。

(画像はblog.docker.comより)

定義済みのアプリケーションテンプレートを利用して、Dockerアプリケーションを生成することもできる。Docker Applications Templatesを使用することで、開発者は、予め定義、承認されたアプリケーションおよびサービステンプレートのライブラリを使用して、Dockerコマンドの予備知識を必要とせずにアプリケーションを構築可能になる。アプリケーションテンプレートには、Dockerfile、カスタムベースイメージ、共通の構成サービスYAMLなど、アプリケーションの開発に必要な多くのコンポーネントが含まれている。

Docker Enterprise 3.0には、Swarmのグループ管理サービスアカウント(gMSA)やPKI証明書ベースの認証などのセキュリティ拡張機能も含まれている。

Docker Desktop Enterpriseは、Docker Desktop Communityに比較して、独自の機能を提供している。それらを比較したものが下の表だ。

(画像はblog.docker.comより)

Docker Enterprise 3.0トライアルをテストするには、https://trial.docker.comで登録する必要がある。

この記事に星をつける

おすすめ度
スタイル

BT