我在笔记本电脑上安装了minikube,kubectl。
当我在kubectl cluster-info
中运行时,获取以下内容
Kubernetes master is running at https://10.168.99.10:8443
当我连接到https://10.168.99.10:8443时,我得到以下回复。
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {
},
"status": "Failure",
"message": "Unauthorized",
"reason": "Unauthorized",
"code": 401
}
安装时,kubectl / minikube没有提示用户/密码。 什么是连接的默认用户/密码。
答案 0 :(得分:2)
minikube 不以basic-auth开头。所以没有用户名&默认情况下,apiserver的密码。要访问apiserver,您需要使用apiserver证书。那就是你的授权方式。
curl https://192.168.99.100:8443 --cert ~/.minikube/apiserver.crt --key ~/.minikube/apiserver.key --cacert ~/.minikube/ca.crt
查看详情:
获取您的迷你人IP地址
$ minikube ip
192.168.99.100
默认情况下,API服务器在8443
上运行
现在尝试使用此
连接apiserver$ curl https://192.168.99.100:8443
curl: (60) SSL certificate problem: unable to get local issuer certificate
需要提供CA证书
$ curl https://192.168.99.100:8443 --cacert ~/.minikube/ca.crt
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {
},
"status": "Failure",
"message": "Unauthorized",
"reason": "Unauthorized",
"code": 401
}⏎
现在您需要提供apiserver SSL证书和密钥
curl https://192.168.99.100:8443 --cert ~/.minikube/apiserver.crt --key ~/.minikube/apiserver.key --cacert ~/.minikube/ca.crt
{
"paths": [
"/api",
"/api/v1",
....
"/ui",
"/ui/",
"/version"
]
}⏎
注意:您也可以代理apiserver
$ kubectl proxy --port=8433
$ curl 127.0.0.1:8433
现在您不需要提供任何证书。并且您已获得授权
答案 1 :(得分:0)
看起来你在做curl https://10.168.99.10:8443 -k
。没有必要这样做。事实上,您所看到的响应是预期的,因为您没有对kubernetes进行身份验证。
minikube dashboard
打开kubernetes仪表板。这将使用NodePort
服务的kubernetes-dashboard
并在浏览器中打开kubernetes仪表板GUI。kubeconfig
处创建~/.kube/config
。因此,只需使用kubectl
在Minikube中使用k8。kubectl
查看kubectl config view
配置。答案 2 :(得分:0)
请尝试放置kubectl proxy --address=clusterIP --port 8001 --accept-hosts '.*'
,然后您可以在http://localhost:8001浏览它。