节点(Node)
Pod
服务(Service)
存储卷(Volume)
标签
Pod Template
本地存储
共享存储
本地存储即为容器内存储,比如hostPaht,而共享存储就是容器外的存储,比如MFS、Ceph。标签是作用于对象的键值对,主要用于对象的分组和识别,其实就是Id。Pod Template是Kubernetes部署创建Pod的工具。Pod Template示意图如下:
apiVersion: v1kind: Podmetadata:name: myapp-podlabels:app: myappspec:containers:name: myapp-containerimage: busyboxcommand: ['sh', '-c', 'echo Hello Kubernetes! && sleep 3600']
Node独立IP段
Pod独立IP
容器共享Pod独立IP

这里会有两个问题:
IP分配 路由设置
kubernetes的网络类型有以下四种:
无网络模式 Host模式 Bridge(Docker NAT模式)模式 SDN(Software Defined Networking)
无网络模式只能使用于单机,这个意义不大。Host模式下容器是共用宿主机网络,容器安全/权限控制等同宿主机,风险较高。Bridge是二层网络模式,SDN是三层虚拟网络,比如Flannel、Calico、weave等。一般来说推荐使用Bridge就可以了,其示意图如下:

关于容器间的网络通信,同一个Pod的容器共享同一个网络命名空间,它们之间的访问可以用localhost地址+容器端口就可以访问,示意图如下:

那么不同Node中Pod间通信,首先Pod的IP不能冲突,其次需要将Pod的IP和所在的Node的IP关联起来,通过这个关联让Pod可以互相访问,示意图如下:

关于kubernetes核心概念和网络就说到这里。
文章转载自Alleria Windrunner,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




