- 印刷する
- PDF
Cluster Monitoring
- 印刷する
- PDF
VPC環境で利用できます。
Cluster Monitoringは Kubernetes 1.23バージョン以上から提供します。
1.23以前バージョンのクラスタは、アップグレード機能を利用して必要なバージョンを満たした後に使用できます。
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などが失敗した場合にアラームが発生するように設定