仮想化通信

日本仮想化技術株式会社の公式エンジニアブログ

Rancher2のMulti-Cluster Appsを試してみた

f:id:virtualtech:20191002105121p:plain
Multi-Cluster Apps機能でデプロイしたWordPress

Rancher2.2から追加された機能であるMulti-Cluster Appsを試してみました。 これまでのバージョンでは管理下のクラスター「ごと」にアプリケーションカタログ機能を使って、アプリケーションを選んでデプロイできました。

Multi-Cluster Appsは画面遷移することなく、1つの設定画面から管理下のクラスターにアプリケーションを一括デプロイできる機能です。例えばAWSやAzureなど対応するクラウド上にRancher 2.2以降でKubernetesクラスターを構築している環境があれば、Multi-Cluster Apps機能でアプリケーションカタログからアプリケーションを選んで、アプリケーションの設定をしてデプロイを実行すると、複数拠点のKubernetesにアプリを一度にデプロイできます。

今回はとりあえず社内ネットワーク内にRancher2で構築したKubernetes環境を2クラスター作って、Multi-Cluster Apps機能を試してみました。なお永続ストレージは、事前にnfs-client-provisionerを使って使えるように設定しています。NFSサービスはどこで動いていても良かったのですが、Rancher UIを実行しているノード上で稼働させました。

f:id:virtualtech:20191002111317p:plain
Rancher Kubernetes クラスター

Rancher Kubernetes クラスターはそれぞれコントロールプレーンとワーカーノードの2台構成にしています。もっと多くて(+もっとスペックのいいマシンを用意して)も良かったんですけど。 先ほど説明したように、各Rancher Kubernetes クラスターごとにnfs-client-provisionerを使って永続ストレージを利用できるように設定します。ここもMulti-Cluster Appsを使いたいところだったのですが、ちょっとうまくいかなかったのでNFSについては個別に設定することにしました。

ここまで終わったらあとはMulti-Cluster Appsを使うだけです。グローバルのAppsメニューをクリックするとMulti-Cluster Appの画面が開かれますので、いつものアプリケーションのデプロイのように「起動」ボタンを押します。

f:id:virtualtech:20191002111848p:plain
Multi-Cluster Apps

アプリケーションカタログから、デプロイしたいアプリケーションを選びます。

f:id:virtualtech:20191002111947p:plain
アプリケーションカタログから選択

例えばWordPressとか。デプロイするには「詳細を見る」ボタンを押します。

f:id:virtualtech:20191002112152p:plain
アプリケーションを選択

デプロイ用の設定を行います。基本的に個別のKubernetesクラスターを選び、アプリケーションカタログでアプリケーションをデプロイするときと一緒ですが、Multi-Cluster Apps固有の設定としては、デプロイするアプリケーション名やデプロイのターゲットプロジェクト(もしくはクラスター)、アップグレード方法の選択、アプリケーションに割り当てるロールの設定などの設定が追加されています。

f:id:virtualtech:20191002113058p:plain
アプリケーションの設定

設定が終わったら、画面一番下の「起動」ボタンを押すと、デプロイが始まります。 しばらくすると...

f:id:virtualtech:20191002113434p:plain
デプロイ完了

あとはリンク先から各アプリケーションの情報を参照して、エンドポイントにアクセスしてみます。両Kubernetesクラスター上にデプロイしたWordPressアプリケーションにアクセスできるはずです。

f:id:virtualtech:20191002113636p:plain
エンドポイントにアクセス

f:id:virtualtech:20191002113701p:plain
WordPressにアクセスできた

という感じで、非常にスムーズにアプリケーションを展開できました。さすがですね。

Multi-Cluster Apps

rancher.com