【发布时间】:2020-06-26 23:20:04
【问题描述】:
我最近开始使用 kubectl krew (v0.3.4),后来用来安装“status”插件 (v0.4.1)。
我现在正在管理不同的集群,并且正在检查节点的状态。大多数集群的答案完全如下:
Node/[NodeName], created 25d ago linux Oracle Linux Server 7.8
(amd64), kernel 4.1.12-124.36.4.el7uek.x86_64, kubelet v1.18.2, kube-proxy v1.18.2
cpu: 0.153/7 (2%)
mem: 4.4GB/7.1GB (63%)
ephemeral-storage: 2.2GB
出于某种原因,有一个集群可以回答:
Node/[nodeName], created 11d ago
linux Oracle Linux Server 7.8 (amd64), kernel 4.1.12-124.26.5.el7uek.x86_64, kubelet v1.18.2, kube-proxy v1.18.2
cpu: 5, mem: 7.1GB, ephemeral-storage: 2.2GB
(让我澄清一下,我正在尝试自动化一些资源检查,并且资源的不同显示方式非常烦人,而且已用资源与总资源正是我所需要的!)
我绝对无法找到状态插件仓库,而且我不知道该去哪里解决这个问题。 kubectl 版本说两个集群具有相同的服务器版本,在这两种情况下我都在本地执行 kubectl status 命令,并且......我完全没有想法。
有谁知道为什么会发生这种情况,或者我什么时候可以去寻找答案?
【问题讨论】:
-
您究竟是如何执行节点状态请求的?这个节点状态是从哪里执行的?检查状态时,您希望得到什么样的输出?如果您要求尝试自动化检查,我会直接从 API 请求状态。
-
好吧,我看到您正试图从上述信息中获取一些值,并在某个地方进行某种自动缩放或度量推送。您可以尝试检查的是,如果您运行 kubectl krew update 来更新所有现有插件或检查状态插件的版本。然后我再次建议您为此目的使用 Kubernetes API,因为它比 krew 插件更可靠。这是因为在后台正在发生的事情。谢谢
-
大家好!我对K8s没有太多经验。我确实在尝试使用 python+kubernetes 客户端库来自动化一些信息收集,这对很多事情都很有用。但是我无法使用这个库或 kubernetes API 获得已用/总资源,这就是为什么一位同事建议状态。您是否碰巧知道一种更优雅的方式来使用集群节点的总资源?谢谢
-
Kubectl plugin Status repo: github.com/bergerx/kubectl-status Node status template: github.com/bergerx/kubectl-status/blob/… node metrics来自哪里:github.com/bergerx/kubectl-status/blob/…你可以手动查看:
kubectl proxy & sleep 3 && curl http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/nodes && kill %% -
我猜是status插件版本不同造成的输出差异(templates.tmpl,第327行):github.com/bergerx/kubectl-status/commit/…
标签: kubernetes kubectl status