资讯专栏INFORMATION COLUMN

microk8s安装过程中遇到的几个问题

ShevaKuilin / 1127人阅读

摘要:问题安装过程中部分镜像需要从的镜像仓库拉取但是国内无法访问其镜像仓库故需要手动获取镜像再自行安装从官方提供的仓库获取不是使用的宿主机器的进程故不能简单的把自己获取的镜像重新来完成安装需要导出之后然后使用提供的镜像管理功能进行导入解决原理获取

问题

microk8s安装过程中,部分镜像需要从google的镜像仓库拉取,但是国内无法访问其镜像仓库, 故需要手动获取镜像再自行安装(从官方提供的google mirror仓库获取)

microk8s不是使用的宿主机器的docker进程, 故不能简单的把自己获取的镜像重新tag来完成安装; 需要导出之后然后使用microk8s提供的镜像管理功能进行导入

解决原理

获取到你需要的镜像名称和版本之后 (参见后面的排查技巧)

docker pull mirrorgooglecontainers/$imageName:$imageVersion
docker tag  mirrorgooglecontainers/$imageName:$imageVersion k8s.gcr.io/$imageName:$imageVersion
docker save k8s.gcr.io/$imageName:$imageVersion > $imageName.tar
microk8s.ctr -n k8s.io image import $imageName.tar
示例步骤

视你开启的插件而言,需要手动安装需要的镜像, 以我为例, 需要如下这些(注意版本可能不一样)

k8s.gcr.io/pause:3.1
k8s.gcr.io/heapster-influxdb-amd64:v1.3.3
k8s.gcr.io/heapster-grafana-amd64:v4.4.3
k8s.gcr.io/heapster-amd64:v1.5.2
k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3

gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.7
gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.7
gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.7

安装脚本如下(可以根据原理做成通用脚本再传参安装):

docker pull mirrorgooglecontainers/pause:3.1
docker pull mirrorgooglecontainers/heapster-influxdb-amd64:v1.3.3
docker pull mirrorgooglecontainers/heapster-grafana-amd64:v4.4.3
docker pull mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.8.3
docker pull mirrorgooglecontainers/heapster-amd64:v1.5.2
docker pull mirrorgooglecontainers/k8s-dns-dnsmasq-nanny-amd64:1.14.7
docker pull mirrorgooglecontainers/k8s-dns-kube-dns-amd64:1.14.7
docker pull mirrorgooglecontainers/k8s-dns-sidecar-amd64:1.14.7

docker tag mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag mirrorgooglecontainers/heapster-influxdb-amd64:v1.3.3 k8s.gcr.io/heapster-influxdb-amd64:v1.3.3
docker tag mirrorgooglecontainers/heapster-grafana-amd64:v4.4.3 k8s.gcr.io/heapster-grafana-amd64:v4.4.3
docker tag mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.8.3 k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3
docker tag mirrorgooglecontainers/heapster-amd64:v1.5.2 k8s.gcr.io/heapster-amd64:v1.5.2
docker tag mirrorgooglecontainers/k8s-dns-dnsmasq-nanny-amd64:1.14.7 gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.7
docker tag mirrorgooglecontainers/k8s-dns-kube-dns-amd64:1.14.7 gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.7
docker tag mirrorgooglecontainers/k8s-dns-sidecar-amd64:1.14.7 gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.7

docker save k8s.gcr.io/pause > pause.tar
docker save k8s.gcr.io/heapster-influxdb-amd64 > heapster-influxdb-amd64.tar
docker save k8s.gcr.io/heapster-grafana-amd64 > heapster-grafana-amd64.tar
docker save k8s.gcr.io/kubernetes-dashboard-amd64 > kubernetes-dashboard-amd64.tar
docker save k8s.gcr.io/heapster-amd64 > heapster-amd64.tar
docker save gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64 > k8s-dns-dnsmasq-nanny-amd64.tar
docker save gcr.io/google_containers/k8s-dns-kube-dns-amd64 > k8s-dns-kube-dns-amd64.tar
docker save gcr.io/google_containers/k8s-dns-sidecar-amd64 > k8s-dns-sidecar-amd64.tar

microk8s.ctr -n k8s.io image import pause.tar
microk8s.ctr -n k8s.io image import heapster-influxdb-amd64.tar
microk8s.ctr -n k8s.io image import heapster-grafana-amd64.tar
microk8s.ctr -n k8s.io image import kubernetes-dashboard-amd64.tar
microk8s.ctr -n k8s.io image import heapster-amd64.tar
microk8s.ctr -n k8s.io image import k8s-dns-dnsmasq-nanny-amd64.tar
microk8s.ctr -n k8s.io image import k8s-dns-kube-dns-amd64.tar
microk8s.ctr -n k8s.io image import k8s-dns-sidecar-amd64.tar
排查技巧

遇到问题时先通过 microk8s.kubectr get pods 查看是否是RUNNING状态, 如果不是,先按照上述方法解决镜像问题

查看具体的镜像版本时候可以通过 kubectl get pods --namespace=kube-system -o json |grep message直接过滤出错误消息

注意namespace的选择, 特别是你自己定义了namespace之后

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

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

相关文章

  • microk8s安装过程遇到几个问题

    摘要:问题安装过程中部分镜像需要从的镜像仓库拉取但是国内无法访问其镜像仓库故需要手动获取镜像再自行安装从官方提供的仓库获取不是使用的宿主机器的进程故不能简单的把自己获取的镜像重新来完成安装需要导出之后然后使用提供的镜像管理功能进行导入解决原理获取 问题 microk8s安装过程中,部分镜像需要从google的镜像仓库拉取,但是国内无法访问其镜像仓库, 故需要手动获取镜像再自行安装(从官方提...

    DC_er 评论0 收藏0
  • microk8s安装过程遇到几个问题

    摘要:问题安装过程中部分镜像需要从的镜像仓库拉取但是国内无法访问其镜像仓库故需要手动获取镜像再自行安装从官方提供的仓库获取不是使用的宿主机器的进程故不能简单的把自己获取的镜像重新来完成安装需要导出之后然后使用提供的镜像管理功能进行导入解决原理获取 问题 microk8s安装过程中,部分镜像需要从google的镜像仓库拉取,但是国内无法访问其镜像仓库, 故需要手动获取镜像再自行安装(从官方提...

    hzx 评论0 收藏0
  • 使用Kubernetes你需要知道硬道理

    摘要:是谷歌内部为解决这个问题所做的工作的产物,它为管理容器如何在整个集群中运行提供了一个单一的框架。在云中使用服务在许多云中作为标准问题项提供,尽管它在谷歌云平台,中最突出地表现为本地特性。使用,运行控制平面,将重点部署将用于所需配置的容器。每一项创新都会带来新的复杂性。容器使以一种方便的、可移植的形式打包和运行应用程序成为可能,但至少要说以规模管理容器是一个挑战。Kubernetes是谷歌内部...

    fyber 评论0 收藏0
  • 容错性好、易于管理和便于观察:浅谈如何利用K8s全面拥抱微服务架构

    摘要:年月日,论坛首次来到中国,在上海跨国采购会展中心召开并获得了圆满成功。拥抱微服务就成为大势所趋。和大会日期会议日程通告日期年月日会议活动举办日期年月至日和赞助方案和多元化奖学金现正接受申请和即将首次合体落地中国和购票窗口,立即购票 KubeCon + CloudNativeCon 论坛,作为 CNCF 的旗舰会议,自2016年以来已经在北美和欧洲两地的旧金山、伦敦、硅丘(奥斯汀)、哥本...

    Ku_Andrew 评论0 收藏0

发表评论

0条评论

ShevaKuilin

|高级讲师

TA的文章

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