如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Flannel 是一种简单易用的三层网络 fabric 配置方式,专为 Kubernetes 设计。
Flannel 在每台主机上运行一个名为 flanneld 的小型单二进制代理,负责从预先配置的更大地址空间中为每台主机分配子网租约。
Flannel 要么使用 Kubernetes API,要么直接使用 etcd 存储网络配置、已分配的子网以及任何辅助数据(例如主机的公网 IP)。
数据包通过多种 后端机制 之一进行转发,包括 VXLAN 和各种云集成。
像 Kubernetes 这样的平台假设每个容器(pod)在集群内都有一个唯一的、可路由的 IP。 这种模型的优势在于,它消除了因共享单个主机 IP 而产生的端口映射复杂性。
Flannel 负责在集群中的多个节点之间提供三层 IPv4 网络。Flannel 不控制容器如何与主机联网,只控制主机之间的流量传输方式。不过,Flannel 确实为 Kubernetes 提供了 CNI 插件,并提供了与 Docker 集成的指导。
Flannel 专注于网络功能。对于网络策略,可以使用 Calico 等其他项目。
在 Kubernetes 上部署 Flannel 最简单的方法是使用默认通过 Flannel 为集群提供网络的多种部署工具和发行版之一。例如,K3s 使用开源的 https://github.com/k3s-io/k3s/#quick-start---install-script 驱动设置过程,在其创建的 Kubernetes 集群中设置 Flannel。
虽然非必需,但建议 Flannel 使用 Kubernetes API 作为其后端存储,这样可以避免为 flannel 部署独立的 etcd 集群。这种 flannel 模式被称为 kube 子网管理器。
Flannel 可以添加到任何现有的 Kubernetes 集群,但最简单的方法是在启动任何使用 pod 网络的 pod 之前添加 flannel。
适用于 Kubernetes v1.17+
使用 kubectl 部署 Flannel
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
如果使用自定义 podCIDR(非 10.244.0.0/16),则需要先下载上述清单并修改网络以匹配您的 podCIDR。
使用 Helm 部署 Flannel
# 需要手动创建命名空间以避免 Helm 错误
kubectl create ns kube-flannel
kubectl label --overwrite ns kube-flannel pod-security.kubernetes.io/enforce=privileged
helm repo add flannel https://flannel-io.github.io/flannel/
helm install flannel --set podCidr="10.244.0.0/16" --namespace kube-flannel flannel/flannel
有关更多详情,请参见 Kubernetes。
如果配置了防火墙,请确保启用已配置 后端 使用的正确端口。
Flannel 默认使用 portmap 作为 CNI 网络插件;部署 Flannel 时,确保 https://github.com/containernetworking/plugins 已安装在 /opt/cni/bin 中,最新二进制文件可通过以下命令下载:
ARCH=$(uname -m)
case $ARCH in
armv7*) ARCH="arm";;
aarch64) ARCH="arm64";;
x86_64) ARCH="amd64";;
esac
mkdir -p /opt/cni/bin
curl -O -L https://github.com/containernetworking/plugins/releases/download/v1.7.1/cni-plugins-linux-$ARCH-v1.7.1.tgz
tar -C /opt/cni/bin -xzf cni-plugins-linux-$ARCH-v1.7.1.tgz
Flannel 需要 br_netfilter 模块才能启动,并且从 kubeadm 1.30 版本开始,kubeadm 不再检查该模块是否已安装,如果缺少该模块,Flannel 将无法正常启动。
Flannel 在 Kubernetes 之外也被广泛使用。在 Kubernetes 之外部署时,etcd 始终用作数据存储。有关将 Flannel 与 Docker 集成的更多详情,请参见 运行。
Flannel 维护者社区每月第三个星期四上午 8:30 PST(16:30 UTC)举行会议。该会议用于讨论问题、开放的拉取请求以及其他与 Flannel 相关的必要主题。
会议议程和 Teams 链接可在此处找到:Flannel 社区会议议程
有关提交补丁和贡献工作流的详情,请参见 CONTRIBUTING。
有关报告任何问题的详情,请参见 报告缺陷。
对于安全问题,请首先查看我们的 安全策略。
Flannel 采用 Apache 2.0 许可。有关详情,请参见 https://github.com/flannel-io/flannel/blob/master/LICENSE 文件。
来自真实用户的反馈,见证轩辕镜像的优质服务