资讯专栏INFORMATION COLUMN

mac安装kubernetes并运行echoserver

wind5o / 2088人阅读

摘要:序上次虽然写了两篇在装的,但是仅仅限于初步安装,这次再补上跑个,正好也赶上阿里云有相关镜像,于是这里再次记录下。

上次虽然写了两篇在mac装kubernetes的,但是仅仅限于初步安装,这次再补上跑个demo,正好也赶上阿里云有相关镜像,于是这里再次记录下。

安装minikube

</>复制代码

  1. 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

</>复制代码

  1. 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/
启动

</>复制代码

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

pod的status都在ContainerCreating,查看

</>复制代码

  1. kubectl describe pods

出错部分log

</>复制代码

  1. Events:
  2. FirstSeen LastSeen Count From SubobjectPath Type Reason Message
  3. --------- -------- ----- ---- ------------- -------- ------ -------
  4. 8m 8m 1 {default-scheduler } Normal Scheduled Successfully assigned hello-minikube-957602326-t9mzf to minikube
  5. 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)"
  6. 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镜像这篇文章的方法,这里我们用阿里的镜像

</>复制代码

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

删除pod再观察下

</>复制代码

  1. kubectl delete pods xxxx
  2. kubectl get pod --all-namespaces

这下变成running了

</>复制代码

  1. NAME READY STATUS RESTARTS AGE
  2. hello-minikube-957602326-gf17s 1/1 Running 0 40s
跑下demo

</>复制代码

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

输出

</>复制代码

  1. CLIENT VALUES:
  2. client_address=172.17.0.1
  3. command=GET
  4. real path=/
  5. query=nil
  6. request_version=1.1
  7. request_uri=http://192.168.99.101:8080/
  8. SERVER VALUES:
  9. server_version=nginx: 1.10.0 - lua: 10001
  10. HEADERS RECEIVED:
  11. accept=*/*
  12. host=192.168.99.101:31860
  13. user-agent=curl/7.43.0
  14. BODY:
解决kube-addon-manager-minikube的ImagePullBackOff问题

查看详情

</>复制代码

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

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

</>复制代码

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

使用

</>复制代码

  1. kubectl get pods --all-namespaces

正常了

</>复制代码

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

</>复制代码

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

查看下

</>复制代码

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

fix

</>复制代码

  1. minikube ssh
  2. docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/kubedns-amd64:1.9
  3. docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/kubedns-amd64:1.9 gcr.io/google_containers/kubedns-amd64:1.9
  4. docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/kube-dnsmasq-amd64:1.4
  5. docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/kube-dnsmasq-amd64:1.4 gcr.io/google_containers/kube-dnsmasq-amd64:1.4
  6. docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/exechealthz-amd64:1.2
  7. docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/exechealthz-amd64:1.2 gcr.io/google_containers/exechealthz-amd64:1.2

fix

</>复制代码

  1. kubectl describe --namespace=kube-system po kubernetes-dashboard-k6z7w
  2. docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/kubernetes-dashboard-amd64:v1.5.0
  3. 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

</>复制代码

  1. minikube dashboard

看到久违的界面了

doc

minikube-0.15.0

k8s初游: minikube启动docker镜像

minikube 无法启动dashboard的问题

mac使用minikube安装kubernetes

mac本地安装kubernetes

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/32545.html

相关文章

  • Minikube在Mac上搭建PHP容器集群

    摘要:安装环境开启服务开启服务需要安装虚拟机,我自己看装的是免费的虚拟机软件,因为需要开启一个虚拟机运行服务。开启查看的状态配置依赖镜像运行需要在机器上拥有但是由于中所周知的原因,这个不能下载,因此我们通过中转了一下。 1 安装环境 curl -Lo minikube https:// storage.googleapis.com/minikube/releases/v0.12.2/mini...

    roundstones 评论0 收藏0
  • Minikube在Mac上搭建PHP容器集群

    摘要:安装环境开启服务开启服务需要安装虚拟机,我自己看装的是免费的虚拟机软件,因为需要开启一个虚拟机运行服务。开启查看的状态配置依赖镜像运行需要在机器上拥有但是由于中所周知的原因,这个不能下载,因此我们通过中转了一下。 1 安装环境 curl -Lo minikube https:// storage.googleapis.com/minikube/releases/v0.12.2/mini...

    cfanr 评论0 收藏0
  • 带着问题学 Kubernetes 抽象对象 Service

    摘要:庆幸,引入了这个抽象的概念。会虚拟出一个,并在它销毁之前保持该地址保持不变。通过对它的访问,以代理的方式负载到对应的上,同时生命周期的变换,也会及时反应在代理上。该与同名,它所暴露的地址信息正是对应的地址。由此猜测是维护了与的映射关系。 带着问题学 Kubernetes 抽象对象 Service 摘要:本文属于原创,欢迎转载,转载请保留出处:https://github.com/jas...

    baukh789 评论0 收藏0
  • 带着问题学 Kubernetes 抽象对象 Service

    摘要:庆幸,引入了这个抽象的概念。会虚拟出一个,并在它销毁之前保持该地址保持不变。通过对它的访问,以代理的方式负载到对应的上,同时生命周期的变换,也会及时反应在代理上。该与同名,它所暴露的地址信息正是对应的地址。由此猜测是维护了与的映射关系。 带着问题学 Kubernetes 抽象对象 Service 摘要:本文属于原创,欢迎转载,转载请保留出处:https://github.com/jas...

    opengps 评论0 收藏0
  • Docker 和 Kubernetes 从听过到略懂:给程序员的旋风教程

    摘要:默认监听在端口,所以我们把宿主机的端口映射到容器的端口用下面的命令可以看到正在运行中的容器这时如果你用浏览器访问,就能看到我们刚才创建的页面。这时如果刷新浏览器,就可以看到更新的内容。 早在 Docker 正式发布几个月的时候,LeanCloud 就开始在生产环境大规模使用 Docker,在过去几年里 Docker 的技术栈支撑了我们主要的后端架构。这是一篇写给程序员的 Docker ...

    jackzou 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<