Curl 库伯内特斯。HTTPS API返回`未经授权`
Kubernetes API请求Curl 库伯内特斯。HTTPS API返回`未经授权`,curl,docker,kubernetes,tls1.2,Curl,Docker,Kubernetes,Tls1.2,Kubernetes API请求curlhttps://192.168.0.139 --cacert/home/mongeo/ku certs/ca.pem返回未经授权 请求curl本地主机:8080工作正常 我的kube代理和kube apiserver standart() 如何在HTTPS上获取数据?您是否指定了--token auth file=和/或--basic auth file=或其他身份验证模式之一?我不知道https端点在没有其中一个的情况下是否可以工作(也许应该,但显然不行
curlhttps://192.168.0.139 --cacert/home/mongeo/ku certs/ca.pem
返回未经授权
请求curl本地主机:8080
工作正常
我的kube代理和kube apiserver standart()
如何在HTTPS上获取数据?您是否指定了
--token auth file=
和/或--basic auth file=
或其他身份验证模式之一?我不知道https端点在没有其中一个的情况下是否可以工作(也许应该,但显然不行)。查看在API中有几种验证方法。获得授权的最简单方法是发送带有“承载令牌值”值的身份验证头。您可以查看服务器上的Kubernetes API配置,以查找定义的令牌。标头可以使用web浏览器扩展与http请求一起发送。从外部网络访问Kubernetes API的简单方法是创建一个
这将把连接从本地端口9000
转发到服务器上的localhost:8080
只要SSH隧道打开,您就可以在机器的端口
9000
上查询API。嗨,这就是我为token所做的
- 打开
示例:/etc/kubernetes/kubelet.conf
服务器:https://10.1.32.120:6443
- 打开
示例:/etc/kubernetes/pki/tokens.csv
4c95a1a22d19b20811,kubeadm节点csr,07ccbf35-e206-11e6-ab8f-0010184e550e,系统:kubelet引导
4c95a1a22d19b20811
授权:持票人4c95a1a22d19b20811
最后,我发现:
lincai@pdbuddy:~/blackbox$ curl -v --cacert ./ca.pem --key ./admin-key.pem --cert ./admin.pem https://xxxx/api/v1/
* Hostname was NOT found in DNS cache
>
< HTTP/1.1 200 OK
lincai@pdbuddy:~/blackbox$curl-v--cacert./ca.pem--key./admin-key.pem--cert./admin.pemhttps://xxxx/api/v1/
*在DNS缓存中找不到主机名
>
为httpstry curl添加443端口地址——cacert/home/mongeo/ku certs/ca。pem@ShivSinghSingh它没有帮助它如何帮助在浏览器中打开页面?令牌必须在cheder页面请求中传递?为OP添加解释。这将帮助他更好地理解。太好了!如果要使用当前目录中的文件,请在其前面加“/”前缀,以避免与昵称混淆。我注意到,在我的环境中,如果不使用“/”前缀,则会出现未经授权的错误。我在有证书的文件夹中运行该命令,为什么它不起作用?这就是我正在尝试的,但它不起作用。curl https://x:x:x::6443/api/--key kubernetes.key--cert kubernetes.crt--cacert ca.crt
,而且它起作用。curl https://x:x:x::6443/api/--key./kubernetes.key--cert./kubernetes.crt--cacert./ca.crt
kubectl proxy>是建立本地http隧道的更简单的方法API服务器。我在我的/etc/kubernetes/pki/目录中找不到token.csv。我们需要自己添加令牌文件吗??
ssh -L 9000:localhost:8080 roto@master.node
lincai@pdbuddy:~/blackbox$ curl -v --cacert ./ca.pem --key ./admin-key.pem --cert ./admin.pem https://xxxx/api/v1/
* Hostname was NOT found in DNS cache
>
< HTTP/1.1 200 OK