flannel组件出现crashbackoff
查看flannel容器的日志信息
[root@yq01-aip-aikefu19a3d6e1 ~]# kubectl logs kube-flannel-5rq6g -n kube-system
Error from server (BadRequest): a container name must be specified for pod kube-flannel-5rq6g, choose one of: [kube-flannel install-cni]
根据提示发现 需要加上-c install-cni ,因为flannel这个pod是有个依赖容器install-cni
一直以来,kubernetes 并没有专门的网络模块负责网络配置,它需要用户在主机上已经配置好网络。
kubernetes 对网络的要求是:
容器之间(包括同一台主机上的容器,和不同主机的容器)可以互相通信
容器和集群中所有的节点也能直接通信
kubernetes 网络的发展方向是希望通过插件的方式来集成不同的网络方案, CNI 就是这一努力的结果。CNI只专注解决容器网络连接和容器销毁时的资源释放,提供一套框架,所以CNI可以支持大量不同的网络模式,并且容易实现。
kubectl logs -f pods/kube-flannel-ds-vkdzw -c install-cni -n kube-system 查看日志信息
+ [ -w /host/opt/cni/bin/ ]
+ cp /opt/cni/bin/bridge /opt/cni/bin/cnitool /opt/cni/bin/dhcp /opt/cni/bin/flannel /opt/cni/bin/host-local /opt/cni/bin/ipvlan /opt/cni/bin/loopback /opt/cni/bin/macvlan /opt/cni/bin/noop /opt/cni/bin/portmap /opt/cni/bin/ptp /opt/cni/bin/tuning /opt/cni/bin/vlan /host/opt/cni/bin/
+ echo Wrote CNI binaries to /host/opt/cni/bin/
发现需要与本机进行交互