
aojea/kindnetdKindnet是一个适用于Kubernetes集群的简单CNI(容器网络接口)插件,核心目标是提供支持IPv4、IPv6及双栈网络的集群网络功能,实现Kubernetes集群网络要求。该项目源于现有CNI插件普遍缺乏IPv6支持,且缺乏自动创建多节点IPv6 Kubernetes集群的解决方案。
Kindnet仅适用于"简单"网络环境,即所有集群节点属于同一子网。随着功能演进,它已集成ipmasq代理,目前是KIND(Kubernetes IN Docker)的默认CNI插件。所有稳定代码已迁移至KIND项目中,本仓库仅用于新功能开发及在"真实"集群中进行实验。
Kindnet使用以下标准CNI插件:
ipRanges功能为Pod子网提供动态配置此外,Kindnet包含名为kindnetd的守护进程,具备以下功能:
/etc/cni/net.d/10-kindnet.conflist文件配置CNI插件通过以下命令使用官方manifest安装Kindnet:
bashkubectl create -f [***]
若需使用bridge插件而非默认的ptp,可通过设置kindnet-cni容器的CNI_BRIDGE环境变量实现,直接使用专用manifest:
bashkubectl create -f [***]
Kindnet安装manifest包含一个初始化容器,负责将CNI二进制文件部署到/opt/cni/bin/目录。若需手动安装CNI二进制文件,可移除manifest中的初始化容器,然后执行以下步骤:
bashexport ARCH="amd64" export CNI_VERSION="v1.1.1" export CNI_TARBALL="${CNI_VERSION}/cni-plugins-linux-${ARCH}-${CNI_VERSION}.tgz" export CNI_URL="[***]{CNI_TARBALL}" curl -sSL --retry 5 --output /tmp/cni.tgz "${CNI_URL}" mkdir -p /opt/cni/bin tar -C /opt/cni/bin -xzf /tmp/cni.tgz rm -rf /tmp/cni.tgz
kindnet-cni容器中配置
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务