开发者社区> 问答> 正文

如何从节点本身检查Kubernetes节点的状态?

从Kubernetes集群中的主节点,我可以运行kubectl get nodes并查看集群上任何单个节点的状态,因为kubectl可以找到用于身份验证的集群证书。在我的本地工作站上,假设我已正确配置auth,我也可以这样做。

从连接到Kubernetes主节点的节点,有没有办法,没有配置auth以便kubectl工作,我可以识别节点是否处于Ready或Not Ready状态?

我正在尝试构建一些驻留在节点本身上的监视工具,我想避免设置服务帐户等只是为了检查节点状态,以防我通过某种方式识别它kubelet,日志,节点上的某个文件,命令等等......

展开
收起
k8s小能手 2019-02-22 16:14:08 4840 0
1 条回答
写回答
取消 提交回答
  • 整合最优质的专家资源和技术资料,问答解疑

    没有规范的方法可以做到这一点,一种选择是使用kubelet API。

    kubelet公开了一个控制平面与之对话的API,以使其运行pod。默认情况下,它在端口10250上运行,但这是一个写API,需要进行身份验证。

    但是,kubelet还有一个标志--read-only-port,默认情况下是在端口10255上。你可以通过点击healthz端点来检查kubelet是否准备就绪。

    curl http://:10255/healthz
    ok
    此healthz端点也可在localhost上使用:

    curl http://localhost:10248/healthz
    如果这还不够,您可以通过点击pod API检查是否有可用的运行pod:

    curl http://:10255/pods

    2019-07-17 23:29:14
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像