Prometheus Operator 常用指標(biāo)
Prometheus Operator 安裝完成后會有很多默認(rèn)的監(jiān)控指標(biāo),一不注意就大量的報警產(chǎn)生,所以我們非常有必要了解下這些常用的監(jiān)控指標(biāo),有部分指標(biāo)很有可能對于我們自己的業(yè)務(wù)可有可無,所以可以適當(dāng)?shù)倪M行修改,這里我們就來對常用的幾個指標(biāo)進行簡單的說明。

1. Kubernetes 資源相關(guān)
1.1 CPUThrottlingHigh
關(guān)于 CPU 的 limit 合理性指標(biāo)。查出最近5分鐘,超過25%的 CPU 執(zhí)行周期受到限制的容器。表達式:
sum(increase(container_cpu_cfs_throttled_periods_total{container!="", }[5m])) by (container, pod, namespace)/sum(increase(container_cpu_cfs_periods_total{}[5m])) by (container, pod, namespace)> ( 25 / 100 )
相關(guān)指標(biāo):
container_cpu_cfs_periods_total:容器生命周期中度過的 cpu 周期總數(shù)
container_cpu_cfs_throttled_periods_total:容器生命周期中度過的受限的 cpu 周期總數(shù)
1.2 KubeCPUOvercommit
集群 CPU 過度使用。CPU 已經(jīng)過度使用無法容忍節(jié)點故障,節(jié)點資源使用的總量超過節(jié)點的 CPU 總量,所以如果有節(jié)點故障將影響集群資源運行因為所需資源將無法被分配。
表達式:
sum(namespace:kube_pod_container_resource_requests_cpu_cores:sum{})/sum(kube_node_status_allocatable_cpu_cores)>(count(kube_node_status_allocatable_cpu_cores)-1) / count(kube_node_status_allocatable_cpu_cores)
相關(guān)指標(biāo):
kube_pod_container_resource_requests_cpu_cores:資源 CPU 使用的 cores 數(shù)量
kube_node_status_allocatable_cpu_cores:節(jié)點 CPU cores 數(shù)量
1.3 KubeMemoryOvercommit
集群內(nèi)存過度使用。內(nèi)存已經(jīng)過度使用無法容忍節(jié)點故障,節(jié)點資源使用的總量超過節(jié)點的內(nèi)存總量,所以如果有節(jié)點故障將影響集群資源運行因為所需資源將無法被分配。表達式:
sum(namespace:kube_pod_container_resource_requests_memory_bytes:sum{})/sum(kube_node_status_allocatable_memory_bytes)>(count(kube_node_status_allocatable_memory_bytes)-1)/count(kube_node_status_allocatable_memory_bytes)
相關(guān)指標(biāo):
kube_pod_container_resource_requests_memory_bytes:資源內(nèi)存使用的量
kube_node_status_allocatable_memory_bytes:節(jié)點內(nèi)存量
1.4 KubeCPUQuotaOvercommit
集群CPU是否超分。查看 CPU 資源分配的額度是否超過進群總額度 表達式:
sum(kube_pod_container_resource_limits_cpu_cores{job="kube-state-metrics"})/sum(kube_node_status_allocatable_cpu_cores)> 1.1
相關(guān)指標(biāo):
kube_pod_container_resource_limits_cpu_cores:資源分配的 CPU 資源額度
kube_node_status_allocatable_cpu_cores:節(jié)點 CPU 總量
1.5 KubeMemoryQuotaOvercommit
集群超分內(nèi)存,查看內(nèi)存資源分配的額度是否超過進群總額度 表達式:
sum(kube_pod_container_resource_limits_memory_bytes{job="kube-state-metrics"})/sum(kube_node_status_allocatable_memory_bytes{job="kube-state-metrics"})> 1.1
相關(guān)指標(biāo):
kube_pod_container_resource_limits_memory_bytes:資源配額內(nèi)存量
kube_node_status_allocatable_memory_bytes:節(jié)點內(nèi)存量
1.6 KubeMEMQuotaExceeded
命名空間級內(nèi)存資源使用的比例,關(guān)乎資源配額。當(dāng)使用 request 和 limit 限制資源時,使用值和最大值還是有一點區(qū)別,當(dāng)有 request 時說明最低分配了這么多資源。需要注意當(dāng) request 等于 limit 時那么說明資源已經(jīng)是100%已經(jīng)分配使用當(dāng)監(jiān)控告警發(fā)出的時候需要區(qū)分。表達式:
sum (kube_pod_container_resource_requests_memory_bytes{job="kube-state-metrics"} ) by (namespace)/ (sum(kube_pod_container_resource_limits_memory_bytes{job="kube-state-metrics"}) by (namespace)) > 0.8相關(guān)指標(biāo):
kube_pod_container_resource_requests_memory_bytes:內(nèi)存資源使用量
kube_pod_container_resource_limits_memory_bytes:內(nèi)存資源最大值
1.7 KubeCPUQuotaExceeded
命名空間級 CPU 資源使用的比例,關(guān)乎資源配額。當(dāng)使用 request 和 limit 限制資源時,使用值和最大值還是有一點區(qū)別,當(dāng)有 request 時說明最低分配了這么多資源。需要注意當(dāng) request 等于 limit 時那么說明資源已經(jīng)是100%已經(jīng)分配使用當(dāng)監(jiān)控告警發(fā)出的時候需要區(qū)分。
表達式:
sum (kube_pod_container_resource_requests_cpu_cores{job="kube-state-metrics"} ) by (namespace)/ (sum(kube_pod_container_resource_limits_cpu_cores{job="kube-state-metrics"}) by (namespace)) > 0.8相關(guān)指標(biāo):
kube_pod_container_resource_requests_cpu_cores:CPU 使用量
kube_pod_container_resource_limits_cpu_cores:CPU 限額最大值
2. Kubernetes 存儲相關(guān)
2.1 KubePersistentVolumeFillingUp
PVC 容量監(jiān)控
表達式:
kubelet_volume_stats_available_bytes{job="kubelet", metrics_path="/metrics"}/kubelet_volume_stats_capacity_bytes{job="kubelet", metrics_path="/metrics"}< 0.3
相關(guān)指標(biāo):
kubelet_volume_stats_available_bytes:剩余空間
kubelet_volume_stats_capacity_bytes:空間總量
2.2 KubePersistentVolumeFillingUp
磁盤空間耗盡預(yù)測:通過PVC資源使用6小時變化率預(yù)測 接下來4天的磁盤使用率
表達式:
(kubelet_volume_stats_available_bytes{job="kubelet", metrics_path="/metrics"}/kubelet_volume_stats_capacity_bytes{job="kubelet", metrics_path="/metrics"}) < 0.4andpredict_linear(kubelet_volume_stats_available_bytes{job="kubelet", metrics_path="/metrics"}[6h], 4 * 24 * 3600) < 0
相關(guān)指標(biāo):
kubelet_volume_stats_available_bytes:剩余空間
kubelet_volume_stats_capacity_bytes:空間總量
2.3 KubePersistentVolumeErrors
PV 使用狀態(tài)監(jiān)控。
表達式:
kube_persistentvolume_status_phase{phase=~"Failed|Pending",job="kube-state-metrics"}相關(guān)指標(biāo):
kube_persistentvolume_status_phase:PV 使用狀態(tài)
3. kubernetes system 相關(guān)
3.1 KubeVersionMismatch
組件版本與當(dāng)前集群版本是否有差異。對比組件版本是否有差異,默認(rèn)為1 。
表達式:
count(count by (gitVersion) (label_replace(kubernetes_build_info{job!~"kube-dns|coredns"},"gitVersion","$1","gitVersion","(v[0-9]*.[0-9]*.[0-9]*).*")))相關(guān)指標(biāo):
kubernetes_build_info:獲取組件信息
3.2 KubeClientErrors
客戶端訪問某些接口的錯誤率。
表達式:
(sum(rate(rest_client_requests_total{code=~"5.."}[5m])) by (instance, job)/sum(rate(rest_client_requests_total[5m])) by (instance, job))> 0.01
相關(guān)指標(biāo):
rest_client_requests_total:狀態(tài)碼
4. APIServer 相關(guān)
4.1 KubeAPIErrorsHigh
APIServer 請求錯誤率。5分鐘內(nèi) APIServer 請求錯誤率。
表達式:
sum(rate(apiserver_request_total{job="apiserver",code=~"5.."}[5m])) by (resource,subresource,verb)/sum(rate(apiserver_request_total{job="apiserver"}[5m])) by (resource,subresource,verb) > 0.05
相關(guān)指標(biāo):
apiserver_request_total:APIServer請求數(shù)
4.2 KubeClientCertificateExpiration
kubelet 客戶端證書過期。監(jiān)測證書狀態(tài)30天告警和7天告警。
表達式:
apiserver_client_certificate_expiration_seconds_count{job="apiserver"} > 0 and on(job) histogram_quantile(0.01, sum by (job, le) (rate(apiserver_client_certificate_expiration_seconds_bucket{job="apiserver"}[5m]))) < 2592000apiserver_client_certificate_expiration_seconds_count{job="apiserver"} > 0 and on(job) histogram_quantile(0.01, sum by (job, le) (rate(apiserver_client_certificate_expiration_seconds_bucket{job="apiserver"}[5m]))) < 604800
相關(guān)指標(biāo):
apiserver_client_certificate_expiration_seconds_count:證書有效剩余時間
4.3 AggregatedAPIErrors
自定義注冊的 APIServer 服務(wù)可用性監(jiān)控,當(dāng)檢測到自定義注冊的 APIServer 五分鐘不用次數(shù)達到2次。
表達式:
sum by(name, namespace)(increase(aggregator_unavailable_apiservice_count[5m])) > 2相關(guān)指標(biāo):
aggregator_unavailable_apiservice_count:監(jiān)測自定義注冊的 APIService 不可用次數(shù)。
4.4 KubeAPIDown
APIserver 失聯(lián),監(jiān)控 APIServer 服務(wù),失聯(lián)原因可能是服務(wù) down 還可能是網(wǎng)絡(luò)出現(xiàn)狀況。
表達式:
absent(up{job="apiserver"} == 1)5. kubelet 相關(guān)
5.1 KubeNodeNotReady
節(jié)點是否處于就緒狀態(tài)。檢測節(jié)點是否為就緒狀態(tài),或者可能是 kubelet 服務(wù)down 了。
表達式:
kube_node_status_condition{job="kube-state-metrics",condition="Ready",status="true"} == 0
相關(guān)指標(biāo):
kube_node_status_condition:節(jié)點狀態(tài)監(jiān)測
5.2 KubeNodeUnreachable
節(jié)點狀態(tài)為 Unreachable。
表達式:
kube_node_spec_unschedulable{job="kube-state-metrics"} == 15.3 KubeletTooManyPods
節(jié)點運行過多的 Pod,監(jiān)測節(jié)點上運行的 Pods 數(shù)量。
表達式:
max(max(kubelet_running_pod_count{job="kubelet", metrics_path="/metrics"}) by(instance) * on(instance) group_left(node) kubelet_node_name{job="kubelet", metrics_path="/metrics"}) by(node) / max(kube_node_status_capacity_pods{job="kube-state-metrics"} != 1) by(node) > 0.95相關(guān)指標(biāo):
kubelet_running_pod_count:節(jié)點運行的 Pods 數(shù)量
kubelet_node_name:節(jié)點名稱
kube_node_status_capacity_pods:節(jié)點可運行的最大 Pod 數(shù)量
5.4 KubeNodeReadinessFlapping
監(jiān)測集群狀態(tài),查看集群內(nèi)節(jié)點狀態(tài)改變的頻率。
表達式:
sum(changes(kube_node_status_condition{status="true",condition="Ready"}[15m])) by (node) > 25.5 KubeletDown
監(jiān)控 kubelet 服務(wù),down 或者網(wǎng)絡(luò)出現(xiàn)問題。
表達式:
absent(up{job="kubelet", metrics_path="/metrics"} == 1)6. 集群組件
6.1 KubeSchedulerDown
KubeScheduler 失聯(lián),監(jiān)測 KubeScheduler 是否正常。
表達式:
absent(up{job="kube-scheduler"} == 1)6.2 KubeControllerManagerDown
監(jiān)測 KubeControllerManager 服務(wù),Down 或者網(wǎng)絡(luò)不通。
表達式:
absent(up{job="kube-controller-manager"} == 1)7. 應(yīng)用相關(guān)
7.1 KubePodCrashLooping
Pod 重啟時間,重啟時間超過3m告警。
表達式:
rate(kube_pod_container_status_restarts_total{job="kube-state-metrics"}[5m]) * 60 * 3 > 0相關(guān)指標(biāo):
kube_pod_container_status_restarts_total:重啟狀態(tài)0為正常
7.2 KubePodNotReady
Pods 沒有就緒,檢測 Pod 是否就緒。
表達式:
sum by (namespace, pod) (max by(namespace, pod) (kube_pod_status_phase{job="kube-state-metrics", phase=~"Pending|Unknown"}) * on(namespace, pod) group_left(owner_kind) max by(namespace, pod, owner_kind) (kube_pod_owner{owner_kind!="Job"})) > 0相關(guān)指標(biāo):
kube_pod_status_phase:Pod 狀態(tài)
7.3 KubeDeploymentGenerationMismatch
Deployment 部署失敗,Deployment 生成的資源與定義的資源不匹配。
表達式:
kube_deployment_status_observed_generation{job="kube-state-metrics"}!=kube_deployment_metadata_generation{job="kube-state-metrics"}
相關(guān)指標(biāo):
kube_deployment_status_observed_generation:Deployment 生成資源數(shù)
kube_deployment_metadata_generation:Deployment 定義資源數(shù)
7.4 KubeDeploymentReplicasMismatch
查看 Deplyment 副本是否達到預(yù)期。
表達式:
(kube_deployment_spec_replicas{job="kube-state-metrics"}!=kube_deployment_status_replicas_available{job="kube-state-metrics"}) and (changes(kube_deployment_status_replicas_updated{job="kube-state-metrics"}[3m])==0)
相關(guān)指標(biāo):
kube_deployment_spec_replicas ? ? ? ? ? ? ? ? ? ? 資源定義副本數(shù)
kube_deployment_status_replicas_available ? ? ? ? 正在運行副本數(shù)
kube_deployment_status_replicas_updated ? ? ? ? ? 更新的副本數(shù)
7.5 KubeStatefulSetReplicasMismatch
監(jiān)測 StatefulSet 副本是否達到預(yù)期。
表達式:
(kube_statefulset_status_replicas_ready{job="kube-state-metrics"}!=kube_statefulset_status_replicas{job="kube-state-metrics"}) and (changes(kube_statefulset_status_replicas_updated{job="kube-state-metrics"}[5m])==0)
相關(guān)指標(biāo):
kube_statefulset_status_replicas_ready:就緒副本數(shù)
kube_statefulset_status_replicas:當(dāng)前副本數(shù)
kube_statefulset_status_replicas_updated:更新的副本數(shù)
7.6 KubeStatefulSetUpdateNotRolledOut
StatefulSet ?更新失敗且未回滾,對比版本號和副本數(shù)。
表達式:
max without (revision) (kube_statefulset_status_current_revision{job="kube-state-metrics"}unlesskube_statefulset_status_update_revision{job="kube-state-metrics"})*(kube_statefulset_replicas{job="kube-state-metrics"}!=kube_statefulset_status_replicas_updated{job="kube-state-metrics"})
相關(guān)指標(biāo):
kube_statefulset_status_replicas:每個 StatefulSet 的副本數(shù)。
kube_statefulset_status_replicas_current:每個 StatefulSet 的當(dāng)前副本數(shù)。
kube_statefulset_status_replicas_ready:每個StatefulSet 的就緒副本數(shù)。
kube_statefulset_status_replicas_updated:每個StatefulSet 的更新副本數(shù)。
kube_statefulset_status_observed_generation:StatefulSet 控制器觀察到的生成。
kube_statefulset_replicas:StatefulSet 所需的副本數(shù)。
kube_statefulset_metadata_generation:表示 StatefulSet 所需狀態(tài)的特定生成的序列號。
kube_statefulset_created:創(chuàng)建時間戳。
kube_statefulset_labels:Kubernetes 標(biāo)簽轉(zhuǎn)換為 Prometheus 標(biāo)簽。
kube_statefulset_status_current_revision:指示用于按順序(0,currentReplicas)生成 Pod 的StatefulSet 的版本。
kube_statefulset_status_update_revision:指示用于按順序 [replicas-updatedReplicas,replicas] 生成 Pod 的 StatefulSet 的版本。
7.7 KubeDaemonSetRolloutStuck
監(jiān)測 DaemonSet 是否處于就緒狀態(tài)。
表達式:
kube_daemonset_status_number_ready{job="kube-state-metrics"}/kube_daemonset_status_desired_number_scheduled{job="kube-state-metrics"} < 1.00
相關(guān)指標(biāo):
kube_daemonset_status_number_ready:就緒的 DaemonSet
kube_daemonset_status_desired_number_scheduled:應(yīng)該調(diào)度的 DaemonSet 數(shù)量
7.8 KubeDaemonSetMisScheduled
DaemonSet ?運行在不該運行的節(jié)點上面。
表達式:
kube_daemonset_status_number_misscheduled{job="kube-state-metrics"} > 0相關(guān)指標(biāo):
kube_daemonset_status_number_misscheduled:運行在不該運行的節(jié)點狀態(tài)
7.9 KubeContainerWaiting
監(jiān)測哪些容器是在等待狀態(tài)的。
表達式:
sum by (namespace, pod, container) (kube_pod_container_status_waiting_reason{job="kube-state-metrics"}) > 0相關(guān)指標(biāo):
kube_pod_container_status_waiting_reason:容器聲明周期過程中的狀態(tài),無論是創(chuàng)建成功還是失敗都應(yīng)該是0。
8. 節(jié)點相關(guān)
8.1 NodeClockNotSynchronising
主機與時間服務(wù)器失聯(lián)。
表達式:
min_over_time(node_timex_sync_status[5m]) == 0相關(guān)指標(biāo):
node_timex_sync_status:同步狀態(tài)。
8.2 NodeClockSkewDetected
本地時間偏移量。
表達式:
(node_timex_offset_seconds > 0.05andderiv(node_timex_offset_seconds[5m]) >= 0)or(node_timex_offset_seconds < -0.05andderiv(node_timex_offset_seconds[5m]) <= 0)
相關(guān)指標(biāo):
node_timex_offset_seconds:誤差
8.3 NodeHighNumberConntrackEntriesUsed
鏈接狀態(tài)跟蹤。
表達式:
(node_nf_conntrack_entries / node_nf_conntrack_entries_limit) > 0.75相關(guān)指標(biāo):
node_nf_conntrack_entries:鏈接狀態(tài)跟蹤表分配的數(shù)量
node_nf_conntrack_entries_limit:表總量
8.4 NodeNetworkReceiveErrs
網(wǎng)卡接收錯誤量。
表達式:
increase(node_network_receive_errs_total[2m]) > 10相關(guān)指標(biāo):
node_network_receive_errs_total:接收錯誤總量
8.5 NodeNetworkTransmitErrs
網(wǎng)卡傳輸錯誤量。
表達式:
increase(node_network_transmit_errs_total[2m]) > 10相關(guān)指標(biāo):
node_network_transmit_errs_total:傳輸錯誤總量
8.6 NodeFilesystemAlmostOutOfFiles
inode 數(shù)量監(jiān)測 表達式:
(node_filesystem_files_free{job="node-exporter",fstype!=""} / node_filesystem_files{job="node-exporter",fstype!=""} * 100 < 5andnode_filesystem_readonly{job="node-exporter",fstype!=""} == 0)
相關(guān)指標(biāo):
node_filesystem_files_free:空閑的 inode
node_filesystem_files:inodes 總量
8.7 NodeFilesystemFilesFillingUp
inode 耗盡預(yù)測,以6小時曲線變化預(yù)測接下來24小時和4小時可能使用的 inodes。
表達式:
(node_filesystem_files_free{job="node-exporter",fstype!=""} / node_filesystem_files{job="node-exporter",fstype!=""} * 100 < 20andpredict_linear(node_filesystem_files_free{job="node-exporter",fstype!=""}[6h], 4*60*60) < 0andnode_filesystem_readonly{job="node-exporter",fstype!=""} == 0)
相關(guān)指標(biāo):
node_filesystem_files_free:空閑的 inode
node_filesystem_files:inodes 總量
8.8 NodeFilesystemAlmostOutOfSpace
分區(qū)容量使用率。
表達式:
(node_filesystem_avail_bytes{job="node-exporter",fstype!=""} / node_filesystem_size_bytes{job="node-exporter",fstype!=""} * 100 < 10andnode_filesystem_readonly{job="node-exporter",fstype!=""} == 0)
相關(guān)指標(biāo):
node_filesystem_avail_bytes:空閑容量
node_filesystem_size_bytes:總?cè)萘?/p>
8.9 NodeFilesystemSpaceFillingUp
分區(qū)容量耗盡預(yù)測,以6小時曲線變化預(yù)測接下來24小時和4小時可能使用的容量。
表達式:
(node_filesystem_avail_bytes{job="node-exporter",fstype!=""} / node_filesystem_size_bytes{job="node-exporter",fstype!=""} * 100 < 15andpredict_linear(node_filesystem_avail_bytes{job="node-exporter",fstype!=""}[6h], 4*60*60) < 0andnode_filesystem_readonly{job="node-exporter",fstype!=""} == 0)
相關(guān)指標(biāo):
node_filesystem_avail_bytes:空閑容量
node_filesystem_size_bytes:總?cè)萘?/p>
9. Etcd 相關(guān)
9.1 Etcdlived
etcd 存活檢測。
表達式:
up{job="etcd"} < 19.2 EtcdCluseterUnavailable
etcd 集群健康檢查,down 數(shù)量大于集群可允許故障數(shù)量。
表達式:
count(up{job="etcd"} == 0) > (count(up{job="etcd"}) / 2 - 1)9.3 EtcdLeaderCheck
檢查 leader。
表達式:
max(etcd_server_has_leader) != 19.4 EtcdBackendFsync
etcd io 監(jiān)測,后端提交 延時。
表達式:
histogram_quantile(0.99, sum(rate(etcd_disk_backend_commit_duration_seconds_bucket[5m])) by (instance, le)) > 1009.5 EtcdWalFsync
etcd io 監(jiān)測,文件同步到磁盤延時。
表達式:
histogram_quantile(0.99, sum(rate(etcd_disk_wal_fsync_duration_seconds_bucket[5m])) by (instance, le)) > 1009.6 EtcdDbSize
檢測數(shù)據(jù)庫大小。
表達式:
etcd_debugging_mvcc_db_total_size_in_bytes/1024/1024 > 10249.7 EtcdGrpc
Grpc 調(diào)用速率。表達式:
sum(rate(grpc_server_handled_total{grpc_type="unary"}[1m])) > 10010. CoreDNS 相關(guān)
10.1 DnsRequest
DNS 查詢速率,每分鐘查詢超過100告警。
表達式:
sum(irate(coredns_dns_request_count_total{zone !="dropped"}[1m])) > 100相關(guān)指標(biāo):
coredns_dns_request_count_total:總查詢數(shù)
10.2 DnsRequestFaild
異常查詢,異常狀態(tài)碼,不是 NOERROR。
表達式:
irate(coredns_dns_response_rcode_count_total{rcode!="NOERROR"} [1m]) > 0相關(guān)指標(biāo):
coredns_dns_response_rcode_count_total:查詢返回狀態(tài)碼
DNS-Rcode:
DNS-Rcode 作為 DNS 應(yīng)答報文中有效的字段,主要用來說明 DNS 應(yīng)答狀態(tài),是排查域名解析失敗的重要指標(biāo)。通常常見的 Rcode 值如下:
Rcode 值為0,對應(yīng)的 DNS 應(yīng)答狀態(tài)為 NOERROR,意思是成功的響應(yīng),即這個域名解析是成功
Rcode 值為2,對應(yīng)的 DNS 應(yīng)答狀態(tài)為 SERVFAIL,意思是服務(wù)器失敗,也就是這個域名的權(quán)威服務(wù)器拒絕響應(yīng)或者響應(yīng) REFUSE,遞歸服務(wù)器返回 Rcode 值為 2 給 CLIENT
Rcode 值為3,對應(yīng)的 DNS 應(yīng)答狀態(tài)為 NXDOMAIN,意思是不存在的記錄,也就是這個具體的域名在權(quán)威服務(wù)器中并不存在
Rcode 值為5,對應(yīng)的 DNS 應(yīng)答狀態(tài)為 REFUSE,意思是拒絕,也就是這個請求源IP不在服務(wù)的范圍內(nèi)
10.3 DnsPanic
DNS 恐慌值,可能收到攻擊。
表達式:
irate(coredns_panic_count_total[1m]) > 100參考鏈接
https://my.oschina.net/54188zz/blog/4305978
https://github.com/coreos/kube-prometheus
https://github.com/kubernetes-monitoring/kubernetes-mixin
K8S進階訓(xùn)練營,點擊下方圖片了解詳情

