Docker Enterprise 3.1 正式リリース! #docker #mirantis #kubernetes #k8s
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本ブログは Mirantis社のリリース記事「Announcing Docker Enterprise 3.1 General Availability」の翻訳記事です。
昨年11月、ミランティス社は、Docker社から Docker Enterprise 事業を買収しました。買収以降、ミランティスと Docker Enterprise チームはお互いの持つ技術を統合し、ベストな製品・サービス・サポートを顧客に提供することに邁進しています。
Docker Enterprise 事業の買収から半年で、Docker Enterprise 3.1 の正式版を発表できることを私達は誇りに思います。
Docker Enterprise 3.1の新機能
今回のリリースは、Kubernetes の特長をさらに向上させる次のような新機能を含みます。
* Windows 上での Kubernetes サポート向上
* GPU サポート
* Istio Ingress
* 新しい UCPインストーラ
* kubernetes 1.17への対応
これらの機能を順に見てみましょう。
Windows 上の Kubernetes サポートの向上
コンテナが cgroups のような Linux の機能から発展したものであることもあり、Kubernetes は開発当初から Linux での動作に重きを置いたプロジェクトです。
現状でも仮想化を利用して Windows 上でコンテナを実行することは可能です。しかし、Windows 開発者にとってその方法は望んでいる環境ではありませんでした。開発者は Windows Node 上で Windows コンテナを動作させることを望んでいます。
コミュニティは最近の Kubernetes のリリースで、Windows 上での実行環境の実装に取り組んできました。
Docker Enterprise 3.1 では、Windows の Worker Node を簡単に Kubernetes クラスタに追加することが出来ます。また、従来の Linux Node と同様に UCP で管理することが可能となりました。
この Windows ベースのコンテナをオーケストレーションする機能の追加によって、Windows コンテナ形式のコンポーネントを幅広く活用する事が可能となり、Windows でのアプリケーションの開発や、アプリケーションのモダナイズを効率化し推進することが可能となります。
これにより、可用性を保証しスケーリングを促進するとともに、使い慣れた Windows 環境においても、コンテナ化やミッションクリティカル(またはレガシーな)Windowsアプリケーションの運用が比較的容易になります。
もちろんユーザは、Azure Stack や、Windows サーバのインフラストラクチャを提供する各社クラウドプラットフォームを自由に利用することも可能です。
GPU サポート
かつてはグラフィック・プロセッシング・ユニット( GPU )がゲームのためだけに存在していた時代もありました。しかしそれは過去のことです。
大企業などは、戦略的判断を行う為に、以前からデータマイニングを行って来ました。今日では、増大したデータを更に効率的に活用するため、AI や機械学習などの活用が広がり、GPU はより重い計算を効率的に行うために欠かせない存在となっています。
Docker Enterprise 3.1 with Kubernetes 1.17 では、GPU に対応した Worker Node を、Kubernetes クラスタに簡単に追加することができます。
いくつかの簡単な自動化されたステップで GPU の利用を設定できます。設定後は Docker Kubernetes Service が自動的に GPU 対応 Node として認識し、Tag で指定されたdeployment が、該当の Node を利用する様に設定することができます。
この機能は、データセンター(およびデスクトップ)コンピューティング用の NVIDIA GPU ボードの普及や、パブリッククラウドプロバイダによる GPU ハードウェアを搭載した仮想マシンのオプションの急速な拡大に対応します。
GPU の計算能力の入手し易さと、コンテナレベルでの強力なサポート(例えば、コンテナ化された TensorFlow など)は、AI やバイオインフォマティクスからゲームまで、爆発的に増加する新しいビジネスモデルに対応したアプリケーションの構築を可能にしています。一方、Kubernetes やコンテナによって、比較的高価なGPUを共有したり、必要に応じてクラウドベースの GPU Node を構成してデプロイすることが容易になります。そのため高額になりがちな GPU Node の課金額をコントロールすることが出来ます。
Istio Ingress
Kubernetes を使用している場合に、クラスタ全体を外部に公開することは避けたいものです。安全かつ安心なのは、受信トラフィックを処理するために必要な公開のみに制限することです。そして、この部分も yaml にて設定可能にして、ルートやヘッダなどに基づいた処理ロジックを定義することが理想的です。
多くの方がご存知の通り、Istio は分散型アプリケーションのトラフィックを非常に強力、かつ、高い粒度で制御を可能にするサービスメッシュアプリケーションです。Istio Ingress は、クラスタに入ってくるトラフィックを制御する Kubernetes Ingress を置き換える Istio のコンポーネントです。
Docker Enterprise 3.1 に含まれる UCP 3.3.0 には、直接制御や設定ができる Istio Ingress が含まれています。 つまり GUI や CLI から、サービスの有効化や無効化を簡単に設定することが可能です。
Mirantis Launchpad CLI ツール
Docker Enterprise は、Kubernetes や Swarm クラスタへのサーバ追加等の管理作業を、より簡単に実行する方法を提供することでユーザの負担を減らすことを目指している製品です。その目的を達成するためには、まずはじめに Docker Enterprise をインストールする必要があります。
これまでのインストール手順では、若干の手動の作業がありました。Docker Enterprise 3.1 では、新しい CLI ツールである Mirantis Launchpad を利用することで、デプロイとアップグレードの煩わしさを解消してくれます。
インストールは簡単です。インストーラをダウンロードし、サーバの場所を指定するだけです。お客様のインストール環境に応じたオプションを指定する事も可能ですが、その場合でもインストールプロセスをできる限り摩擦のないものにしました。
Mirantis Launchpad の入手方法や使用方法については、 こちら をご参照ください。
Kubernetes 1.17 へのアップグレード
最後に、Docker Enterprise 3.1 では、Kubernetes のバージョンが1.17にアップグレードされました。1.17リリースのすべての機能がご利用可能です。
- Pod、Node、Service のための IPv4 / IPv6 デュアルスタックのサポート
- メモリ使用量やディスク容量などの条件に該当する Node にワークロードがスケジュールされるのを自動的に防止する機能
- CSI トポロジーのサポート。ワークロードを、ワークロードが使用するボリュームをホストしている Node にスケジュールし、速度とパフォーマンスの向上を保証
- SubPath のマウントにおける環境変数の拡張と CustomResources のデフォルト化により、エンドユーザ開発者の自由度を向上
より詳細な情報を得るには
- これらの機能を試してみたい方は、 Mirantis Launchpad CLI Toolをダウンロードし、Docker Enterprise 3.1 をお試しください!
- 6月11日に新機能を紹介するウェビナーを開催します。お申込みは こちら まで
原文: Announcing Docker Enterprise 3.1 General Availability