Cluster Monitoring

Prev Next

VPC環境で利用できます。

参考
  • Cluster Monitoringは Kubernetes 1.23バージョン以上から提供します。
  • 1.23以前バージョンのクラスタは、アップグレード機能を利用して必要なバージョンを満たした後に使用できます。
  • Sub Accountが Cluster Monitoringを使用するには、アクション View/getClusterDetailに対するリソースタイプ Cluster/* 権限が必要です。

Cluster Monitoringは、Kubernetesクラスタ内のリソースに対する使用量を収集して Cloud Insightサービスに転送します。収集されたデータは、NAVERクラウドプラットフォームコンソールの Ncloud Kubernetes Service内の Grafanaや Cloud Insightのダッシュボードで確認できます。これにより別途のリソースモニタリングツールなしでも使用量を確認できます。

サポートするバージョン

Feature\Kubernetes Version 1.22 1.23+
Kubernetes Cluster Monitoring サポートしない サポート

利用料金

Cloud Insightで発生する利用料金に従います。
Cloud Insightの利用料金の詳細基準は、NAVERクラウドプラットフォームポータルの サービス > Cloud Insight をご参照ください。

データ保管期間

Cloud Insightのデータ保存期間に従います。データ保存期間の詳細は、Cloud Insight の仕様の データ保管期間 をご参照ください。

集計周期(Interval) データ保管期間(本日より) 推奨データ照会期間
Min1 8日以内 1日
Min5 1か月以内 1週間
Min30 3か月以内 1か月
Hour2 6か月以内 1か月
Day1 1年以内 1か月

収集対象

参考

kube-system名前空間内の podに対するモニタリングはサポートしません。

Kubernetes Cluster Monitoringは、以下に定義された typeに該当するリソースを収集します。

タイプ 説明
CpuMem podの CPU/MEMリソース使用量
Network podの Network In/Out rate
Disk podの Blockstorageリソース使用量
NodeAvailability クラスタ内のノード空き容量
PodStatus podのステータス

Type: CpuMem

Dimensions

Dimensions Description
type CpuMemとして定義
clusterUUID cluster UUID
nodeInstanceNo podが位置した nodeの instanceNo
namespace podが位置した namespace
controller podを作成した controller
pod pod名

Metrics

Metrics Description
real_cpu pod cpu使用量
real_mem pod mem使用量

Type: Network

Dimensions

Dimenions Description
type Networkとして定義
clusterUUID cluster UUID
nodeInstanceNo podが位置した nodeの instance id
namespace podが位置した namespace
controller podを作成した controller
pod pod名
interface ネットワーク In/Outが発生した interface

Metrics

Metrics Description
network_rx_bytes 受信バイト数
network_tx_bytes 送信バイト数

Type: Disk

Dimensions

Dimensions Description
type Diskとして定義
clusterUUID cluster UUID
nodeInstanceNo podが位置した nodeの instanceNo
namespace podが位置した namespace
controller podを作成した controller
pod pod名
pvc pvc名

Metrics

Metrics Description
available_bytes 使用可能にしたディスクバイト数
capacity_bytes 合計ディスクバイト数
used_bytes 使用したディスクバイト数
disk_used_ratio 利用可能なディスクの割合、0~1までの値

Type: NodeAvailability

Dimensions

Dimensions Description
type NodeAvailabilityとして定義
clusterUUID cluster UUID

Metrics

Metrics Description
node_total_count クラスタ内ノードの合計
node_ready_count クラスタ内 readyのノードの数
node_not_ready_count クラスタ内 not readyのノードの数
node_available_ratio node_ready_count / node_total_count、0~1までの値

Type: PodStatus

Dimensions

Dimensions Description
type PodStatusとして定義
clusterUUID cluster UUID
namespace podが位置した namespace
controller podを作成した controller

Metrics

Metrics Description
pod_phase_pending controllerに属した podの中で pendingである phaseの数
pod_phase_running controllerに属した podの中で runningである phaseの数
pod_phase_succeeded controllerに属した podの中で succeededである phaseの数
pod_phase_failed controllerに属した podの中で failedである phaseの数
pod_available_ratio controllerに属した podの中で利用可能な Podの割合、0~1までの値、ReplicaSet、DaemonSet、StatefulSetをサポート
pod_restart_count controllerに属した podの restart count数の合計

Grafana

Grafanaは、時系列データの可視化を提供するツールです。Cloud Insightに送信したデータを Grafanaダッシュボードで確認します。
NAVERクラウドプラットフォームコンソールの Ncloud Kubernetes Serviceサービス内クラスタのサブリストの Monitoring項目で Grafanaリンクを確認します。

参考

Grafanaダッシュボードの利用料金は発生しません。

Overview

保有しているクラスタのリストを確認します。以下のボタンでクラスタ内のリソースをモニタリングします。

  • Nodes: クラスタ内のワーカーノードに対する Availabilityと CPU/Memory/Disk/Networkリソース使用量を照会します。
  • Pods: クラスタ内の Podに対する CPU/Memory/Disk/Networkリソース使用量を照会します。

Alerts

クラスタ内のリソースニ対するしきい値を設定し、条件を満たした場合はアラームを受信できるように Event Ruleを設定します。設定した値は Cloud Insightサービスに保存され、Cloud Insightサービスの Event Ruleでも確認できます。
Alerts タブで以下の内容を確認します。

  • Cloud Insight Event Rule Group
  • 選択した Clusterに対する Event Rule Groupを作成/削除/照会します。
  • Event Rule Groupの下位に Metricに対するしきい値条件を設定します。
  • 以下の Product Typeをサポートします。
    • Ncloud kubernetes service

作成した Cloud Insight Event Rule Groupをクリックすると、以下の詳細グループを確認できます。

  • Monitor Group
  • モニタリングするための指標が作成されるリソースグループです。
  • Metric Group
  • Monitor Groupで作成した指標に対するアラームを発生させるための条件を設定した値です。
  • New Metric ボタンをクリックして条件を登録します。
  • Notification Group
  • Metric Groupで設定したアラームが発生した場合、これを通知する対象グループです。
  • New Recipient ボタンをクリックして通知対象を登録します。
参考

Notification Group内の通知対象は NAVERクラウドプラットフォームコンソール内の Notification Recipient サービスで管理します。Ncloud Kubernetes Serviceの Alerts メニューではサポートしません。

Metric Group内に登録できる指標として、以下の事項を考慮します。

指標例

  • Deploymentのような Controllerが特定数の Podのスケジューリングをリクエストしたが、admission controllerなどの影響で実行できず、期待していた割合以下の Pod数が駆動される場合
    • pod available ratio < 0.7に設定して、desired pod数に比べて available pod数の割合が70%未満だとアラームが発生するように設定
  • Deploymentのような Controllerが作成をリクエストした Podの中で Runningステータスではないものの数が増加する場合
    • pod available ratio < 0.7に設定して、desired pod数に比べて available pod数の割合が70%未満だとアラームが発生するように設定
    • pod phase pending >=1に設定して、phaseが Pendingの podが一つ以上の場合、アラームが発生するように設定
  • ノードのステータスが Readyではない場合
    • node available ratio < 0.8に設定して、全ノードの中で Readyのノードの割合が80%未満だとアラームが発生するように設定
    • node not ready_count >=1に設定して、全ノードの中で Readyではないノードがあるとアラームが発生するように設定
  • Crashステータスの Pod数が増加する場合
    • pod restart count >= 10に設定して、podが特定の回数以上、kubeletなどによって再起動した場合はアラームが発生するように設定
  • Cronjobなどのタスクが失敗して Podに Failedの Phaseが発生した場合
    • pod phase failed >=1に設定して、Jobなどが失敗した場合にアラームが発生するように設定