我将使用kubernetes api,您只需要安装curl,而不是
kubectl其余的即可。
curl http://localhost:8080/api/v1/namespaces/default/pods
我在我的一个apiserver上运行以上命令。将 localhost 更改为 apiserver ip地址/ dns名称 。
根据您的配置,您可能需要使用ssl或提供客户端证书。
为了找到API端点,可以使用
--v=8同
kubectl。
例:
kubectl get pods --v=8
资源:
Kubernetes API文档
RBAC更新:
我假设您已经配置了rbac,为您的pod创建了一个服务帐户并使用它运行。此服务帐户应具有所需名称空间中的Pod的列表权限。为此,您需要为该服务帐户创建角色和角色绑定。
群集中的每个容器都填充有可用于向API服务器进行身份验证的令牌。要验证,在容器内部运行:
cat /var/run/secrets/kubernetes.io/serviceaccount/token
要向apiserver发出请求,请在容器内运行:
curl -ik -H "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" https://kubernetes.default.svc.cluster.local/api/v1/namespaces/default/pods



