Kubernetes API请求curl https://192.168.0.139 --cacert /home/mongeo/ku-certs/ca.pem
返回Unauthorized
请求curl localhost:8080
运作良好。
我的kube-proxy和kube-apiserver standart(coreos+k8s tutorial)
如何获取有关HTTPS的数据?
答案 0 :(得分:6)
您是否指定了--token-auth-file=<file>
和/或--basic-auth-file=<otherfile>
或其他一种身份验证模式?我不知道https端点可以在没有这些端点的情况下工作(可能它应该,但它显然没有)。查看https://kubernetes.io/docs/admin/authentication/
答案 1 :(得分:2)
嗨,这就是我为令牌所做的,
答案 2 :(得分:1)
从外部网络访问Kubernetes API的一种简单方法是创建SSH tunnel,例如
ssh -L 9000:localhost:8080 roto@master.node
这会将您本地端口9000
的连接转发到服务器上的localhost:8080
。
只要SSH隧道处于打开状态,您就可以在计算机的端口9000
上查询API。
答案 3 :(得分:0)
有几种方法可以在API中进行身份验证。获得授权的最简单方法是使用&#34; bearer TOKEN_VALUE&#34;发送身份验证标头。值。您可以查看服务器上的Kubernetes API配置以查找已定义的令牌。可以使用Web浏览器扩展名使用http请求发送标头。
答案 4 :(得分:0)
最后,我想出了这个:
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
答案 5 :(得分:-3)
curl https://192.168.0.139 —key ./admin-key.pem —cert ./admin.pem —cacert ./ca.pem