見出し画像

Red Hat の ACM をさわってみた

『IT自動化の力でビジネス加速を全ての企業に』

”IT自動化の専門会社”、リアルグローブ・オートメーティッド(RGA)の技術ブログ編集部の水谷です。本日もRGAの技師がまとめた技術情報を読者の皆様にお届けしていきます!

皆さんもご存じの通り、コンテナ技術は日進月歩で進化しており、その管理ツールも新しいものがどんどん登場しています。大規模なコンテナ環境の運用は難易度が高いので、適切なツールを選択して導入することが重要となるでしょう。

今回はそんなツールの中から、RGA もパートナーに参加している Red Hat 社がリリースした ACM にフォーカスを当て、それがどのようなものであるかをRGA 技師が調査した様子を記事にまとめてみました。

――――――――――――――――――――――――――――――――――

今年(2020年)の夏にリリースされたACM (Red Hat Advanced Cluster Management for Kubernetes) に触れる機会がありましたので、何ができるものなのか簡単に調べてみました。

Red Hat の ACM とは何か

今回のお題となる "ACM" をひとことで表すと、"マルチクラスターの統合管理ツール"ということになります。複数の OpenShift や Kubernetes クラスターをまとめて管理することができます。マルチクラスター管理ツールと言うと、Rancher Labsの Rancher や Google の Anthos、あるいは VMWare の Tanzu などがすでに有名ではありますが、ACMの場合OpenShift対応であることが特徴です。

では、さっそく ACM を試しながらこのツールが持つ機能を見てみましょう。

検証環境

今回はACMからOpenShiftクラスターを新規作成して、新規作成したクラスターにACM経由でアプリケーションをデプロイするという検証を行いました。この検証のためには最低でも OpenShift クラスターが2つ以上(8CPU+24GBMemのマシンを12台以上)必要になるため、なかなか手元の環境でささっと試す、というわけにはいきません。AWS 等のクラウドサービスで試すのが手軽で良いですが、この構成で長時間使用すると利用料金もそれなりの額になりますので、ご注意ください。

アーキテクチャー

ACMのアーキテクチャーを図で表すと、下のようになります(Red Hat の Web サイトより引用)。

画像1

見慣れない用語もありますので、この図に出てくる用語と要点を書き出してみます。

・ACM は OpenShift (バージョン4.4以上)上にデプロイされ、ACM がデプロイされたクラスターをHubクラスターと呼ぶ。
・ACM で管理されるクラスターは Managed クラスターと呼ぶ。
・Managed クラスター側には Agent をデプロイする。
・Hub クラスターは ACM 専用のクラスターにして、他のアプリケーションは動かさない。
・Hub クラスターは OpenShift でないといけないが、Managed クラスターは OpenShift だけでなく Kubernetes も OK(対応状況はこちらで確認できます)。
・ACM で Hub クラスターの管理はできない。

ACMでできることと機能

画像2

上は ACM のスタート画面なのですが、ここから ACM は次の4つの機能で構成されていることが分かります。

・Cluster lifecycle
・Application lifecycle
・Governance, Risk, and Compliance
・End-to-end visibility

それぞれについて見ていくことにしましょう。

Cluster lifecycle
Cluster lifecycle では、その名の通りクラスターのライフサイクル管理(クラスターの新規作成・削除・設定変更など)が行えます。ACM からクラスターを作成しなくても、既存クラスターを管理対象に追加することも可能ます。ただし、Kubernetes クラスターを ACM から作成することはできないため、Kubernetes クラスターを管理したい場合は自分で作ってから ACM に登録する必要があります。

画像3

Application lifecycle
Application lifecycle では、マルチクラスターへのアプリケーションデプロイからライフサイクル管理までを一箇所で行うことができます。OpenShift はどの Pod を、どの Node にデプロイするか決めてくれますが、ACM はさらにどのクラスターにアプリケーションをデプロイするのかも決めてくれます。

Governance, Risk, and Compliance
これは、クラスターに適用されるポリシーを管理する機能です。例えば、limit のデフォルト値を決めて強制するなど、運用ルールの徹底化が行えます。また、TLS 証明書を監視して証明書が近づいたら警告することもできます(ただし、自動で証明書の交換はできない)。

End-to-end visibility
この機能により、下のようにクラスタとリソースの状態をダッシュボードで確認できます。

画像4

また、リソースの検索機能もあり、さらに、Visual Web Terminal を使うとocコマンドや kubectl コマンドをブラウザ上で使うことができます。

まとめ

マルチクラスター管理ツールをはじめて触りましたが、クラスター本体の管理だけではなく、アプリケーションの管理・監視なども含めて ACM で完結するのはとても便利そうでした。多くのクラスターを管理する必要がある場合は利用を検討したいツールだと思います。

関連資料

・ACM環境の構築方法: https://rheb.hatenablog.com/entry/OpenShift_ACM

――――――――――――――――――――――――――――――――――

執筆者プロフィール:青島 秀治
株式会社リアルグローブ・オートメーティッド 技師
九州大学大学院理学府博士課程中退。
大学院では理論天文学が専門。数値計算プログラム開発の傍ら、研究用の計算機郡や学内システムの開発・運用を経験。
2019年よりAnsibleを用いた運用作業自動化や自社サービスのKubernetes移行、OpenShiftのインフラCI実装などの業務に従事。

【ご案内】
ITシステム開発やITインフラ運用の効率化、高速化、品質向上、その他、情シス部門の働き方改革など、IT自動化導入がもたらすメリットは様々ございます。

IT業務の自動化にご興味・ご関心ございましたら、まずは一度、IT自動化の専門家リアルグローブ・オートメーティッド(RGA)にご相談ください!

お問合せは以下の窓口までお願いいたします。

【お問い合わせ窓口】
代表窓口:info@rg-automated.jp
URL: https://rg-automated.jp

画像5