在阅读本文前你需要:
- 有一个可以操作的 kubernetes 集群
- 熟悉 kubectl 命令,比如 get,logs,describe 等
本文以上一篇 简易 kubernetes 入门 搭建的单机版 k8s 为例。还没有自己测试集群的同学欢迎参考哦。
查看 kubernetes 版本
kubectl version
我们这里的版本是 v1.5.2
使用对应版本的 yaml 安装 dashboard
v1.5.2 的 kubernetes 可以使用 1.5.x 版本的 dashboard
kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.5.1/src/deploy/kubernetes-dashboard.yaml
其他版本的同学可以去 github 上找对应版本的 yaml。
到这一步幸运同学们已经安装完成啦,可以通过以下命令查看:
kubectl get pod -n kibe-system
国内的同学们由于一些原因,会发现 pod 一直处于 ImagePullBackOff 的状态,如下图所示:
使用 describe 命令查看具体原因:
kubectl describe pod kubernetes-dashboard -n kibe-system
发现是拉取 kubernetes-dashboard-amd64:v1.5.1 镜像的时候失败了。通常这种情况大家可以自己配置科学上网;或者自己在一台可以科学上网的机器上拉取镜像然后 push 到 docker.io 或自己的仓库上。在这里使用一个更简单的方式 —— 直接在 docker 中央仓库搜寻我们需要的镜像,具体步骤如下。
解决 ImagePullBackOff 问题
在 docker 中央仓库中查找我们需要的镜像:
docker search kubernetes-dashboard-amd64:v1.5.1
直接选用 starts 最多的一个镜像。下载 dashboard 的 yaml 文件:
wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.5.1/src/deploy/kubernetes-dashboard.yaml
修改已经下载好的 kubernetes-dashboard.yaml 文件,做如下修改:
image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.5.1
改为
image: docker.io/mritd/kubernetes-dashboard-amd64:v1.5.1
保存后执行:
kubectl create -f kubernetes-dashboard.yaml
# 如果报 Error from server (AlreadyExists) 错的话需要先删除已部署的 deployment
# kubectl delete -f kubernetes-dashboard.yaml