在k8s当中最重要的就是网络,如果网络不可用,那么集群就相当于报废状态,
网络故障原因
Kubernetes中的网络是非常重要的,整个k8s集群的通通信需要依赖网络插件,如calico、flannel、canel等,通信都是通过网络插件实现的,kubernetes之上的网通信过程最常见的故障如下∶(calico可以为pod分配ip地址,calico相对于flannel来说还可以配置网络策略)
通信主要有如下几种∶
- Pod自身网络故障
- Pod和Pod通信故障(同一个节点上面pod通信和跨节点的pod通信)
Pod和物理节点通信故障(pod访问不通物理节点IP或者物理节点去ping pod的ip是ping不通的) - 容器间的通信
同一个pod内的多个容器间的通信,lo,通过本地的回环网卡lo进行通信
- pod通信
从一个pod lp 到另一个pod Ip
- Pod与service 外部通信通信
pod ip到cluster ip
- 外部通信
Service与集群外部客户端的通信,如果使用service实现4层负载均衡,想在集群外访问service关联的pod,需要将service变为nodeport类型,这样才可以在集群外部通过主机IP和宿主机暴露的端口去访问service内部的这个应用。