kubernetes是否可以通过REST API访问?我正在查看Kubernetes API页面,它看起来非常神秘/不完整。他们谈论新版本,但没有在任何地方透露API使用或文档。我只是想知道除了使用kubectl
命令之外是否有其他方式访问集群信息。
使用示例:
我现在做的事情:
kubectl get pod --context='my-prod-cluster'
我想做什么:
curl GET /some/parameters/to/get/info
答案 0 :(得分:24)
您可以通过将{{1}}传递给任何kubectl命令来查看kubectl正在进行的所有API调用
答案 1 :(得分:2)
在Kubernetes网站上完整记录了REST API: https://kubernetes.io/docs/reference/using-api/api-overview/
它包含有关如何reach the API,be authorized to use the API的信息,以及可用API对象的完整细分以及您可以对其执行的操作。
答案 2 :(得分:1)
您可以在kubectl
之外使用API。事实上,我的理解是,在它下面所有kubectl
只是对API服务器进行REST调用。在使用TLS证书进行身份验证的群集中,列出您的pod的curl调用可能看起来像这样(您可以使用kubectl cluster-info | grep 'Kubernetes master'
获取您的apiserver位置/端口):
curl --cert myuser.pem --key myuser-key.pem --cacert /path/to/ca.pem https://my-prod-cluster-apiserver:6443/api/v1/pods
This doc显示了如何使用kubectl proxy
来探索自己群集上的Swagger生成的API文档。这些文档似乎偶尔会生成并放置here。
答案 3 :(得分:0)
我认为这可能是你找到的,虽然它并不总是最新的。 http://kubernetes.io/kubernetes/third_party/swagger-ui/
答案 4 :(得分:0)
Kubernetes具有一个API参考页。它详细介绍了可通过API访问的所有操作。要在本地访问群集的API,请确保使用kubectl proxy
进行代理(当然要先进行设置)。
API参考: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/