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を実行しているノード上で稼働させました。
Rancher Kubernetes クラスターはそれぞれコントロールプレーンとワーカーノードの2台構成にしています。もっと多くて(+もっとスペックのいいマシンを用意して)も良かったんですけど。 先ほど説明したように、各Rancher Kubernetes クラスターごとにnfs-client-provisionerを使って永続ストレージを利用できるように設定します。ここもMulti-Cluster Appsを使いたいところだったのですが、ちょっとうまくいかなかったのでNFSについては個別に設定することにしました。
ここまで終わったらあとはMulti-Cluster Appsを使うだけです。グローバルのAppsメニューをクリックするとMulti-Cluster Appの画面が開かれますので、いつものアプリケーションのデプロイのように「起動」ボタンを押します。
アプリケーションカタログから、デプロイしたいアプリケーションを選びます。
例えばWordPressとか。デプロイするには「詳細を見る」ボタンを押します。
デプロイ用の設定を行います。基本的に個別のKubernetesクラスターを選び、アプリケーションカタログでアプリケーションをデプロイするときと一緒ですが、Multi-Cluster Apps固有の設定としては、デプロイするアプリケーション名やデプロイのターゲットプロジェクト(もしくはクラスター)、アップグレード方法の選択、アプリケーションに割り当てるロールの設定などの設定が追加されています。
設定が終わったら、画面一番下の「起動」ボタンを押すと、デプロイが始まります。 しばらくすると...
あとはリンク先から各アプリケーションの情報を参照して、エンドポイントにアクセスしてみます。両Kubernetesクラスター上にデプロイしたWordPressアプリケーションにアクセスできるはずです。
という感じで、非常にスムーズにアプリケーションを展開できました。さすがですね。