リリース v1.2.0

リリース v1.2.0

バージョン

注意: 新しいinfrastructure servicesでは、ロードバランサの機能を指定のHAProxyイメージに変更し、ネットワークエージェントが起動されなくなりました。 したがって、rancher/agent-instanceが必要なくなりました。

新機能 (v1.1.4からの変更点)

  • Kubernetes 1.4.6 に対応 - 最新のk8sに対応することに加えて、Rancherは以下の機能が提供されます:
    • 既定のRancherオプションに加えて、ユーザーがAWSをKubernetesのクラウドプロバイダーとして選択できるようになりました。
    • kubectl exec、logs、attachがサポートされました。
    • k8sノード にラベル付けがサポートされました。
    • PetSetオブジェクトを使用してステートフルアプリケーションの管理がサポートされました。
    • 環境内でのk8sクラスタアップグレードがサポートされました。
    • Rancher UIで、k8sテンプレートを個々のアプリケーションとして管理するスタックをサポートしました。 スタックは、アプリケーションとしてアップグレード、削除することができます。
    • Rancher UIでk8sの展開とレプリカセットをサポーターしました。
  • Docker 1.12.x サポート [#5179] - Docker 1.12.xがRancherでサポートされ、いくつかの機能が強化されました。
    • Docker Swarmモードは、環境作成時にオーケストレーションフレームワークのオプションとして利用できるようになりました。
    • CattleはDocker 1.12.3以降のすべてのdocker runオプションをサポートするようになりました。更新された実行オプションの詳細については、#4708を参照してください。
  • 改善 Network サポート [#5256, #5276] - Container Network Interface(CNI)仕様用に作成されたカスタムネットワークプラグインのライフサイクル、配布、および更新管理を管理する機能が追加されました。
    • 現在のRancher IPSec管理ネットワークオプションがCNIプラグインとして完全に書き直されて、Cattleとk8sオーケストレーションフレームワークの両方で利用できます。
    • Rancherは、暗号化されていない(その為に性能の良い)クロスホスト用の管理ネットワークの代替オプションとして、VXLAN CNIプラグインが提供されるようになりました。
  • 改善 Load Balancer v2 のサポート [#2179] - RancherのLBサービスは、以下のサポートを受けて完全に書き直されました。
    • SNIルーティングがLB v2で利用可能になりました。
    • HAProxyロギングがLB v2で利用可能になりました。[#2414]
    • 既にサポートされているグローバルセクションとデフォルトセクションに加えて、フロントエンドとバックエンドのカスタム構成をHAProxy構成に追加できるようになりました。[#2171, #1871]
    • ユーザはホスト名ルーティングルールを持つセレクタを追加できるようになりました。[#2288]
    • v2ではポートからサービスへのマッピングをより柔軟に定義できるようになりました。 v1では、ポートをすべてのサービスに対応づける必要がありました。
    • 好きなLBエンジン(nginxなど)を使って独自のカスタムLBサービスを実装し、Rancherのメタデータサービスと統合して、コンテナがLBに登録することをリクエストするタイミングを判断できるようになりました。
  • 改善 Storage Support - カスタムk8sのflexvolumeとDockerボリュームプラグインのライフサイクル、配布、および更新管理を管理する機能が追加されました。
    • CattleでNFSボリュームプラグインがサポートされました。 1.2からRancherNFSはNFS Dockerプラグインソリューションをサポートするようになります。Convoy-NFSは1.2からオプションとして利用できなくなり、1.3以上では利用できなくなります。
    • [実験的機能] EC2のEBSとAWS EFSがサポートされました。
  • 認証サポートの改善 [[#5265]] - 認証のフレームワークをリライトすることでRancherに新しい認証・認可サービスを加えるためのより高い柔軟性を実現しました。
    • Shibboleth v3がRancherにおけるSAML 2.0サポートの認証プロバイダとしてくわえられました。
  • 全体的なパフォーマンス/スケーラビリティの改善 - Rancherにおけるパフォーマンスとスケーラビリティを改善するために様々な機能強化が行なわれました。
    • インフラストラクチャビューのUIがより環境あたりより多くのホストとコンテナを表示できるよう変更されました。
    • スケジューリングの改善と、コンテナの並列起動を実現することでコンテナのデプロイ性能を改善しました。
  • [Rancher CLI]#5265 - Rancherは下に示す機能をサポートしたRancher CLIが同梱されています。
    • 管理ホストに対するネイティブなDocker CLI操作のサポート
    • 環境管理
    • スタック管理
    • サービス管理
    • ホスト管理
    • 管理ホストに対するSSHアクセス
  • リソーススケジューリング - CattleではCPUとメモリのリソース制約に応じてコンテナ配置のスケジューリングをサポートしていました。管理者も同様にホストあたりのCPU/メモリのリソース制限を設定することができるようになりました。
  • 環境テンプレート - Rancehrではユーザが必要なインフラストラクチャサービス(LBやネットワークなど)を記述したテンプレートを作成できるようになりました。また、このテンプレートに基づいた環境の立ち上げをサポートするようになりました。
    • Rancherではユーザが環境を立ち上げ、利用することができるようデフォルトのテンプレートを継続して提供しています。
    • 環境テンプレートの作成と管理をユーザが行えるようになりました。環境テンプレートでは、環境の作成に先立ってデプロイするインフラストラクチャサービスを記述することができます。
    • ユーザはRancherによって、コミュニティに提供されたサービスおよび自身で作成したサービスの両方を活用することができるようになりました。
  • HAサポートの改善(http://docs.rancher.com/rancher/v1.2/en/installing-rancher/installing-server/#launching-rancher-server---full-activeactive-ha) - Rancher HAの設定と管理が劇的にシンプルになりました。 複数ノードへのRancherのデプロイに際して、RedisとZookeeperが不要になりました。
  • さらに…
    • Rancherのデプロイにおいて利用可能なDocker Registryのみを含んだホワイトリストの作成を管理者権限を用いてできるようになりました。
    • イメージにprefixがなかった場合に利用するデフォルトのDockerレジストリをadminが指定できるようになりました。
    • カタログのポートおよびラベルへのバインディングが可能になりました。
    • gitブランチを取り扱うためのカタログサポートがくわえられました。
    • Rancher AgentをGo言語でリライトしました。
    • Docker Machineがアップデートされ、新しくアップデートされたUIとともにAzureが新しいホストドライバに加えられました。
    • RancherOS 0.6.0以降がサポートされました。
    • サービスが適切に起動しなかった際、ユーザにより良いロギングを提供することを目的として、サービスログのジャーナリング機能を追加しました。

1.2 にアップグレードするには

Rancher 1.2では、ネットワーク管理方法について大幅に変更されました。特にIPsecネットワークがCNIプラグインを利用するようにリファクタリングされ、新しいv2 LBサービスには柔軟性の高いHAProxy構成のプロバイダーをユーザーが使えるようになりました。この変更の影響で、アップグレードプロセスでネットワークのダウン時間が発生します また、ネットワークの環境の再接続のために各環境をアップグレードする必要があります。アップグレードプロセスはそれぞれの環境によりRancherアップデート方法が分かれているので、以下の手順に従って現在のバージョンを適切な方法で1.2にアップグレードしてください:

Rancher サーバーアップグレード 必ずデータベースをバックアップしてください。Rancher 1.2.0へバージョンアップ後には、以前のバージョンに戻すことはできません。戻したい場合は、以前動いていたバージョン時点でのデータベースのスナップショットを利用するしかありません。データベースのバックアップを取ってから、per the docsに従ってアップグレードを開始してください。

注意: AWS セキュリティグループを利用している場合、必ずICMPをセキュリティグループで有効にしてください。

環境のアップグレード
Rancherサーバーをアップグレードした後は、1.2環境に正常にアップグレードするまで、環境にアクセスできなくなります。1.2でネットワークとLBの変更される為、新しいネットワークコンポーネントに更新されて移行されるまでアップグレード処理中にネットワークが切断されます。アップデートが必要な環境ごとにUpgrade Now*画面を表示して、いつ更新するかを決めることができる便利な機能を提供しました。更新を実行するまで、コンテナは機能し続けますが、管理機能は許可されません。この時、コンテナの再作成(ヘルスチェック)によってこれらのコンテナが動かなくなる可能性があります。HA、DNSプログラミング、ヘルスチェックなど、Rancherの関与が必要な機能は、完了するまで正常に動作しない可能性があるため、環境をなるべく早くアップグレードすることを強くお勧めします。

“今すぐアップグレード”をクリックすると、Rancherは環境のアップグレードを開始します。ご使用の環境の規模によっては最大10〜20分かかる場合がありますので、しばらくお待ちください。Stacks - > Infrastructureの下にあるすべてのスタックがactive状態になっていたら、環境は正常に更新されています。

Kubernetes環境の方は、すべてのインフラストラクチャサービスが「アクティブ」状態になったら、既存のk8s v1.2.6スタックをv1.4.6にアップグレードしなければなりません。注意:k8sをアップグレードする際、既存のポッドを削除して再作成する可能性のある既知の問題があることに注意してください。ポッドがレプリケーションコントローラの一部でない場合は、再作成されません。 それに考慮して計画してください。このケースでもアップグレードプロセスは環境に応じて5〜10分以上かかる場合があり、スタックがアクティブな状態になると完了します。

既知のアップグレードの制限事項

  • Swarm環境のアップグレードはサポートされていません。DockerがDockerエンジンに移行することに関するDocker Swarmからの変更により、Swarmのサポートが最新のDocker 1.12 Swarmからになった為です。
  • 環境テンプレートオプションを表示するマイグレーション用フォルダのカタログエントリがいくつかあります。 これらのカタログ・エントリーは、古いエントリーへのロールバックをサポートしていません。 例えば、Kubernetesにすべての外部DNSエントリが含まれこれ以外にも同様のものがあります。
  • v1ロードバランサからv2ロードバランサへのアップグレード中に、セレクタを使用するルールはアップグレードされません。 これらのルールは、環境のアップグレード後にロードバランサーに再度追加する必要があります。
  • 1.2からは、Rancherはcadvisorからの統計情報を取得せず、Dockerの統計情報から取得します。 これにより、Prometheusのようなcadvisorに依存する既存のカタログは、Dockerの統計情報から取得するように修正されるまで機能しなくなることに注意してください。