配置文件
把配置文件下载到本地,方便自定义
当前使用的版本是v2.2.0
的
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
使用默认的配置就可以部署好,但是在使用过程中,会出现https证书、账号权限等问题,所以建议自己修改后再部署
HTTPS证书
生成证书
参考链接:https://kubernetes.io/docs/tasks/administer-cluster/certificates/
提供了3种方式:easyrsa 、openssl 、cfssl ,这里使用 openssl 演示
在文档中是使用CA签发终端证书的方式,但是在部署Dashboard时,由于健康检查时证书无法信任,所以这里用最简单的方式配置
执行文档中的3、4、5步骤,然后通过以下方式生成Dashboard的证书
openssl x509 -req -in server.csr -signkey server.key -out server.crt -days 3650
使用到的是 server.crt
和 server.key
配置证书到Dashboard
在默认的Dashboard部署文件中,你也许能发现名为kubernetes-dashboard-certs
的Secret
的数据是空,这也是默认部署下,Chrome访问证书的原因
把之前得到的 server.crt
和 server.key
文件内容,经过base64后,放到 kubernetes-dashboard-certs
里,就可以使用了
注意,默认的挂在的文件名称是 dashboard.crt
和 dashboard.key
,由于这里我配置的是 server.xxx
,所以,需要在名为 kubernetes-dashboard
的 deployment
中声明一下
token-ttl 是声明token过期时间的,默认的时间太短,这里可以设置长一些
访问方式
在文档中提到使用proxy的方式访问,但不是很方便,可以通过nodePort的方式访问
https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/#command-line-proxy
修改名为 kubernetes-dashboard
的 Service
,调整 ports
配置
这样部署好后,就可以直接使用 https://localhost:30001
访问Dashboard了
部署
kubectl apply -f recommended.yaml