K8s(七)—Dashboard
Dashboard是K8s的管理界面,发行版本列表为:dashbaord/releases;主要是安装完成之后访问不了,所以整理一下
安装
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
- 若服务器网络不通,可以先将文件进行下载,然后进行安装
- 若镜像没有,需要将镜像先拉下来,然后再使用
访问
访问需要起动proxy, 官网的教程里面是这样的
kubectl proxy
若想要远程访问,则使用如下命令,直接授权所有主机,IP,并且后台运行;
kubectl proxy --address='0.0.0.0' --accept-hosts='^\*$' &
访问地址:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
若远程访问,修改一下IP即可;
登陆
登陆有两种方式,token或者认证文件;
token生成
kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/kubernetes-dashboard -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"
其中kubernetes-dashboard
是在安装的文件里面指定的serviceAccount
问题
你可能会遇到如下问题:
- 遇到 Login Not avaiable的情况
- 登陆没有反应
原因原是,因为你没有证书,访问地址不安全,同时这个服务是ClusterIP,login成功之后,无法获取准确的跳转地址;
解决方法,将kubernetes-service
服务修改为NodePort
,待service
重启完成后,看看Pod
落到哪个Node
上面
# kubectl -n kubernetes-dashboard describe pod kubernetes-dashboard-78c79f97b4-5hjlc | grep Node
Node: jjh-db-test2/10.20.97.39
Node-Selectors: kubernetes.io/os=linux
然后查看service
的端口号:
kubectl -n kubernetes-dashboard get service kubernetes-dashboard
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes-dashboard NodePort 10.110.60.112 <none> 443:31756/TCP 38m
访问: https://10.20.97.39:31756
若为chrome浏览器,不安全的情况下,请在页面所在的屏幕里面按: this is unsafe
不用怀疑,考验你的盲打能力