こんにちは。 IDCフロンティア 事業推進本部SE部の掛田(@skakeda)です。 普段はセールスエンジニアとして、IDCFクラウドなど当社サービスのご提案や導入支援を行っております。本記事では前回に引き続き、IDCFクラウドコンテナサービスについて、ご紹介します。
今回のテーマ
今回のテーマは「リソース監視」です。 システム運用担当者にとって、システムの稼働監視やリソース監視などといったモニタリング機能は、サービスを選定する上で重要な要素ではないでしょうか。
また、コンテナサービスを初めて利用するため、どの監視ツールを導入するべきなのか、実装方法がわからないと悩んでいる方もいらっしゃると思います。
今回はIDCFクラウドコンテナにおいてデフォルトでご提供している、モニタリング機能のご利用方法、さらには永続ストレージ(パーシステントボリューム)を利用して、モニタリングデータを永続化する方法をご紹介します。
IDCFクラウドコンテナサービスのモニタリング機能
IDCFクラウドコンテナサービスのモニタリング機能は「Grafana」「prometheus」を利用し実現されています。
必要な初期設定は殆ど必要なく、WebUIからボタンをクリックするだけでモニタリング機能が有効になります(設定方法はIDCFクラウドコンテナご利用ガイドの29ページをご参照ください)。
kubernetesマスターコンポーネント(etcd、スケジューラー、コントローラーマネージャー)と各ノードに対する、監視が行われます。
↑ダッシュボードから簡易的にリソース利用状況を確認できるようになります。
↑ダッシュボードのGrafanaのアイコンをクリックすると、Grafana WebUIの管理画面に遷移し、より詳細なリソース状況を確認できます。
このような形で簡単にモニタリング機能を有効化でき、視覚的に各メトリクスをリアルタイムに確認することが可能です。次項では、コンテナの特徴を踏まえた注意事項についてご説明します。
永続化ボリュームの必要性
コンテナには「揮発性」があります。 具体的には、コンテナが削除されるとコンテナ内に保存されたデータは消えてしまいます。
各クラスタから収集されたメトリクスデータは特定のコンテナに収容され、モニタリング機能は当該のデータを参照しているため、そのコンテナが削除された時点でメトリクスデータは失われてしまうのです。
永続ストレージを利用することで、この問題を解決できます。モニタリング設定画面から、永続ストレージの有効化が可能です
検証
永続ストレージを有効化しない場合 (データが消失するパターン)
まず永続ストレージを有効化しないとデータが消失してしまうことを確認します。クラスターモニタリング設定を有効化する際、「Prometheusの永続ストレージを有効にする」「Grafanaの永続ストレージを有効にする」で「いいえ」を選択します。
リソース状況の取得が開始されます。
次に、コンテナに障害が発生し、メトリクスデータが収容されているコンテナが再デプロイされたことを想定し、当該コンテナ「prometheus-cluster-monitoring」を再デプロイします。
コンテナの再デプロイが完了した後、Grafanaの画面をみると、データが消失していることが確認できます。これがコンテナの「揮発性」という特徴です。
上記のようなデータの消失を避けるためにも、「永続ストレージ」の有効化は必須と言えるでしょう。では、「永続ストレージ」を有効化した場合、本当にデータは保持されるのか検証したいと思います。
永続ストレージを有効化する場合 (データが継続するパターン)
クラスターモニタリング設定を有効化する際、「Prometheusの永続ストレージを有効にする」「Grafanaの永続ストレージを有効にする」で「はい」を選択します。
↑赤枠:「Grafana」「prometheus」の永続ストレージサイズを指定します。必要なボリュームサイズの目安は監視対象のクラスターのノード数などに依存します。例えば、5ノードのクラスターであれば1日あたり1 GB、50ノードのクラスターであれば1日あたり50GBを目安にしてください。
↑リソース状況の取得が開始されます。
前述の検証と同様に、障害の発生を想定し、コンテナ「prometheus-cluster-monitoring」を再デプロイします。
コンテナの再デプロイが完了した後、Grafanaの画面をみると、データが引き継がれていることが確認できます。
このように「永続ストレージ」を有効化することで、コンテナに障害が発生し、再デプロイが走った場合においても、障害発生前のデータを引き継ぐことが可能です。障害の原因究明のためにも、障害発生前後のデータは重要になると思いますので、IDCFクラウドコンテナサービスのモニタリング機能をご利用される際は、「永続ストレージ」の有効化をおすすめします。
以上、IDCFクラウドコンテナサービスのモニタリング機能と、永続ストレージの有効化についてご紹介させていただきました。今回はコンテナ単位での障害発生を想定しましたが、ノード上のボリュームに永続ストレージを配置したため、ノード単位で障害が発生した場合はデータを取り出すことが困難になります。そのため、データの継続性を向上させるには、取得したデータを外部に出力する仕組みが必要になります。
前回の記事ではNFSを冗長化し、永続ボリュームとして利用する方法について紹介しておりますので、是非ご参照ください。
本記事をご覧くださりありがとうございました。今後ともIDCFクラウドコンテナサービスのさらなる進化にご期待ください。