kubernetes cni 网络插件调试

kubernetes cni 网络插件调试

最近搭建k8s集群的时候使用的网络插件是 bridge + host-local

关于cni插件

安装kubelet的时候会有一个kubernetes-cni-version-0.x86_64.rpm的依赖文件,安装了之后会在/opt/cni/bin下面会有各种网络插件

# rpm -qpl kubernetes-cni-0.7.5-0.x86_64.rpm
warning: kubernetes-cni-0.7.5-0.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 3e1ba8d5: NOKEY
/opt/cni
/opt/cni/bin
/opt/cni/bin/bridge
/opt/cni/bin/dhcp
/opt/cni/bin/flannel
/opt/cni/bin/host-device
/opt/cni/bin/host-local
/opt/cni/bin/ipvlan
/opt/cni/bin/loopback
/opt/cni/bin/macvlan
/opt/cni/bin/portmap
/opt/cni/bin/ptp
/opt/cni/bin/sample
/opt/cni/bin/tuning
/opt/cni/bin/vlan

所有的cni插件在 spec-v0.3.1之前只实现两个接口 add, del。在spec-v0.4.0之后会在del之前执行check,所以多了一个check接口。

版本差异:Container Network Interface Specification

配置文件使用的cni版本

cni插件使用的插件配置地址/etc/cni/net.d/下面的文件,根据排序取第一个

配置文件信息

# cat /etc/cni/net.d/cni.conf
{
    "cniVersion": "0.3.1",
    "name": "mynet",
    "type": "bridge",
    "bridge": "cni0",
    "isDefaultGat
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes CNI(Container Networking Interface)模型是Kubernetes中用于管理容器网络的一种标准化件接口。它定义了容器运行时和网络件之间的通信协议和规范,使得不同的网络件能够与Kubernetes集群进行无缝集成。 在CNI模型中,每个容器都会被分配一个独立的IP地址,并且可以通过网络件进行跨节点的通信。以下是CNI模型的主要组成部分: 1. 容器运行时(Container Runtime):负责创建和管理容器的运行环境,比如Docker、containerd等。 2. CNI件(CNI Plugin):负责配置和管理容器网络件,根据CNI规范进行网络设置。它可以是第三方开发的件,也可以是Kubernetes自带的件,比如Flannel、Calico等。 3. CNI件配置文件(CNI Configuration File):定义了容器网络的配置信息,包括网络类型、IP地址分配方式、网关等。 4. CNI二进制文件(CNI Binary):包含了执行网络设置的二进制文件,负责调用对应的CNI件来完成容器网络的配置。 在Kubernetes中,当一个Pod被创建时,CNI件会被调用来为Pod中的每个容器分配独立的IP地址,并配置网络规则,使得Pod内的容器可以相互通信。此外,CNI件还可以与网络件结合使用,实现跨节点的网络通信。 总的来说,Kubernetes CNI模型定义了容器网络的配置和管理规范,通过件接口的标准化,实现了多种网络件与Kubernetes集群的无缝集成。这使得用户可以根据自己的需求选择合适的网络件,并灵活地管理容器网络
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值