国内服务器安装kubernetes一路坑,求大神指点


先介绍以下自己的环境
共2台服务器,Master IP:192.168.1.11 映射一个外网IP ,node ip 192.168.1.22(无外网访问权限)

此外还有一台192.168.1.33的http公用代理

操作系统均为 ubuntu 16.04.1 64位

通过SNAT解决了内网主机上网的问题

第一个问题

安装完成后,使用kubectl get pods --all-namespaces --show-all 查看pods,每次重启master主机,kube-discovery 就会多生成一条,状态为 MatchNodeSelector,目前重启了4次,已经有5条了,1条running,4条MatchNodeSelector

提示信息

Predicate MatchNodeSelector failed

第二个问题

因为 node 主机只有内网访问权限,虽然能通过SNAT代理上网,但是毕竟是曲线救国。k8s会让node主机去下一些docker的镜像,有没有类似maven的nexus私服那种方式,如果私服上没有这个镜像,就让私服去外网下载,不然直接从私服下载镜像? docker的私有仓库好像有点麻烦的样子。

目前已经解决的坑

根据k8s官网的教程开始安装,apt安装完成相关依赖后,第一部就遇到了问题
问题一:
运行 kubeadm init 后,一直卡在了


created API client, waiting for the control plane to become ready
解决方式 设置docker代理 https://docs.docker.com/engine ... proxy

问题二:
pod 网络用的是 flannel 的关系,安装完成后 kube-dns 无法启动,一般会有此类错误


using network plugins \"cni\": open /run/flannel/subnet.env:
no such file or directory; Skipping pod"
flannel安装方法


kubectl apply -f https://raw.githubusercontent. ... l.yml
解决方式 第一步的时候 kubeadm init 没有加 --pod-network-cidr=10.244.0.0/16 可以通过 kubeadm reset 重新安装
已邀请:

xiphis

赞同来自:


第二个问题,可以配置mirror registry

具体怎么配置?

看这篇文章 https://www.ustack.com/blog/docker/ 最后一段

要回复问题请先登录注册