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までの値、ReplicaSetDaemonSetStatefulSetをサポート
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などが失敗した場合にアラームが発生するように設定