1、flannel安装配置
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml
2、在安装完flannel,coredns一直不能正常启动:
- master不允许部署
查看原因:
即主节点master默认不予许部署work pod,解除限制方法:
允许master节点部署pod
kubectl taint nodes --all node-role.kubernetes.io/master-
如果不允许调度
kubectl taint nodes master1 node-role.kubernetes.io/master=:NoSchedule
污点可选参数
NoSchedule: 一定不能被调度
PreferNoSchedule: 尽量不要调度
NoExecute: 不仅不会调度, 还会驱逐Node上已有的Pod
- 虚拟机下磁盘扩容问题
解决上面问题后,又不能正常运行,显示磁盘压力:
用同样方法解除限制:kubectl taint nodes --all node.kubernetes.io/disk-pressure-
此时虚拟机linux很卡,不能正常运行,通过检查发现建立linux时磁盘大小基本达到100%,所以对系统的磁盘进行扩容。
VMX虚拟机环境下CentOS/Linux扩展磁盘空间,并且增加HOME目录的大小!
3、emptyDir与hostPath区别
- emptyDir类型的volume在pod分配到node上时被创建,kubernetes会在node上自动分配 一个目录,因此无需指定宿主机node上对应的目录文件。这个目录的初始内容为空,当Pod从node上移除时,emptyDir中的数据会被永久删除。
- hostPath Volume为pod挂载宿主机上的目录或文件,使得容器可以使用宿主机的高速文件系统进行存储。缺点是,在k8s中,pod都是动态在各node节点上调度。当一个pod在当前node节点上启动并通过hostPath存储了文件到本地以后,下次调度到另一个节点上启动时,就无法使用在之前节点上存储的文件。