Kubernetes -- 如何访问API
方法1:kube-proxy
1.集群内:
启动proxy端口9999,访问该端口将proxy到api-server
# kubectl proxy --address='178.104.163.243' --accept-hosts='^*$' --port=9999
2.集群外:
# curl http://178.104.163.243:9999/api/v1/nodes
方法2: Token 1.集群内:创建sa
kubectl create serviceaccount sa-test
2.集群内:rbac给sa赋权
将clusterrole:cluster-admin绑定给sa,该sa拥有了管理员的权限:
kubectl create clusterrolebinding sa-wanglipeng-cluster-admin --clusterrole='cluster-admin' --serviceaccount=default:sa-test
3.集群内:获得token
刚创建的sa带一个secret,secret中存放了token:
TOKEN=$(kubectl get secrets -o jsonpath="{.items[?(@.metadata.annotations['kubernetes\.io/service-account\.name']=='sa-test')].data.token}"|base64 -d)
4.集群外:使用token访问API
curl --header "Authorization: Bearer $TOKEN" --insecure-X GET https://178.104.163.38:6443/api/v1/namespaces/monitoring/pods?limit=1
方法3: 证书 要求使用apiserver的key文件和cert文件:
curl -k --key /etc/kubernetes/pki/apiserver-kubelet-client.key --cert /etc/kubernetes/pki/apiserver-kubelet-client.crthttps://178.104.163.38:6443/api/v1/nodes
参考 【Kubernetes -- 如何访问API】1.Access Clusters Using the Kubernetes API
推荐阅读
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 如何寻找情感问答App的分析切入点
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus使用queryWrapper如何实现复杂查询
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- java中如何实现重建二叉树
- Linux下面如何查看tomcat已经使用多少线程
- thinkphp|thinkphp 3.2 如何调用第三方类库
- 2019女表什么牌子好(如何挑选女士手表?)