kubernetes dashboard 2.x 配置https证书

新版本的k8s dashboard ,只允许你用https访问,chrome不允许没有证书的网站用https访问,要解决这个问题有3个办法:

  • chrome加参数忽略证书

--test-type --ignore-certificate-errors
  • 火狐浏览器访问:

kubernetes dashboard 2.x 配置https证书_第1张图片
  • 自签证书

当然自己生成的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

然后就可以了


kubernetes dashboard 2.x 配置https证书_第2张图片

如果不行的话,重新部署一下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

你可能感兴趣的:(kubernetes dashboard 2.x 配置https证书)