COLUMN誰でもわかる!お役立ちコラム

エッジ活用支援コラム

Kubernetesを便利に管理できるRancherとは?

Rancherとは?

Rancher(ランチャー)はRancher Labsが主導となって開発しているプロダクトで、Kubernetes環境の運用管理を行うOSSです。Rancher Labs社はSUSE(世界最大の独立オープンソース企業)に2020年7月に買収されているため、現在はSUSE社が主導して開発しています。

Kubernetes導入については、その機能の多さや運用面の複雑さから、学習コストが非常に高いことがデメリットの一つとして挙げられますが、Rancherを導入することで、そのデメリットを軽減することが可能です。
本記事ではRancherの具体的な機能や特徴、メリットについて記載していきます。

Rancherで何が出来るのか?

Rancherはコンテナを中心に作られたシステムの運用管理を簡略化するツールです。コンテナは単体ではログ収集や通信制御といった、コンテナ自身の運用管理は原則できません。そのコンテナを複数組み合わせた複雑なシステム用に、コンテナの運用管理機能を付与するソフトウェアがKubernetes(クバネティス、クーベネティス)です。

しかしながら、機能が非常に多く、CUI(コマンドインターフェース)やyamlファイルといった文字ベースの設定が必要であるため、残念ながら簡単に導入できるとはいいがたく、どうしても学習コストがかかってしまいます。そこで、学習コストを低くし、Kubernetes自体を使いやすくする製品としてRancherが生まれました。RancherはKubernetesクラスターをオンプレ・クラウド環境問わずGUIで作成及び管理することができるため、CUIの操作に慣れていない人でも簡単に扱うことができることもできます。

特に、クラウド環境ではクラウドベンダーがマネージドKubernetesを提供していますが、オンプレミスの環境では該当するものがないため、オンプレミスでKubernetesを導入する場合には非常に便利な製品と言ってよいと思います。

SUSE社公式パートナー/スタイルズによるRancher/K3sの商用保守サポートはこちら→

「Kubernetes」と「Rancher」の違いとは?

KubernetesとRancherはどちらも運用管理を行うためのツールですが、管理対象が異なっています。KubernetesはDockerコンテナなどを管理するツールとして、コンテナシステムのスケーリングやネットワーク、ログ管理などの機能を追加するツールです。

一方で、Kubernetesは非常に多岐にわたる機能があるため、扱いが難しいという特徴があります。その特徴をクリアするために、Rancherが存在します。Rancherを使ってKubernetesを管理することで下記のようなデメリットを解消します。

  • GUI操作…Kubernetesはkubectlといったコマンド操作とYamlファイルによる操作が必要だが、Rancherを使うことでGUIベースでの操作が可能
  • 日本語UI…Kubernetesは基本的に英語ベースのドキュメントや操作がひつようだが、RancherのGUIは日本語が利用可能

Rancherの特徴

RancherはKubernetesの運用管理を簡略化するための様々な便利な特長が備わっています。具体的にどのような特長があるのか見ていきましょう。

マルチクラウドベースのKubernetesクラスター管理

Rancherは「Kubernetes is Everywhere」をコンセプトに、オンプレミスやあらゆるクラウドサービス上に構築したKubernetesクラスターを構築及び運用することができます。例えば、AWS上のEKS(AWSのKubernetesマネージドサービス)と、GKE(GoogleCloudのKubernetesマネージドサービス)上に構築しているシステムについて管理を統合することもできますし、オンプレミスのKubernetes環境とAWSなどのパブリッククラウドにおけるKubernetes環境を統合することも可能です。

高度な権限機能

Kubernetesは権限管理も重要です。例えば、あるPod(コンテナの塊)とほかのPodには違うシステムがデプロイされており、操作権限を分割する必要がある、といったケースが考えられます。RancherはWebコンソールから操作しますが、捜査権限をユーザごとに設定することが可能です。

ユーザごとに権限(ロール)を割り当てることができるため、どのユーザがどのクラスターにどのような操作を許可するのかをきめ細かに設定することができ、セキュリティの設定を簡略化することが可能です。

セキュリティレポートの生成

v2.4.0以上のバージョンの機能として、CIS Benchmarks(セキュリティ担当者がサイバーセキュリティ防御を実装および管理するのに役立つ世界標準のベストプラクティス集)に沿ったセキュリティチェックが可能です。クラスターに対して、セキュリティ設定に関するスキャン実行を定期的に行うだけでなく、レポートの生成を行いダウンロードする機能が備わっています。

また、結果の通知についても、Slackやメールなどを宛先として設定することが可能となっています。

DevOps環境の構築をサポート

RancherにはネイティブにCI/CD機能が用意されており、追加で機能を準備する必要がありません。したがって、簡単にDevOps環境に必要なコンテナのデプロイパイプラインを用意することが可能です。RancherのCI/CDツールはパイプラインにJenkins、アーティファクトの保管にMinio、コンテナイメージの保管にDockerレジストリを利用しています。

GitLabやGitHubといった外部のリポジトリツールとの連携も可能となっており、コンテナイメージのプッシュやコードのコミット等をトリガーにパイプラインの実行が可能です。

Kubernetesとの連携ツールと統合可能

コンテナ環境の監視を行うPrometheusや、ログ収集を行うfluentdなど、コンテナやKubernetesと連携が可能となっている各種のOSSツールとも、問題なく連携することが可能です。したがって、既存のKubernetes環境にfluentdやPrometheusを使っている場合でも、競合なく導入することが可能です。

クラスターの自動アップデート

Kubernetesの運用管理で一番困難なタスクがクラスターのアップデートです。Kubernetesは開発が非常に盛んなOSSであるため、早い場合は3,4か月に1度アップデートが必要になります。また、アップデートを行わないと、すぐにKubernetesの推奨バージョンから外れてしまい、機能のサポートが受けられなくなることもあります。

Rancherでは、バージョンv2.4からは、ノードのローリングアップデータ方式を採用し、アプリケーションを中断せずにKubernetesのクラスターとノードをアップグレードすることができるようになっています。Kubernetesのアップデートを自動かつアプリケーションのダウンタイムなしに実行できるのは、運用負荷の大きな軽減につながります。

SUSE社公式パートナー/スタイルズによるRancher/K3sの商用保守サポートはこちら→

Rancherの正式サポートを受けるには?

RancherはKubernetesの導入において、学習コストを少なくKubernetesを運用管理できるツールです。コンテナやKubernetesは現在利用が拡大しており、様々なビジネスの現場で利用が進んでいます。Rancherはオープンソースではありますが、有償で正式サポートを提供しています。

日本で正式保守サポートを利用したい場合は、Styles社がSUSE社の代理店となっており、正式サブスクリプションと日本語保守サポートを提供しています(https://www.stylez.co.jp/rancher/)。

本記事では様々なRancherの便利な特徴を紹介しましたが、サポートを受けることによってさらなる便利な機能を利用できることに加え、環境の最適化に役立つことは間違いありません。正式サブスクリプションを購入して、Kubernetesの運用管理をスムーズに軽減し、コンテナの利用を拡大していくといいでしょう。