Kubernetes-Dashboard 在 chrome(证书不可信任)解决办法

当我们搭建完一个 k8s 集群并且使用官方 kubernetes-dashboard.yaml 文件创建好 k8s-dashboard 之后发现,只有火狐浏览器可以打开 dashbaord 界面,Chrome 和 IE 浏览器都无法访问。
这是因为生产的证书的很多信息都没有,并且证书的时间也都不正常,这就导致了大部分浏览器不认这个证书,但是我们自己生成的证书大部分浏览器都是可以访问的,那是因为我们自己签发的证书是符合校验字段的

k8s-dashboard 证书是存储在 k8s 中的:(这里我是已经有了数据的,如何没有使用自建ssl这块是 0 )

[root@k8s-master-01 key]# kubectl get secrets -n kubernetes-dashboard
NAME                               TYPE                                  DATA   AGE
default-token-lmdvj                kubernetes.io/service-account-token   3      25h
istio.default                      istio.io/key-and-cert                 3      83m
istio.kubernetes-dashboard         istio.io/key-and-cert                 3      83m
kubernetes-dashboard-certs         Opaque                                2      13m
kubernetes-dashboard-csrf          Opaque                                1      25h
kubernetes-dashboard-key-holder    Opaque                                2      25h
kubernetes-dashboard-token-gc8sd   kubernetes.io/service-account-token   3      25h

可以发现,certs 后面的数据是空的,这就说明在这个 secret 中并没有存储任何东西,只不过有这个资源创建了,证书在镜像中自带,我们需要在这个 secret 去签发证书,随后在重新创建 dashboard 的 pod

删除默认的 secret

[root@k8s-master-01 key]# kubectl delete secret kubernetes-dashboard-certs -n kubernetes-dashboard
secret "kubernetes-dashboard-certs" deleted

用自签证书创建新的 secret

[root@k8s-master-01 key]# kubectl create secret generic kubernetes-dashboard-certs \
> --from-file=/root/namespaces/key/nicai.pem --from-file=/root/namespaces/key/nicai.key -n kubernetes-dashboard
secret/kubernetes-dashboard-certs created

修改 kubernetes-dashboard.yaml 文件,在 args 下面增加证书两行

          args:
            - --auto-generate-certificates
            - --namespace=kubernetes-dashboard
            - --tls-key-file=nicai.key        # key
            - --tls-cert-file=nicai.pem      # pem

重启

kubectl apply -f kubernetes-dashboard.yaml

使用Chrome进行访问:
Kubernetes-Dashboard 在 chrome(证书不可信任)解决办法_第1张图片

你可能感兴趣的:(Linux,K8S,Nginx)