リリース v2.0.0

Release v2.0.0

数か月に渡る開発期間を経て、私たちはついに Rancher 2.0 をユーザに提供できるようになりました。 以前のバージョンの Rancher バージョン 1.6 は、 Docker 上に作られたコンテナ管理プラットフォームでした。 Rancher 2.0 は Rancher 1.6 での経験と成功をもとに構築されていますが、2.0 においては Rancher の機能のほとんどが Kubernetes 上で動くように再設計されています。 Rancher 2.0 はバージョン 1.6 の UI やカタログのようなユーザフレンドリーさは残しつつも、以下のようなたくさんの新機能も備えています。

  • CI パイプラインの組み込み
  • アラートとログ集約
  • 複数のクラスタ管理
  • Rancher Kubernetes Engine (RKE)
  • GKE、EKS、AKSのような クラウド Kubernetes サービスの統合

注意 - 以前のバージョンからのアップグレードはサポートしていません。このバージョンからのアップグレードはすべてサポートしています。

役に立つリンク

Quick Start Guide

Rancher 2.0 Docs

Rancher サーバのタグについて

Rancher サーバには2つの異なるタグがあります。メジャーリリース毎に、特定バージョンのドキュメントを提供しています。

  • rancher/rancher:latest タグは最新の開発ビルドです。これらのタグは自動 CI フレームワークを通して検証されたものです。これらのタグは本番環境へのデプロイ用ではありません。
  • rancher/rancher:stable タグは最新の安定板リリースビルドです。このタグのバージョンを本番環境へのデプロイに推奨します。

rc{n} が付いているリリースは使わないでください。これら rc ビルドは Rancher 開発チームへのテストビルドを意味します。

最新版 - v2.0.0 - rancher/rancher:latest

安定版 - このタグはまだありません。1,2週間かけて残っている未解決の問題を修正して、最新のビルドを提供する予定です

新機能

  • Cluster と Node の管理 - Rancher は クラウドプロバイダが提供する k8s クラスタや Rancher Kubernetes Engine (RKE) を使ったクラスタを追加する機能や、既存のクラスタを簡単にインポートする機能があります。。
    • クラウドプロバイダ - 以下の主要なクラウドプロバイダの k8s クラスタのノードを管理作成できる完全統合環境です。
      • Google Kubernetes Engine (GKE)
      • Azure Container Service (AKS)
      • Amazon’s Elastic Kubernetes Service (EKS) - Experimental
    • Rancher Kubernetes Engine (RKE) - Rancher がサポートする k8s クラスタを、クラウドでもオンプレでも作成することができます。 Rancher を通じてあなたの k8s に、適切にホストを拡張することができるようになるでしょう。
    • インポート - v1.8 以上の k8s クラスタであればインポートすることができます。
  • 認証 - ローカル、Github、Active Directory をサポートしています。Rancher のインストール後に、管理者のパスワード変更を要求するメッセージが表示されます。
  • ユーザ管理 - Rancher はそれぞれの権限を持つ2つのユーザタイプ(管理者とユーザ)をサポートしています。カスタムユーザタイプもサポートします。
    • 管理者 - 全てのグローバルな権限(super admin)
    • 一般ユーザ - 一般的なユーザ権限で以下を有しています。
      • 名前空間、ユーザ、プロジェクトなどを含む自身のクラスタのみ管理できます。
      • カタログやノードドライバを閲覧できるが、管理はできません。
      • ロールの作成はできませんが、自身のクラスタ/プロジェクトに招待されたユーザに割り当てることはできます。
    • カスタム - カスタムタイプのロールで自分だけのユーザタイプを定義できます。
  • Role Based Access Control (RBAC) - Rancher で独自のグローバルなクラスタロールを作成しユーザを割り当てることで、k8s クラスタやプロジェクトを簡単に管理できるようになります。Rancher にはすぐに使える k8s のロールや独自のロールをカスタムする機能が含まれています。各カスタムロールはグローバル、クラスタ、プロジェクトといったレベルに割り当てることができます。
  • プロジェクトと名前空間の管理 - ユーザは名前空間を作成し、プロジェクトに割り当てることができます。プロジェクトは Rancher では新しい概念で、一連の名前空間をグループにして、それらにユーザ権限を割り当てることができます。
  • ワークロードの管理 - Rancher は新しいワークロードUXを導入し、ワークロードの管理作成をしています。サポートしているワークロード機能は
    • ワークロードを作成し適切な k8s リソース(ポッド、ステートフルセット、デプロイメント、デーモンセット等)に自動的に変換する機能。また、Rancher はユーザがどのようにポートを公開するかという要望に基づき適切な k8s サービス(ノードポート、ロードバランスサービス、クラスタIP)を作成します。k8s への変換や面倒なことは Rancher が行います。あなたは事前に k8s の構造を調べたり理解したりする必要はないのです。
    • Ingress を作成し使える機能。
    • k8s サービス、または外部IPアドレスのためのDNSレコードを生成する機能。
    • 認証されたレジストリを追加する機能。
    • k8s secrets を管理する機能。
    • Ingress のための SSL 証明書を管理する機能。
    • ノードポートサービス、ロードバランササービス、Ingress、およびホストポートによって公開されるポートに基づいてパブリックエンドポイントを生成する機能。
  • Rancher CLI - CLI は Rancher 2.0 の全ての機能をサポートします。
  • ポッドセキュリティポリシー - ユーザは独自のポッドセキュリティポリシーを作成したり、ポリシーをロールに適用することができます。
  • Helm へのカタログサポート - 更新された 2.0 のカタログでは Helm chart がサポートされます。
  • Rancher サーバの HA と SSL サポート
    • Rancher は docker run でインストールできます。
    • Rancher は既存の k8s クラスタにインストールできます。このオプションは外部の k8s クラスタで管理される Rancher HA としてサポートします。
  • アラートの管理 -
    • デフォルトでは無効になっています。有効にすると Prometheus AlertManager をインストールします。
    • すぐに使える基本的なアラート条件の提供をサポートします。(最終的なリストは作成中です)
    • 通知機能のサポート(Slack, Email, PagerDuty, Webhooks)
    • アラートの作成、削除、無効、ミュートといった管理機能をサポートします。
    • 通知機能と一緒に設定されている、すぐに使える基本的なシステムアラート (システムサービス、ネットワーク等)をサポートします。
    • クラスタとプロジェクト全体のリソース(ポッド、ノード等)でのラベルセレクターをサポートします。
    • テスト通知をサポートします。
    • 管理層のアラートはサポートしていません。(例:クラスタの1つが停止した)
  • ロギング
    • デフォルトでは無効になっています。有効にすると Fluentd をインストールします。
    • クラスタ全体のコンテナとワークロードにおける stdout/err ロギングを構成する機能をサポートします。
    • プロジェクト全体のコンテナとワークロードにおける stdout/err ロギングを構成する機能をサポートします。
    • 特定ディレクトリへのワークロードロギングを構成する機能をサポートします。
    • 次のログターゲットをサポートします。
      • Rancher に組込み済みのロギング - 実験段階でテスト用
      • ElasticSearch
      • Splunk
      • Syslog
      • Kafka
  • CI パイプライン - シンプルで統合されたパイプライン機能で、プロジェクト内でCIを作成することができます。(CD は現在作成中です)

    • デフォルトでは無効になっています。有効にすると Jenkins をインストールします。
    • 初期状態で GitHub との統合をサポートします。
    • UI ウィザードを使ったパイプラインの作成、 YAML ファイルのインポート、または GitHub プロジェクトから直接パイプライン YAML ファイルの読み込みをサポートします。
    • 複数のステージや複数のステップのパイプライン作成をサポートします。
    • 必要に応じて、コンテナイメージのデフォルトに使う適切なコンパイラを含めた言語の自動検出をサポートします。
    • プロジェクトに追加されたレジストリとの統合。

      Rancher 1.6 からの移行

      Rancher 2.0 プロジェクトに着手したことで、以前の全ての Rancher 1.6 モジュールは完全に Go に書き換わり、この過程においてシステムモジュール全てに手を入れました。なので、1.6 から 2.0 への直接アップグレードはありません。 私たちの次のマイルストーンになる 2.1 リリースは Rancher Compose を Kubernetes YAML に変換するツールを含んでいます。これのおかげで既存の Cattle ユーザは、最初から作り直して移行する必要がなくなります。しかしながら、Cattle の機能を活かしつつ Kubernetes 環境に新しいワークロードとしてデプロイするようにするのは、最も大きな挑戦であることはわかってます。Cattle のシンプルさを楽しみつつ Kubernetes のワークロードを手早く作れるチートシートとなるガイドをリリースする計画もあります。

この移行を計画するための時間を与えるために、Rancher 1.6 のサポートを 2.1 がリリースされてから最低でも1年は継続する計画です。