仪表板版本:1.1
Kubernetes 版本:1.3.6
操作系统:ubuntu14.04
去版本:1.6.2
将 kubernetes 和仪表板部署为http://kubernetes.io/docs/getting-started-guides/ubuntu/
我可以访问仪表板http://master-ip :8080/
bur 当我访问https://master-ip :6443/ 时,返回“未授权”
为什么?
我有同样的问题。 而且我认为作者可能还没有考虑到它。
https://github.com/kubernetes/dashboard/issues/1116
我猜您的集群正在使用证书通过 HTTPS 进行安全通信。 这里有2个问题。
Unauthorized
。使用 curl 很容易授权,因为您可以轻松提供所需的数据。
curl https://<MASTER_IP>/version --cacert ca.crt --cert admin.crt --key admin.key
curl https://<MASTER_IP>/version --header "Authorization: Bearer $TOKEN"
使用浏览器,它比这更复杂。 有几种方法可以访问仪表板:
<MASTER_IP>:<NODE_PORT>
访问它。 (不安全)kubectl proxy
并转到http://127.0.0.1:8001/
(绑定地址可以更改)。 如果您的kubeconfig
文件配置为使用安全连接,它将处理 SSL 隧道。关于第二个选项。 我可以提供一些信息如何使用 Firefox 做到这一点。
Your Certificates
。 如果您有 2 个单独的证书crt
和key
最好将它们合并到PFX/PKCS#12
证书中,因为直接将其导入浏览器证书存储区很容易。 您可以使用此页面或使用openssl
手动操作。如果证书生成正确,则在下次尝试通过 HTTPS 访问 api 服务器时将显示弹出窗口。 您可能需要清除浏览器缓存。
您现在应该看到仪表板。 :)
我不知道如何在浏览器中使用不记名令牌。 在向 api 服务器发送请求之前,可能需要一些手动工作才能将数据添加到 HTTP 标头。
当然还有其他选项可以授权用户。 Kubernetes 支持 ABAC、RBAC 等等。
访问安全 API 服务器端口时,浏览器需要进行身份验证。 正如https://github.com/kubernetes/kubernetes/issues/31665#issuecomment -247342834 所示,这可以通过基于证书的身份验证来完成。
对于基于令牌的身份验证,浏览器不会为您提供一种随请求自动发送不记名令牌的方法。
仪表板描述了如何使用kubectl proxy
来添加您的身份验证凭据,并允许您通过代理在本地访问仪表板 - https://github.com/kubernetes/dashboard#usage
最有用的评论
我猜您的集群正在使用证书通过 HTTPS 进行安全通信。 这里有2个问题。
Unauthorized
。使用 curl 很容易授权,因为您可以轻松提供所需的数据。
`
curl https://<MASTER_IP>/version --cacert ca.crt --cert admin.crt --key admin.key
curl https://<MASTER_IP>/version --header "Authorization: Bearer $TOKEN"
使用浏览器,它比这更复杂。 有几种方法可以访问仪表板:
<MASTER_IP>:<NODE_PORT>
访问它。 (不安全)kubectl proxy
并转到http://127.0.0.1:8001/
(绑定地址可以更改)。 如果您的kubeconfig
文件配置为使用安全连接,它将处理 SSL 隧道。关于第二个选项。 我可以提供一些信息如何使用 Firefox 做到这一点。
Your Certificates
。 如果您有 2 个单独的证书crt
和key
最好将它们合并到PFX/PKCS#12
证书中,因为直接将其导入浏览器证书存储区很容易。 您可以使用此页面或使用openssl
手动操作。如果证书生成正确,则在下次尝试通过 HTTPS 访问 api 服务器时将显示弹出窗口。 您可能需要清除浏览器缓存。
您现在应该看到仪表板。 :)
我不知道如何在浏览器中使用不记名令牌。 在向 api 服务器发送请求之前,可能需要一些手动工作才能将数据添加到 HTTP 标头。
当然还有其他选项可以授权用户。 Kubernetes 支持 ABAC、RBAC 等等。