Kubernetes、Cilium、Istio、MetalLB、系统服务等 TCP/UDP 端口说明

目录标题

  • 📌 Kubernetes 集群常用端口说明(TCP & UDP)
    • 🧩 Kubernetes 核心组件
    • 🕸️ Cilium 网络组件端口
    • 🌐 服务网格组件(Istio / Envoy)
    • ⚖️ 负载均衡组件(MetalLB)
    • 🌍 NodePort 服务端口(外部访问)
    • 🖥️ 基础系统服务
    • 🗄️ 数据库服务
    • 📊 监控与工具组件
    • 🌐 UDP 端口
      • 🛣️ 网络隧道
      • 🗨️ 集群通信
      • 🧭 系统服务

以下是你提供的 Kubernetes、Cilium、Istio、MetalLB、系统服务等 TCP/UDP 端口说明,整理为标准的 Markdown 格式,适合用于文档或 Wiki:


📌 Kubernetes 集群常用端口说明(TCP & UDP)

🧩 Kubernetes 核心组件

端口组件描述
6443kube-apiserverKubernetes API 服务器
2379/2380/2381etcd分布式键值存储(集群配置与状态)
10248kubelet健康检查端口
10250kubeletAPI 主要通信端口
10257kube-controller-manager控制器管理
10259kube-scheduler调度器服务

🕸️ Cilium 网络组件端口

端口组件描述
4240cilium-agent主代理端口
4244cilium-agent健康检查 & 调试
9879cilium-agent健康检查端点
9962cilium-agentPrometheus 指标采集
9964cilium-agentgRPC API
9965cilium-agentNode 级 Prometheus 指标
9234cilium-operatorOperator 指标
9891cilium-operator健康检查
9963cilium-operator额外指标采集端口
35171cilium-agent动态分配端口

🌐 服务网格组件(Istio / Envoy)

端口组件描述
21080envoy数据平面端口
21082envoy管理端口
15000envoy管理界面
15004pilot-agentXDS 服务发现
15020pilot-agent健康检查
15021envoy健康检查
15090envoyPrometheus 指标端口

⚖️ 负载均衡组件(MetalLB)

端口组件描述
7472speakerBGP / 控制平面
7946speaker集群成员通信(TCP/UDP)

🌍 NodePort 服务端口(外部访问)

端口映射描述
30064kibana-logging → 5601Kibana 日志界面
30065prometheus-master → 9090Prometheus 监控
30074grafana-system → 3000Grafana 仪表板
30081docker-proxy应用服务
32763hubble-ui → 80Cilium 网络可视化工具

🖥️ 基础系统服务

端口服务描述
22sshdSSH 远程登录
25postfix邮件服务监听
80nginxHTTP Web 服务
8080kubenurseK8s 健康检查服务
111rpcbindRPC 服务
640rpcbind额外 RPC 端口
60443nginx反向代理(HTTPS → K8s API)

🗄️ 数据库服务

端口服务描述
1521 / 1522tnslsnrOracle 数据库监听器

📊 监控与工具组件

端口服务描述
9200node_exporter节点监控指标
11112python3自定义监控服务
36311containerd容器运行时指标端口

🌐 UDP 端口

🛣️ 网络隧道

端口服务描述
8472VXLANKubernetes 网络隧道封装协议

🗨️ 集群通信

端口服务描述
7946speaker (MetalLB)成员通信(UDP)

🧭 系统服务

端口服务描述
111rpcbindRPC 服务
123chronydNTP 时间同步
323chronyd网络时间协议(辅助)
5353avahi-daemonmDNS 服务发现
48890avahi-daemon额外 mDNS 端口

如需导出为 .md 文件、.docx 文档或表格版本,也可以告诉我。

<think>我们正在配置Cilium的VXLAN隧道设备。根据用户的问题,他希望在Cilium中指定VXLAN隧道设备。在Cilium中,我们可以通过修改ConfigMap来配置VXLAN隧道设备。 根据引用[1]和引用[3],VXLAN是一种覆盖网络技术,用于在底层三层网络上构建虚拟二层网络。Cilium使用VXLAN作为其隧道模式之一,以实现跨节点的Pod通信。 在Cilium中,配置VXLAN隧道设备主要涉及以下几个参数: 1. `tunnel`: 指定隧道协议,设置为`vxlan`。 2. `devices`: 指定Cilium使用的网络设备(如eth0),Cilium将基于这些设备来设置VXLAN隧道。 3. 其他相关参数,如`ipv4-range`(Pod CIDR)等,以确保网络地址不冲突。 步骤: 1. 获取当前的Cilium ConfigMap。 2. 修改ConfigMap,添加或修改相关参数。 3. 应用新的ConfigMap并重启Cilium。 具体操作如下: 步骤1:编辑Cilium ConfigMap ```bash kubectl -n kube-system edit configmap cilium-config ``` 步骤2:在ConfigMap的data部分添加或修改以下参数: ```yaml data: tunnel: "vxlan" # 明确指定隧道协议为VXLAN devices: "eth0" # 指定Cilium使用的网络接口,多个接口用逗号分隔,如"eth0,eth1" # 如果需要,还可以指定Pod的CIDR,避免IP冲突 # ipv4-range: "10.217.0.0/16" # 注意:如果集群已经运行,修改Pod CIDR需要谨慎,可能需要重新部署Pod ``` 步骤3:保存退出,然后重启Cilium DaemonSet以应用更改: ```bash kubectl rollout restart ds/cilium -n kube-system ``` 验证配置: 1. 等待Cilium Pod重启完成。 2. 进入一个Cilium Pod,检查VXLAN设备状态: ```bash kubectl -n kube-system exec -it <cilium-pod-name> -- cilium status ``` 在输出中,你应该能看到类似这样的信息: ``` Tunnel: vxlan ``` 3. 还可以通过以下命令查看VXLAN隧道的详细设置(如引用[4]所示): ```bash kubectl -n kube-system exec -it <cilium-pod-name> -- cilium bpf vtep list ``` 注意事项: - 如果节点有多个网络接口,建议通过`devices`参数明确指定用于VXLAN隧道的接口,避免Cilium自动选择错误。 - 确保用于VXLAN隧道的网络接口具有唯一的IP地址,并且节点间可以通信。 - 如果之前因为地址冲突导致失败,在配置了`devices`后,应该可以避免冲突,因为Cilium会使用指定设备的IP地址作为VXLAN隧道的端点。 引用说明: [^1]: VXLAN是一种覆盖网络技术,用于在底层三层网络上构建虚拟二层网络。 [^3]: VXLAN使用24位的VNI来支持更多的二层网络。 [^4]: 可以使用`cilium bpf vtep list`命令查看VXLAN隧道设置。 如果配置后仍然遇到问题,请检查网络接口是否正确,以及是否仍然存在IP地址冲突。 现在,我们来生成相关问题:</think>### 在Cilium中配置VXLAN隧道设备的完整指南 在Cilium中配置VXLAN隧道设备需要修改ConfigMap或Helm值文件,以下是具体步骤和配置示例: #### 1. 通过ConfigMap配置(推荐) ```yaml # 编辑Cilium ConfigMap kubectl -n kube-system edit configmap cilium-config ``` 在`data`部分添加以下参数: ```yaml data: tunnel: "vxlan" # 明确指定隧道协议 devices: "eth0" # 指定主网络接口 vxlan-port: "8472" # 自定义VXLAN端口(默认8472) vxlan-adapter: "cilium_vxlan" # 自定义设备名(可选) auto-direct-node-routes: "false" # 禁用直接路由 ``` #### 2. 通过Helm安装时配置 ```bash helm install cilium cilium/cilium \ --namespace kube-system \ --set tunnel=vxlan \ --set devices='{eth0}' \ --set ipv4NativeRoutingCIDR=10.0.0.0/8 ``` #### 3. 关键参数说明 | 参数 | 默认值 | 说明 | |------|--------|------| | `tunnel` | geneve | **必须设为`vxlan`** | | `devices` | auto | 指定物理网卡(如`eth0`) | | `vxlan-port` | 8472 | VXLAN UDP端口 | | `vxlan-adapter` | cilium_vxlan | 虚拟设备名称 | | `auto-direct-node-routes` | true | VXLAN模式下需设为`false` | #### 4. 验证配置 ```bash # 检查Cilium状态 kubectl -n kube-system exec ds/cilium -- cilium status | grep Tunnel # 输出应显示: Tunnel: vxlan # 查看VXLAN设备详情 kubectl -n kube-system exec ds/cilium -- ip -d link show cilium_vxlan # 应显示: vxlan id 0 srcport 0 0 dstport 8472 # 检查VXLAN隧道端点 kubectl -n kube-system exec ds/cilium -- cilium bpf vtep list ``` #### 5. 高级配置示例 ```yaml # 多网卡环境配置 devices: "eth0,eth1" # 自定义VXLAN VNI(虚拟网络标识符) annotations: cilium.io/vxlan-vni: "10001" # 禁用TCP校验和卸载(解决某些网卡兼容问题) kubeProxyReplacement: strict bpf.masquerade: true ``` > **故障排除提示**:如果遇到`address already in use`错误,执行`sudo ip link del cilium_vxlan`删除残留设备后重启Cilium[^4]。 #### 6. 配置原理 Cilium VXLAN隧道的工作原理: 1. 在每个节点创建`cilium_vxlan`虚拟设备 2. 使用UDP端口8472封装二层帧 3. 通过VNI隔离不同集群的流量 4. 利用BGP或etcd维护VTEP(VXLAN Tunnel End Point)表[^3] 此配置使Cilium能在底层IP网络上创建覆盖网络,支持高达1600万虚拟网络(24位VNI空间),远超传统VLAN的4096限制[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值