Newton バージョンのリリースノート

3.2.0

新機能

  • LBaaS v2 のサポートを追加しました。LBaaS v1 は Newton リリースで neutron コミュニティによって削除されています。今まで、 LBaaS v1 は、Magnum を使用して作成されたすべてのクラスターで使用されていました。このリリースでは、サポートされているすべてのドライバーの LBaaS v2 のサポートが追加されています。

アップグレード時の注意

  • クラスターが Magnum 以外の OpenStack サービスと直接通信できるようにするには、 magnum.conf の trust セクションで cluster_user_trust を True に設定します。デフォルト値は False です。

セキュリティー上の問題

  • すべての Magnum クラスターには、信頼されるユーザーと trustID が割り当てられます。 このユーザーは、クラスターが鍵管理サービス(Barbican)と通信し、クラスターの認証局を取得できるようにするために使用されます。 この信頼ユーザーは他のサービスでも使用できます。 これを使用して、クラスターがブロックストレージサービス、オブジェクトストレージサービス、ロードバランシングなどの他のOpenStack サービスで認証されるようにすることができます。このユーザーと trustID を持つクラスターには、信頼する側の OpenStack プロジェクトへのフルアクセス権があります。 Magnum 以外のサービスへのアクセスを制限するための新しい設定パラメータが追加されました。

バグ修正

  • 新しく作成されたクラスターの CVE-2016-7404 を修正しました。この問題を解決するには、既存のクラスターを再作成する必要があります。この修正の一部は、magnum.conf の trust セクションに新しく導入された cluster_user_trust の設定です。この設定の既定値はFalseです。 cluster_user_trust は、クラスターのインスタンスにトラスト ID を渡すことを許可するかどうかを指定します。ほとんどのクラスターでは、この機能は必要ありません。 registry_enabled=True または volume_driver=rexray のクラスターにはこの機能が必要です。この機能を必要とするその他の機能が将来導入される可能性があります。このようなクラスターを作成するには、 cluster_user_trust を True に設定する必要があります。

3.1.0

紹介

Magnum の bay-to-cluster のブループリント [1] は、業界標準に合わせてコードベースの多くを変更する必要がありました。 このブループリントをサポートするために、特定のグループ名とオプション名が設定ファイル [2] で変更されました。 詳細は非推奨のセクションを参照してください。 [1] https://review.openstack.org/#/q/topic:bp/rename-bay-to-cluster [2] https://review.openstack.org/#/c/362660/

マグナムのサービスタイプとミッションステートメントに関する記述が変更されました [1]。

サービスタイプを「コンテナーサービス」から「コンテナーインフラ管理サービス」に変更します。さらに、ミッションステートメントが「コンテナーオーケストレーションエンジンのプロビジョニング、スケーリング、および管理のための一連のサービスを提供する」に変更されました。

Magnum プロジェクトの範囲を限定して、 OpenStack とコンテナーオーケストレーションエンジン(COE)を統合することに焦点を当てる予定です。任意の COE の個々のコンテナーを均一に作成、管理、削除するための API 機能は、 Magnum の API から削除され、 Zun という別のプロジェクトとして再導入されます。

[1] https://review.openstack.org/#/c/311476/

新機能

  • flannel の host-gw バックエンドオプションを追加します。Magnum は flannel を使用して専用の neutron プライベートネットワーク上にクラスターをデプロイします。 Flannel の host-gw バックエンドは、パケット処理のオーバーヘッドがなく、 MTU が削減されず、多くのホストや代替手段にスケールするため、このトポロジ(プライベートレイヤー2)で最高のパフォーマンスを発揮します。 ラベル "flannel_use_vxlan" は、ネットワークドライバーが flannel のときに再利用されます。まず、ラベル flannel_use_vxlan の名前を flannel_backend に変更します。次に、このラベルの値を "yes/no" から "udp/vxlan/host-gw" に再定義します。

  • OpenSUSE で k8s クラスターを実行するための新しい OpenSUSE ドライバーのサポートを追加しました。このドライバーは今のところ実験的なもので、オペレーターは /contrib フォルダから取得する必要があります。

  • swarm の docker ネットワークドライバーのオーバーレイネットワークの設定を追加します。この機能を使用するには、 network_driver が 'docker' に設定された swarm クラスタを作成する必要があります。クラスターを作成した後、ユーザーはオーバーレイネットワーク(docker network create -d overlay mynetwork)を作成し、新しいコンテナーを起動するときに使用できます(docker run -net=mynetwork ...)。

  • クラスターおよびクラスターテンプレートの名前を自動生成します。 ユーザーが名前を指定せずにクラスター/クラスターテンプレートを作成すると、その名前が自動生成されます。

  • Barbican の厳しい要求を切り離します。 x509keypair という新しい証明書ストアを導入します。 x509keypair を使用すると、TLS 証明書は barbican の代わりに magnum のデータベースに格納されます。 これを行うには、設定 cert_manager_type の値を x509keypair に設定します。

  • neutron-lbaas の厳しい要求を切り離します。 クラスターテンプレートに新しいプロパティ master_lb_enabled を導入します。このプロパティは、クラスターのマスターノードが負荷分散されるべきかどうかを決定します。 neutron-lbaas がインストールされていない場合は、値を false に設定します。

  • クラスターにイベントが存在する場合に通知を送信します。イベントは、エンドユーザーが発行する操作(例えば、ユーザーがクラスターを作成、更新、または削除する)によって、クラスターのステータス変更となり得ます。通知は、 oslo.notify と PyCADF を使用して送信されます。 Ceilometer は、イベントをキャプチャーし、監査、課金、監視、またはクォータの目的でサンプルを生成できます。

  • Enable Mesos cluster to export more slave flags via labels in cluster template. Add the following labels: mesos_slave_isolation, mesos_slave_image_providers, mesos_slave_work_dir, and mesos_slave_executor_environment_variables.

  • Docker Swarm Fedora Atomic ドライバーとブロックストレージサービス(cinder)を統合します。 rexray v0.4に基づいて、 rexray ボリュームドライバーが追加されました。ユーザーは、 Docker のネイティブクライアントを使用してボリュームを作成して接続することができ、クラスターごとの信頼されるユーザーを使用して認証されます。 Rexray は、 Fedora Atomic イメージに追加することも、コンテナー内で実行することもできます。

アップグレード時の注意

  • Magnum は現在、API サービス用の SSL をサポートしています。 ユーザーは、新しい3つの設定オプション 'enabled_ssl' 、 'ssl_cert_file' 、 'ssl_key_file' を使用して、 API に SSL を有効にすることができます。

  • SSL をより良くサポートするために、デフォルトの API 開発サービスを wsgiref simple_server からwerkzeug に変更してください。

  • すべてのコンテナー/ポッド/サービス/レプリケーションコントローラ操作が削除されました。 COE のネイティブツール( docker、 kubectl など)を使用して、削除された操作と同等の操作を行うことをお勧めします。

廃止予定の機能

  • 'bay' グループの名前が 'cluster' に変更され、以前の 'bay' グループのすべてのオプションが 'cluster' に移動されました。

  • 'bay_heat' グループの名前が 'cluster_heat' に変更され、以前の 'bay_heat' グループのすべてのオプションが 'cluster_heat' に移動されました。

  • 以前の 'bay_heat' グループの 'bay_create_timeout' オプションは 'cluster_heat' グループ内の 'create_timeout' に名前が変更されました。

  • 'baymodel' グループの名前が 'cluster_template' に変更され、以前の 'baymodel' グループのすべてのオプションが 'cluster_template' に移動されました。

セキュリティー上の問題

  • 定期的なタスクでグローバルスタックリストを修正します。 以前は、Magnum の定期的なタスクは、すべてのテナントでスタックリスト操作を実行していました。 これはセキュリティ上の問題が発生するため、デフォルトで Heat によって無効になっています。 このリリースでは、Magnum はデフォルトで各 Heat スタックに対して stack-get 操作を実行します。 これはスケーラブルではないかもしれませんので、オペレーターは periodic_global_stack_listTrue`(デフォルトで `False)に設定し、Heat ポリシーファイル(通常は /etc/heat/policy.json )を Magnum にスタックの一覧取得を許可するよう更新することで stack-list への退行が可能です。

3.0.0

新機能

  • docker-storage-driver パラメータをベイモデルに追加すると、ユーザーはサポートされているドライバーから選択できるようになります。これまでは、 devicemapper だけがサポートされていました。このリリースでは、カーネルバージョンが 3.18 以上(Fedora 22 以上)の Fedora Atomic ホスト上で OverlayFS がサポートされ、パフォーマンスが大幅に向上しました。 OverlayFS を使用するには、 SELinux を有効にして物理マシンで強制モードにする必要がありますが、コンテナー内で無効にする必要があります。 したがって、docker-storage-driver に overlay を選択した場合、 SELinux はコンテナ内で無効になります。

  • Magnum のベイ操作の現在の実装は同期的であり、その結果、 HEAT サービスからの応答が受信されるまで API リクエストがブロックされます。このリリースでは、非同期のベイ操作(ベイ作成、ベイ更新、およびベイ削除)のサポートが追加されています。この変更により、 bay-create 、 bay-update の API コールはベイオブジェクトではなくベイ uuid を返し、 201 ではなく HTTP ステータスコード 202 を返します。マイクロバージョン 1.2 が新しい動作のために追加されています。

  • Magnum ベイのロールバックをサポートするマイクロバージョン 1.3 を追加すると、ユーザーはリクエストヘッダーで 'OpenStack-API-Version' を 'container-infra 1.3' に設定し、ベイ更新要求で 'rollback=True' パラメータを渡すことでベイの更新失敗時のロールバックを有効にできます。

アップグレード時の注意

  • Magnum のベイ操作 API のデフォルト動作が同期から非同期に変更されました。同期的なベイ操作のために、リクエストヘッダーに OpenStack-API-Version 1.1 を指定することができます。

  • Magnum のデフォルトのサービスタイプが「container」から「container-infra」に変更されました。 これに応じて、 Keystone サービスカタログのサービスタイプを更新することをお勧めします。