国内服务器安装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/ 最后一段

carvendy - 我不仅仅是一个魔术师

赞同来自:


有哪些代理可用的?

张夏 - FreeWheel Lead Engineer, ex-IBMer

赞同来自:


Kubernetes1.6以上版本,Flannel 还需安装:
kubectl apply -f https://raw.githubusercontent. ... c.yml

可参考我写的文章:使用kubeadm在Red Hat 7/CentOS 7快速部署Kubernetes 1.7集群
链接http://dockone.io/article/2514

迷茫_小青年 -

赞同来自:


兄弟试试这个吧

https://github.com/big-loser/kubernetes-ansible

解放你双手。

要回复问题请先登录注册