Kar*_*Kid 13 kubernetes minikube
使用minikube通过kubernetes api进行kubernetes集群设置的正确方法是什么?目前,我找不到可以访问kubernetes集群的端口.
Sve*_*ach 17
使用minikube时访问Kubernetes API的最简单方法是使用
kubectl proxy --port=8080
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用访问API
curl http://localhost:8080/api/
Run Code Online (Sandbox Code Playgroud)
这也允许您在浏览器中浏览API.使用启动minikube
minikube start --extra-config=apiserver.Features.EnableSwaggerUI=true
Run Code Online (Sandbox Code Playgroud)
然后启动kubectl proxy,并在浏览器中导航到http:// localhost:8080/swagger-ui /.
您可以直接使用curl访问Kubernetes API
curl --cacert ~/.minikube/ca.crt --cert ~/.minikube/client.crt --key ~/.minikube/client.key https://`minikube ip`:8443/api/
Run Code Online (Sandbox Code Playgroud)
但通常这样做没有任何好处.常见的浏览器对minikube生成的证书不满意,因此如果您想使用浏览器访问API,则需要使用kubectl proxy.
iam*_*nat 13
运行minikube start会自动配置kubectl.
您可以运行minikube ip以获取您的minikube所在的IP.默认情况下,API服务器在8443上运行.
更新:要直接访问API服务器,您需要使用已生成的自定义SSL证书.通过minikube.客户端证书和密钥通常存储在:~/.minikube/apiserver.crt和~/.minikube/apiserver.key.在发出请求时,您必须将它们加载到HTTPS客户端中.
如果您正在使用curl使用--cert和--key选项来使用证书和密钥文件.查看文档以获取更多详细信息.
小智 10
我经历了很多答案,但很多都是错的.
在我们开始之前,我们需要IP和令牌.
如何获取IP:minikube ip 如何生成令牌:
$export secret=kubectl get serviceaccount default -o json | jq -r '.secrets[].name'
$kubectl get secret $secret -o yaml | grep "token:" | awk {'print $2'} | base64 -D > token
Run Code Online (Sandbox Code Playgroud)
注意:base64对mac使用-D,对Linux使用-d.
然后,正确的命令是:
#curl -v -k -H --cacert ~/.minikube/ca.crt -H "Authorization: Bearer $(cat ~/YOUR_TOKEN)" "https://{YOUR_IP}:8443/api/v1/pods"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10656 次 |
| 最近记录: |