minikube系列(2):minikube无法启动dashboard的解决方法

一、问题

在安装完单机版的kubernetes后,我们使用minkube dashboard命令会遇到以下的错误:

# minikube dashboard

Error accessing the kubernetes dashboard ( is minikube running?): Error : Error getting kubernetes-dashboard services: services "kubernetes-dashboard" not found


二、解决方法

2.1 创建kube-addon-manager-minikube

通过查看所有namespaces的pod,我们可以看到kube-addon-manager-minikube正处于imagePullBackOff或containerCreating状态,接着查看pod描述

# kubectl get pod --all-namespaces

# kubectl describe --namespace=kube-system pod kube-addon-manager-minikube

由于GFW的原因,我们可以获知这个pod在尝试拉取gcr.io/google-containers/kube-addon-manager:v6.4-beta.1镜像时,失败了。我们使用dockerhub的自动构建功能,通过github同步google的镜像源,或者如下步骤直接拉取我的镜像,再更改镜像的tag。

# minikube ssh

# docker pull locutus1/kube-addon-manager:v6.4-beta.1 

# docker tag locutus1/kube-addon-manager:v6.4-beta.1 gcr.io/google-containers/kube-addon-manager:v6.4-beta.1

2.2 创建kubernetes-dashboard

通过以下命令,我们查看kubernetes-dashboard的pod描述。同样,minikube虚拟机在尝试拉取gcr.io/google_containers/kubernetes-dashboard-amd64:v1.6.0镜像时,失败了。

# kubectl get pod --all-namespaces

# kubectl describe pod kubernetes-dashboard-458tc --namespace=kube-system

这和上次遇到的问题是一样的。使用同样的方式,在minikube虚拟机中,将镜像拉取后即可。

# minikube ssh

# docker pull locutus1/kubernetes-dashboard-amd64:v1.6.0

# docker tag locutus1/kubernetes-dashboard-amd64:v1.6.0 gcr.io/google_containers/kubernetes-dashboard-amd64:v1.6.0

如果之后pod还是没有正常运行,那么可能是镜像拉取策略的问题。我们知道replication controller(其yaml文件位于minikube虚拟机的/etc/kubernetes/目录下)是控制pod的,因此通过命令:

# kubectl edit --namespace=kube-system rc kubernetes-dashboard

更改yaml文件的镜像获取策略imagePullPolicy: 值为IfNotPresent,这样如果本地有该镜像,则使用本地的镜像,本地不存在时再下载镜像。接着,删除原来kubernetes-dashboard的pod

# kubectl delete pod kubernetes-dashboard-458tc

# minikube dashboard

新启动的pod显示为running状态,最终dashboard正常运行。

2.3 创建kube-dns

查看所有pod,获取kube-dns的pod描述

# kubectl get pod --all-namespaces

# kubectl describe pod kube-dns-268032401-rczkk --namespace=kube-system

这和上次遇到的问题是一样的。使用同样的方式,在minikube虚拟机中,将镜像拉取后即可。

# minikube ssh

# docker pull locutus1/k8s-dns-kube-dns-amd64:1.14.1
# docker pull locutus1/k8s-dns-dnsmasq-nanny-amd64:1.14.1
# docker pull locutus1/k8s-dns-sidecar-amd64:1.14.1

# docker tag locutus1/k8s-dns-kube-dns-amd64:1.14.1
gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1

# docker tag locutus1/k8s-dns-dnsmasq-nanny-amd64:1.14.1
gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1

# docker tag locutus1/k8s-dns-sidecar-amd64:1.14.1
gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.1


三、参考博文

3.1 http://www.jianshu.com/p/25c247a01e71

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值