新版本的k8s dashboard ,只允许你用https访问,chrome不允许没有证书的网站用https访问,要解决这个问题有3个办法:
-
chrome加参数忽略证书
--test-type --ignore-certificate-errors
-
火狐浏览器访问:

-
自签证书
当然自己生成的CA在chrome中会被标成不安全的网站,但是可以访问了。
只需要创建 secret
指定证书即可,关于自签证书的流程参考我的这篇文章:
生成自签https证书
- 创建 secret kubernetes-dashboard-certs
kubectl delete secret kubernetes-dashboard-certs -n kubernetes-dashboard && \
kubectl create secret generic kubernetes-dashboard-certs --from-file="/usr/program/crts/dashboard/dashboard.crt,/usr/program/crts/dashboard/dashboard.key" -n kubernetes-dashboard
这里crt和key文件的文件名一定要叫dashboard
,不然证书会无效,我真是服了
- 查看secret内容
kubectl get secret kubernetes-dashboard-certs -n kubernetes-dashboard -o yaml
# 内容如下:
apiVersion: v1
data:
k8s-dashboard.crt: ......
k8s-dashboard.key: ......
kind: Secret
metadata:
creationTimestamp: "2020-06-30T15:34:40Z"
name: kubernetes-dashboard-certs
namespace: kube-system
resourceVersion: "1728623"
selfLink: /api/v1/namespaces/kube-system/secrets/kubernetes-dashboard-certs
uid: a915cd0d-195f-47d3-8975-e7350f8800e1
type: Opaque
然后就可以了

如果不行的话,重新部署一下dashboard:
kubectl get deployment kubernetes-dashboard -n kubernetes-dashboard -o yaml >> kubernetes-dashboard.yaml && \
kubectl delete -f kubernetes-dashboard.yaml && \
kubectl apply -f kubernetes-dashboard.yaml && \
rm -rf ./kubernetes-dashboard.yaml
网友评论