首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从节点直接访问Kubernetes API

如何从节点直接访问Kubernetes API
EN

Stack Overflow用户
提问于 2021-12-29 09:27:49
回答 2查看 532关注 0票数 0

从Kubernetes节点,如何访问API服务器,如何查找API端点并处理身份验证?顺便说一下,它是一个Windows节点。

我感到惊讶的是,我在互联网上找不到多少这方面的信息,直接从节点访问Kubernetes API是一个糟糕的设计吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-29 09:37:19

“从节点”听起来像一个边缘用例,类似于加载项,通常通过使用在节点攻击期间部署的"admin.conf“文件来覆盖,该文件包含连接到api服务器所需的任何内容。

更常见的方法是在Pod中部署工作负载,哪个服务帐户将具有访问API服务器的适当角色绑定。

票数 0
EN

Stack Overflow用户

发布于 2021-12-29 15:20:03

如何从节点直接访问Kubernetes API?

  • 有多种方法,其中之一是来自主节点

代码语言:javascript
复制
# Get API Server URL:
kubectl cluster-info

#access it using the curl 
curl https://<api serverIP>:6443/api/v1/nodes  --cacert /etc/srv/kubernetes/pki/ca-certificates.crt   --cert /var/lib/kubelet/pki/kubelet-client.crt   --key /var/lib/kubelet/pki/kubelet-client.key

如何找到API端点并处理身份验证?

  • 我使用的一种技术是使用--v=11和kubectl命令,它将给出kubernetes资源

的端点。

代码语言:javascript
复制
#example :
 kubectl get pods --v=11 2>&1 | grep GET
I1229 10:20:41.098241   42907 round_trippers.go:423] curl -k -v -XGET  -H "Accept: application/json;as=Table;v=v1;g=meta.k8s.io,application/json;as=Table;v=v1beta1;g=meta.k8s.io,application/json" -H "User-Agent: kubectl/v1.19.4 (linux/amd64) kubernetes/d360454" 'https://10.157.160.165:6443/api/v1/namespaces/default/pods?limit=500'
I1229 10:20:41.116964   42907 round_trippers.go:443] GET https://<apiserver>:6443/api/v1/namespaces/default/pods?limit=500 200 OK in 18 milliseconds

顺便说一句,它是一个Windows节点

在理想情况下,

  • 上面的步骤应该有效,您可能需要为grep & curl找到相应的命令。将证书的位置更改为适当的位置。您可以从admin.conf文件.

中找到证书的位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70517496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档