我想监视群集中持久卷的磁盘使用情况。我正在使用CoreOS Kube Prometheus。仪表板正在尝试使用名为 kubelet_volume_stats_capacity_bytes 的指标进行查询,而从v1.12开始的Kubernetes版本不再可用。
我正在使用Kubernetes版本v1.13.4和hostpath-provisioner来根据持久卷声明声明卷。我想访问每个持久卷的当前磁盘使用情况指标。
kube_persistentvolumeclaim_resource_requests_storage_bytes 可用,但仅显示以字节为单位的持久性请求
container_fs_usage_bytes 不能完全解决我的问题。
答案 0 :(得分:0)
我的舞会配置中有以下工作:
- job_name: 'kubernetes-nodes'
kubernetes_sd_configs:
- role: node
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- target_label: __address__
replacement: kubernetes.default.svc:443
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/${1}/proxy/metrics
完成这项工作后,我会在Prometheus中看到以下可用指标:
kubelet_volume_stats_available_bytes
kubelet_volume_stats_capacity_bytes
kubelet_volume_stats_inodes
kubelet_volume_stats_inodes_free
kubelet_volume_stats_inodes_used
kubelet_volume_stats_used_bytes
答案 1 :(得分:0)
是的,在最新版本的Kubernetes中,您无法监视指标,例如 kubelet_volume_stats_capacity_bytes ,但是有一些解决方法。不幸的是,今天在Kubernetes中有些零散。 PVC可能具有容量和使用率指标,具体取决于卷提供者,并且似乎任何基于CSI的卷都根本没有这些。我们可以尽最大的努力来做到这一点,但是在没有这些指标的情况下,可以快速发现情况。
首先,只需编写您自己的脚本,该脚本将每次收集诸如 container_fs_usage_bytes 之类的指标值时,将是度量和容器使用前的容量之间的计数差(以字节为单位)(指标将 container_fs_usage_bytes 会有所帮助)。
Prometheus是一种非常流行的解决方案,但是要监视容量(尤其是磁盘使用情况),您可以使用Heapster,现在他即将“退休”,但是仅在这种特殊情况下,您可以使用它,但是您也必须实现脚本。看一下存储库: heapster-memory
“ res.Containers = append(res.Containers, metrics.ContainerMetrics {名称:c.Name,用法:用法})“
希望对您有帮助。