您现在的位置是:首页 >技术教程 >K8s排错之浏览器打不开K8s Dashboard网站首页技术教程

K8s排错之浏览器打不开K8s Dashboard

简介K8s排错之浏览器打不开K8s Dashboard

一、问题

10.0.0.10 通常会使用加密技术来保护您的信息。Chrome 此次尝试连接到 10.0.0.10 时,该网站发回了异常的错误凭据。这可能是因为有攻击者在试图冒充 10.0.0.10,或者 Wi-Fi 登录屏幕中断了此次连接。请放心,您的信息仍然是安全的,因为 Chrome 尚未进行任何数据交换便停止了连接。

您目前无法访问10.0.0.10,因为此网站发送了Chrome无法处理的杂乱凭据。网络错误和攻击通常是暂时的,因此,此网页稍后可能会恢复正常。
在这里插入图片描述

二、解决步骤

一般情况下,正常安装部署完 Kubernetes Dashboard 后,通过大多数主流浏览器(Chrome、IE、Safari、Edge)是不能正常访问的,据我本人所测试目前只有火狐浏览器支持打开如下图

2.1 通过火狐浏览器访问:

通过火狐浏览器是可以访问的

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.2 解释原因:

该问题是由于部署 Kubernetes Dashboard 时默认生成的证书有问题导致的。在这篇文章中,我们就来教你如何快速优雅的解决它。

既然是证书问题,那解决办法当然是生成一个新的有效证书替换掉过期的即可。

2.3 通过生成新的证书永久解决

下面是生成 Kubernetes Dashboard 域名证书的几种常用方法,你可以根据自身实际情况选用任何一种就行。

1.通过 https://freessl.cn 网站,在线生成免费 1 年的证书

2.通过 Let’s Encrypt 生成 90 天免费证书

3.通过 Cert-Manager 服务来生成和管理证书

4.通过IP 直接自签一个证书

几种方式的原理都是一样的,我们这里使用自签证书的方法来进行演示。

1.生成证书

#这个也是一种生成证书的一种方式:
openssl genrsa -out dashboard.key 2048 
openssl req -new -out dashboard.csr -key dashboard.key -subj '/CN=10.0.0.10'
openssl x509 -req -days 3650 -in dashboard.csr -signkey dashboard.key -out dashboard.crt

#下面是生成证书的另一种方式:

# 创建一个用于自签证书的目录
[root@master01 ~]# mkdir kubernetes-dashboard-key && cd kubernetes-dashboard-key

# 生成证书请求的key
[root@master01 kubernetes-dashboard-key]# openssl genrsa -out dashboard.key 2048
Generating RSA private key, 2048 bit long modulus
.........................+++
...................................................+++
e is 65537 (0x10001)

# 生成证书请求
[root@master01 kubernetes-dashboard-key]# openssl req -days 3650 -new -out dashboard.csr -key dashboard.key -subj '/CN=10.0.0.10'


# 生成自签证书
[root@master01 kubernetes-dashboard-key]# openssl x509 -req -in dashboard.csr -signkey dashboard.key -out dashboard.crt
Signature ok
subject=/CN=10.0.0.10
Getting Private key

2.删除原有证书

[root@master01 kubernetes-dashboard-key]# kubectl get secret kubernetes-dashboard-certs -n kubernetes-dashboard
NAME                         TYPE     DATA   AGE
kubernetes-dashboard-certs   Opaque   0      123m
You have new mail in /var/spool/mail/root
[root@master01 kubernetes-dashboard-key]# kubectl delete secret kubernetes-dashboard-certs -n kubernetes-dashboard
secret "kubernetes-dashboard-certs" deleted

3.通过新生成的证书创建secret

kubectl create secret generic kubernetes-dashboard-certs --from-file=dashboard.key --from-file=dashboard.crt -n kubernetes-dashboard

4.查看dashboard的pod

[root@master01 kubernetes-dashboard-key]# kubectl get pod -n kubernetes-dashboard  | grep dashboard
dashboard-metrics-scraper-7645f69d8c-86dxq   1/1     Running   0          127m
kubernetes-dashboard-78cb679857-x4hpw        1/1     Running   0          127m

5.删除原有pod即可(会自动创建新的pod)

[root@master01 kubernetes-dashboard-key]# kubectl delete pod kubernetes-dashboard-78cb679857-x4hpw -n kubernetes-dashboard
pod "kubernetes-dashboard-78cb679857-x4hpw" deleted

#再次查看,pod 正在创建中
[root@master01 kubernetes-dashboard-key]# kubectl get pod -n kubernetes-dashboard  | grep dashboard
dashboard-metrics-scraper-7645f69d8c-86dxq   1/1     Running             0          133m
kubernetes-dashboard-78cb679857-fmv7w        0/1     ContainerCreating   0          29s

#创建好了
[root@master01 kubernetes-dashboard-key]# kubectl get pod -n kubernetes-dashboard  | grep dashboard
dashboard-metrics-scraper-7645f69d8c-86dxq   1/1     Running   0          141m
kubernetes-dashboard-78cb679857-n4hlf        1/1     Running   0          3m57s


2.4 在master节点等待pod重新起来进行测试,观察到正常

他出现了继续访问的图标

在这里插入图片描述

在这里插入图片描述

以上总结来自 https://blog.csdn.net/easylife206/article/details/106631988 https://www.maxbon.cn/2019/09/27/138.html https://zhuanlan.zhihu.com/p/613283395

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。