ks8的网络插件类型flannel和calico

目录

概念

CNI的网络插件

flannel网络插件

calico网络插件

calico的安装


概念

因为ks8本身不自带网络,所以依赖于CNI网络插件(flannel、calico)

CNI:是一个标准接口,用于容器在运行时调用网络插件、配置容器的网络。CNI负责设置容器的网络命名空间、ip地址、路由等网络参数。

通信的核心:pod的ip地址进行封装,然后通过node节点作为路由器转发到其他的node节点,其他的node节点收到数据包之后解包,然后把数据包转发到指定的pod。

k8s的三种通信方式:

1. pod内部的网络通信

pod内部容器的通信:pod创建完成之后,集群会分配pod一个全局(集群内部的全局)的唯一ip地址,所有的容器共享这个ip地址。pod内部可以用本地通信+端口形式互相通信

2. 同一个node节点上的pod通信

依赖于docker 0网桥。也就是同一个节点上的pod和docker的通信方式是一样的。

3.不同node节点上pod之间通信

想办法通过主机的物理网卡ip进行通信

先决条件:1.pod的ip地址不能冲突

                  2.pod的ip地址要和node节点的ip地址进行关联

CNI的网络插件

flannel网络插件

它是一种overlay网络,overlay是一种网络虚拟化技术,在底层的物理网络基础之上创建一个逻辑的网络层。从而实现跨节点的pod之间的通信。

功能:让集群中不同节点创建的pod都有集群内部唯一的ip地址(虚拟)

flannel数据转发的方式:UDP、VXLAN(主流)、HOST-GW(主机模式)

VXLAN:基于内核进行转发

UDP:flannel默认方式,是基于应用层转发,配置最简单,但性能最差

HOST-GW:性能最好,但是配置繁琐

如何识别:

用命令ifconfig,UDP的是flannel.0    VXLAN的是flannel.1

vxlan和vlan的区别:

vlan是通过标识来实现广播域的划分,不同的vlan之间可以通信,2-4095 它有4094个

vxlan:它也有标识vni,主要用于数据中心进行广域网的划分。是通过三层网络搭建一个虚拟的二层网络

vxlan工作模式:

calico网络插件

它使用host主机作为路由器,使用BGP同步路由以及iptables来做网络。就是把host主机当做一个路由器,采用直接路由的方式实现。损耗低,也不需要修改数据包的报文,但是pod太多,路由表比较复杂,所以维护起来比较麻烦,它适用于大集群的复杂网络模式。

calico网络创建之后,会生成veth-pair虚拟设备,veth-pair也是一个虚拟的网卡。calico连接两头:一头设备连接pod的网络空间,一头连接主机的网络空间。calico通过Linux的网络命令空间和路由表实现容器之间的通信。

calico工作模式:

面试题:介绍flannel和calico

flannel插件:默认的地址是10.244.0.0/16。它有三种模式:UDP、VXLAN、HOST-GW。它的功能简单,不具备复杂的网络策略的配置能力。适用于小集群或者简单的网络。

calico插件:模式是BGP直接路由模式,它的核心是路由维护,路由转发。它的默认网段:192.168.0.0/16。calico是一个可以对网络管理的插件,具备配置复杂网络配置的能力。但是本身的配置比较复杂,对开发人员、运维人员要求比较高。需要复杂配置的可以使用calico。

calico的安装

在master01主机上操作

拖入calico.yaml拖入master01

vim calico.yaml

修改为

如果没有镜像可以下载一个:docker pull docker.io/calico/node:v3.20.2

kubectl apply -f calico.yaml

这三个变成1/1即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值