Cluster Monitoring
    • 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 Version1.221.23+
    Kubernetes Cluster Monitoringサポートしないサポート

    利用料金

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

    データ保管期間

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

    集計周期(Interval)データ保管期間(本日より)推奨データ照会期間
    Min18日以内1日
    Min51か月以内1週間
    Min303か月以内1か月
    Hour26か月以内1か月
    Day11年以内1か月

    収集対象

    参考

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

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

    タイプ説明
    CpuMempodの CPU/MEMリソース使用量
    Networkpodの Network In/Out rate
    Diskpodの Blockstorageリソース使用量
    NodeAvailabilityクラスタ内のノード空き容量
    PodStatuspodのステータス

    Type: CpuMem

    Dimensions

    DimensionsDescription
    typeCpuMemとして定義
    clusterUUIDcluster UUID
    nodeInstanceNopodが位置した nodeの instanceNo
    namespacepodが位置した namespace
    controllerpodを作成した controller
    podpod名

    Metrics

    MetricsDescription
    real_cpupod cpu使用量
    real_mempod mem使用量

    Type: Network

    Dimensions

    DimenionsDescription
    typeNetworkとして定義
    clusterUUIDcluster UUID
    nodeInstanceNopodが位置した nodeの instance id
    namespacepodが位置した namespace
    controllerpodを作成した controller
    podpod名
    interfaceネットワーク In/Outが発生した interface

    Metrics

    MetricsDescription
    network_rx_bytes受信バイト数
    network_tx_bytes送信バイト数

    Type: Disk

    Dimensions

    DimensionsDescription
    typeDiskとして定義
    clusterUUIDcluster UUID
    nodeInstanceNopodが位置した nodeの instanceNo
    namespacepodが位置した namespace
    controllerpodを作成した controller
    podpod名
    pvcpvc名

    Metrics

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

    Type: NodeAvailability

    Dimensions

    DimensionsDescription
    typeNodeAvailabilityとして定義
    clusterUUIDcluster UUID

    Metrics

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

    Type: PodStatus

    Dimensions

    DimensionsDescription
    typePodStatusとして定義
    clusterUUIDcluster UUID
    namespacepodが位置した namespace
    controllerpodを作成した controller

    Metrics

    MetricsDescription
    pod_phase_pendingcontrollerに属した podの中で pendingである phaseの数
    pod_phase_runningcontrollerに属した podの中で runningである phaseの数
    pod_phase_succeededcontrollerに属した podの中で succeededである phaseの数
    pod_phase_failedcontrollerに属した podの中で failedである phaseの数
    pod_available_ratiocontrollerに属した podの中で利用可能な Podの割合、0~1までの値、ReplicaSetDaemonSetStatefulSetをサポート
    pod_restart_countcontrollerに属した 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などが失敗した場合にアラームが発生するように設定

    この記事は役に立ちましたか?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.