安装minikube

curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.15.0/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

安装kubectl

curl -Lo kubectl http://storage.googleapis.com/kubernetes-release/release/v1.5.1/bin/darwin/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/

启动

minikube start
kubectl run hello-minikube --image=registry.cn-hangzhou.aliyuncs.com/google-container/echoserver:1.4 --port=8080
kubectl expose deployment hello-minikube --type=NodePort
kubectl get pod

问题

pod的status都在ContainerCreating,查看

kubectl describe pods

出错部分log

Events:
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
8m 8m 1 {default-scheduler } Normal Scheduled Successfully assigned hello-minikube-957602326-t9mzf to minikube
6m 3m 2 {kubelet minikube} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "image pull failed for gcr.io/google_containers/pause-amd64:3.0, this may be because there are no credentials on this request. details: (Error response from daemon: Get https://gcr.io/v1/_ping: dial tcp 64.233.187.82:443: i/o timeout)" 6m 1m 10 {kubelet minikube} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "POD" with ImagePullBackOff: "Back-off pulling image \"gcr.io/google_containers/pause-amd64:3.0\""

解决问题

参考k8s初游: minikube启动docker镜像这篇文章的方法,这里我们用阿里的镜像

minikube ssh
docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0
docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0 gcr.io/google_containers/pause-amd64:3.0

删除pod再观察下

kubectl delete pods xxxx
kubectl get pod --all-namespaces

这下变成running了

NAME                             READY     STATUS    RESTARTS   AGE
hello-minikube-957602326-gf17s 1/1 Running 0 40s

跑下demo

curl $(minikube service hello-minikube --url)

输出

CLIENT VALUES:
client_address=172.17.0.1
command=GET
real path=/
query=nil
request_version=1.1
request_uri=http://192.168.99.101:8080/ SERVER VALUES:
server_version=nginx: 1.10.0 - lua: 10001 HEADERS RECEIVED:
accept=*/*
host=192.168.99.101:31860
user-agent=curl/7.43.0
BODY:

解决kube-addon-manager-minikube的ImagePullBackOff问题

查看详情

kubectl describe --namespace=kube-system po kube-addon-manager-minikube

发现拉取gcr.io/google-containers/kube-addon-manager:v6.1失败,使用阿里云的镜像fix一下

minikube ssh
docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/kube-addon-manager-amd64:v6.1
docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/kube-addon-manager-amd64:v6.1 gcr.io/google-containers/kube-addon-manager:v6.1

使用

kubectl get pods --all-namespaces

正常了

NAMESPACE     NAME                             READY     STATUS    RESTARTS   AGE
default hello-minikube-957602326-gf17s 1/1 Running 1 44m
kube-system kube-addon-manager-minikube 1/1 Running 0 55m

minikube dashboard

kubectl get pod --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default hello-minikube-957602326-gf17s 1/1 Running 1 47m
kube-system kube-addon-manager-minikube 1/1 Running 0 58m
kube-system kube-dns-v20-m9p7t 0/3 ContainerCreating 0 2m
kube-system kubernetes-dashboard-k6z7w 0/1 ImagePullBackOff 0 2m

查看下

kubectl describe --namespace=kube-system po kube-dns-v20-m9p7t

fix

minikube ssh
docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/kubedns-amd64:1.9
docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/kubedns-amd64:1.9 gcr.io/google_containers/kubedns-amd64:1.9 docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/kube-dnsmasq-amd64:1.4
docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/kube-dnsmasq-amd64:1.4 gcr.io/google_containers/kube-dnsmasq-amd64:1.4 docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/exechealthz-amd64:1.2
docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/exechealthz-amd64:1.2 gcr.io/google_containers/exechealthz-amd64:1.2

fix

kubectl describe --namespace=kube-system po kubernetes-dashboard-k6z7w
docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/kubernetes-dashboard-amd64:v1.5.0
docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/kubernetes-dashboard-amd64:v1.5.0 gcr.io/google_containers/kubernetes-dashboard-amd64:v1.5.1

最后再次打开dashboard

minikube dashboard

看到久违的界面了

屏幕快照 2017-01-21 下午8.08.56.png

doc

最新文章

  1. Ajax服务请求原理 简单总结
  2. 【代码笔记】iOS-3DES+Base64加密解密
  3. SQL.变量、运算符、if、while
  4. 并发工具类(三)控制并发线程数的Semaphore
  5. linux内核编程笔记【原创】
  6. [老老实实学WCF] 第二篇 配置WCF
  7. Pandas简易入门(二)
  8. PYTHON之批量文件指定字符串替换
  9. sprintf()详细介绍
  10. [置顶] mybatis批量新增系列之有主键的表的批量新增
  11. GTK+2.0学习——code::block使用
  12. Boost的VS开发环境搭建
  13. RecyclerView 设置item间隔的方法
  14. Linux获取UUID
  15. python学习之路网络编程篇(第三篇)
  16. 为什么要使用getters和setters/访问器?
  17. dede后台删除文章后台还有分页显示解决方法
  18. 悬线法 || BZOJ3039: 玉蟾宫 || Luogu P4147 玉蟾宫
  19. MySQL 之【视图】【触发器】【存储过程】【函数】【事物】【数据库锁】【数据库备份】
  20. 当启动tomcat时出现tomcat setting should be set in tomcat preference page

热门文章

  1. cygin常用命令
  2. mysql常见监控项
  3. 对 Servlet 的改进
  4. Appium+python自动化-环境搭建
  5. 【编程工具】Sublime Text3的安装和常用插件推荐
  6. BNUOJ 3580 Oulipo
  7. 彻底解决Request Too Long的问题
  8. nginx的简介和配置文件实例(一)
  9. shell的for循环
  10. iOS学习笔记20-地图(二)MapKit框架