kuberntes 自带插件的 manifests yaml 文件使用 gcr.io 的 docker registry,国内被墙,需要手动替换为其它 registry 地址
修改配置文件
将下载的 kubernetes-server-linux-amd64.tar.gz 解压后,再解压其中的 kubernetes-src.tar.gz 文件。
1 | # cd kubernetes |
dashboard 对应的目录是:cluster/addons/dashboard:
1 | # cd cluster/addons/dashboard |
修改 service 定义,指定端口类型为 NodePort,这样外界可以通过地址 NodeIP:NodePort 访问 dashboard;
1 | # cat dashboard-service.yaml |
1 | # cat dashboard-controller.yaml |
执行所有定义文件
1 | # ls *.yaml |
查看分配的 NodePort
1 | # kubectl get deployment kubernetes-dashboard -n kube-system |
- NodePort 32533 映射到 dashboard pod 443 端口;
查看 dashboard 支持的命令行参数
1 | # kubectl exec --namespace kube-system -it kubernetes-dashboard-6cc78dfc99-hb4l5 -- /dashboard --help |
dashboard 的 –authentication-mode 支持 token、basic,默认为 token。如果使用 basic,则 kube-apiserver 必须配置 –authorization-mode=ABAC 和 –basic-auth-file 参数
访问 dashboard
使用https协议,在浏览器输入任意node的ip加端口即可访问
创建登录 Dashboard 的 token 和 kubeconfig 配置文件
dashboard 默认只支持 token 认证(不支持 client 证书认证),所以如果使用 Kubeconfig 文件,需要将 token 写入到该文件。
创建登录 token
1 | # kubectl create sa dashboard-admin -n kube-system |
使用输出的 token 登录 Dashboard。
创建使用 token 的 KubeConfig 文件
1 | # 设置集群参数 |
如图:
用生成的 dashboard.kubeconfig 登录 Dashboard。由于k8s 默认的Dashboard 15分钟后就会弹出,又要重新登录和获取token麻烦,可以参考之前的k8s配置Dashboard