博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
k8s网络-容器网络
阅读量:5742 次
发布时间:2019-06-18

本文共 1457 字,大约阅读时间需要 4 分钟。

k8s网络

1.容器网络 pod
每个POD分配单独的Ip地址,IP-pre-Pod模型(IP以Pod为单位进行分配的,一个Pod一个IP的设计模型)
每个容器也可以称为pod,pod中有个pause容器,pause可以接入网络,并且共享网络给pod中其他容器,每个POD分配单独的Ip地址,在pod中每个容器共享自己的IP
对于k8s来说,我们搭建的网络,每一个node有自己的子网,所有的子网形成一个大的子网,实现网络互连
流向来说,通过pod暴露出的port流向外部的bridge或者说host上,通过host上的iptables或者其他方式路由到其他节点
使用container network interface 标准,由cncf基金会推出,主要是统一整个容器网络API,k8s主要是使用CNI插件来组件自己的容器网络,
当POD创建销毁时,k8s agent会调用CNI插件接口生成网络配置,
创建container(POD)可以生成IP地址,把container接入bridge,去生成container到其他节点的路由,删除container时,会把IP地址回收,处理network namespace回收
CNI也会在container里面生成虚拟网卡(NIC 全称:Network Interface Card),把它和container(POD)的namespace关联,从而container可以使用由CNI提供的IP

CNI创建网络1:

Kubelet runtime 也就是kubelet收到创建pod请求以后,会先生成pause的container,为pause的container创建一个network namespace,把它(network namespace)关联到pause container上面
CNI创建网络2:
触发CNI插件,触发插件时,把CNI的configuration load给这个CNI的插件,并且传递给其他环境变量,现在做的action是什么,已经创建的network namespace是什么,interface是什么

CNI创建网络3:

收到参数后开始创建网络,使用bridge plugin CNI例子来讲,
1.先创建单独的bridge出来,然后去创建虚拟以特网接口veth pair,把它和network namespace 连接起来,
2.同时它(CNI)会调用ipam(IP地址的分配),获取空闲IP分配给container,
3.CNI会切换到container的network namespace里,把ip地址设置在 container的network interface上

Network agent不仅需要CNI的plugin还需要daemon,不同的厂家都会实现不同的network agent,它去保证从这个IP会方便的路由到不同节点

calico:基于容器的网络,也可以openstack 用linux的内核转发机制,使用3层路由协议,实现container的互连

k8s上,calico会创建agent,calico cni插件,通过BGP协议路由表

fannel:使用overloay,container连上flannel 0这个上,不同的flannel angent 通过UDP互连,有性能影响,在原来的ip包上封装

NSX-t:使用2层转发,使用openVswitch做2层转发,需要运行openVswitch的服务

转载地址:http://rzszx.baihongyu.com/

你可能感兴趣的文章
用Bootstrap写一份简历
查看>>
ZJU PAT 1023
查看>>
WMI远程访问问题解决方法
查看>>
从零开始学习IOS,(UILabel控件)详细使用和特殊效果
查看>>
Android开发历程_15(AppWidget的使用)
查看>>
阿花宝宝 Java 笔记 之 初识java
查看>>
7、设计模式-创建型模式-建造者模式
查看>>
Cesium官方教程11--建模人员必读
查看>>
我国古代的勾股定理
查看>>
Linux下的C编程实战
查看>>
[32期] html中部分代码与英语单词关系
查看>>
PHP安装环境,服务器不支持curl_exec的解决办法
查看>>
jQuery|元素遍历
查看>>
RedHat 6 安装配置Apache 2.2
查看>>
Openstack 安装部署指南翻译系列 之 Manila服务安装(Share Storage)
查看>>
underscore.js学习笔记
查看>>
windows下常用命令
查看>>
1.5编程基础之循环控制_29:数字反转
查看>>
组策略 之 设备安装设置
查看>>
人工智能还能干这些?这8种AI应用你可能意想不到
查看>>