首先是某伟大的的防火墙问题,需要给kubeadm和docker都套一层代理
kubeadm只需要在命令行前面加HTTP_PROXY即可,docker需要编辑/etc/systemd/system/docker.service.d/http-proxy.conf
文件
[Service]
Environment="HTTP_PROXY=http://10.9.96.169:8118/"
之后需要重启docker进程,至此准备工作完成
如果需要用flannel作为网络框架,则需要添加--pod-network-cidr 10.244.0.0/16
至于为什么是这个网段,因为https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
这个文件中写的是这个网段,如果需要改成其他网段就把文件下载下来改一下,否则flanneld会找不见网段而一直起不来
带HTTP_PROXY跑kubeadm会导致最终生成的/etc/kubernetes/manifests/kube-apiserver.yaml
/etc/kubernetes/manifests/kube-controller-manager.yaml
/etc/kubernetes/manifests/kube-scheduler.yaml
三个文件中带有HTTP_PROXY信息,需要手工编辑删除,保存后进程会自动重启,稍等一段时间即可
在安装flannel之前,dns服务一直处于pending状态并且报/etc/cni/net.d: No such file or directory
属正常现象,安装flannel会自动生成这个目录的配置文件
最后,它终于跑起来了
塞一个dashboard进去,也能正常使用