You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Red Hat 9.0环境下Kubespray部署Kubernetes后Service curl超时求助

Kubernetes Service访问超时问题排查(Red Hat 9.0 vs 8.6)

1. 防火墙规则差异排查

Red Hat 9.0默认使用nftables而非iptables,Kubespray的iptables规则可能未正确适配:

  • 检查节点防火墙开放规则:
    firewall-cmd --list-all
    
    对比Red Hat 8.6节点的规则,确保NodePort端口(31348)或Kubernetes集群网段被允许通过。
  • 验证Kubernetes相关iptables链是否存在:
    iptables-save | grep KUBE-SVC
    
    若缺失对应Service的规则,需检查kube-proxy日志或重新部署CNI插件。

2. 内核网络参数验证

Red Hat 9.0内核版本更高,部分默认参数可能影响Kubernetes网络转发:

  • 检查关键转发参数:
    sysctl net.ipv4.ip_forward net.bridge.bridge-nf-call-iptables net.bridge.bridge-nf-call-ip6tables
    
    确保所有参数值为1,若存在差异,编辑/etc/sysctl.d/99-kubernetes.conf并执行sysctl --system生效。

3. Kubespray版本与配置适配

确认Kubespray版本对Red Hat 9.0的支持性:

  • 检查使用的Kubespray版本是否兼容RHEL 9,建议使用v2.21.0及以上版本(官方已明确支持RHEL 9)。
  • 核对inventory配置中的网络插件参数(如kube_network_plugin: calico),部分插件在RHEL 9下需调整配置(如Calico的BPF模式兼容性)。
  • 查看部署日志中是否存在网络相关错误:
    grep -i "error" /path/to/kubespray/logs/ansible.log
    

4. Service与Pod状态验证

排除应用层面问题:

  • 确认Pod正常运行且IP可达:
    kubectl get pods -o wide
    curl <pod-ip>:<pod-port>
    
  • 检查Service关联的Endpoint状态:
    kubectl describe service <your-service-name>
    
    确保Endpoints字段显示正常的Pod IP和端口,若为空则说明Service与Pod标签匹配错误。

5. NodePort端口监听检查

验证kube-proxy是否正确监听NodePort:

  • 检查Kubernetes NodePort端口范围配置:
    kubectl get configmap kube-proxy -n kube-system -o yaml | grep nodePortRange
    
    默认范围为30000-32767,确认31348在范围内。
  • 检查节点上端口监听状态:
    ss -tulpn | grep 31348
    
    若未发现kube-proxy进程监听该端口,需重启kube-proxy或重新部署。

内容的提问来源于stack exchange,提问作者SPK-Korn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 19:37:08