是否有关于Kubelet API的API文档

adr*_*ian 6 kubernetes kubelet

我知道每个Kubernetes节点上的Kubelet进程都公开了一个简单的API服务器,但是我找不到关于它的任何文档。

有人知道有资源吗?

Rob*_*ley 7

它没有记录在任何地方(我知道)。我总是最终阅读代码以找出存在哪些端点。

另请注意,与 apiserver 中的 API 不同,无法保证 kubelet API 在版本之间稳定。随着时间的推移,我预计它会得到正确的版本控制(并且可能会大摇大摆),届时我们将提供文档和对向后兼容性的承诺。


Hao*_* Ge 6

一些 kubelet 有用的用于 curl 的 API:

http://localhost:10255/pods
http://localhost:10255/stats/summary
http://localhost:10255/metrics
Run Code Online (Sandbox Code Playgroud)


E23*_*235 5

有一个名为kubeletctl的新开源项目。
它记录了所有 kubelet API(文档和非文档)。
你可以这样使用:

kubeletctl -s <node_ip> pods  
kubeletctl -s <node_ip> metrics cadvisor
Run Code Online (Sandbox Code Playgroud)

当您运行时,kubeletctl -h您将看到可以使用的所有命令,它还有子命令,但您需要键入父命令,然后添加-h,例如kubeletctl metrics -h

以下是kubelet 实现的 一些API :

testPaths := map[string]string{
    "/attach/{podNamespace}/{podID}/{containerName}":       "proxy",
    "/attach/{podNamespace}/{podID}/{uid}/{containerName}": "proxy",
    "/configz": "proxy",
    "/containerLogs/{podNamespace}/{podID}/{containerName}": "proxy",
    "/cri/":                    "proxy",
    "/cri/foo":                 "proxy",
    "/debug/flags/v":           "proxy",
    "/debug/pprof/{subpath:*}": "proxy",
    "/exec/{podNamespace}/{podID}/{containerName}":       "proxy",
    "/exec/{podNamespace}/{podID}/{uid}/{containerName}": "proxy",
    "/healthz":                            "proxy",
    "/healthz/log":                        "proxy",
    "/healthz/ping":                       "proxy",
    "/healthz/syncloop":                   "proxy",
    "/logs/":                              "log",
    "/logs/{logpath:*}":                   "log",
    "/metrics":                            "metrics",
    "/metrics/cadvisor":                   "metrics",
    "/metrics/probes":                     "metrics",
    "/metrics/resource/v1alpha1":          "metrics",
    "/pods/":                              "proxy",
    "/portForward/{podNamespace}/{podID}": "proxy",
    "/portForward/{podNamespace}/{podID}/{uid}":         "proxy",
    "/run/{podNamespace}/{podID}/{containerName}":       "proxy",
    "/run/{podNamespace}/{podID}/{uid}/{containerName}": "proxy",
    "/runningpods/":    "proxy",
    "/spec/":           "spec",
    "/stats/":          "stats",
    "/stats/container": "stats",
    "/stats/summary":   "stats",
    "/stats/{namespace}/{podName}/{uid}/{containerName}": "stats",
    "/stats/{podName}/{containerName}":                   "stats",
}
Run Code Online (Sandbox Code Playgroud)