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

Splunk Connect for Kubernetes部分Pod陷入CrashLoopBackOff求助

问题排查:Splunk Connect for Kubernetes Pod CrashLoopBackOff(连接K8s API超时)

问题描述

通过Helm安装Splunk Connect for Kubernetes后,部分日志采集Pod陷入CrashLoopBackOff状态,集群内其余Pod运行正常。

Pod状态信息

NAME                                     READY   STATUS             RESTARTS   AGE   IP                NODE                NOMINATED NODE   READINESS GATES
lv-splunk-logging-5q9pf                  0/1     CrashLoopBackOff   12         47m   192.168.54.241    las2-m***31        <none>           <none>
lv-splunk-logging-nzzld                  0/1     CrashLoopBackOff   13         47m   192.168.97.152    las2-m***18        <none>           <none>
lv-splunk-logging-qjfgw                  0/1     CrashLoopBackOff   13         47m   192.168.178.41    aws-m****03         <none>           <none>
lv-splunk-logging-zmvxp                  0/1     CrashLoopBackOff   13         47m   192.168.11.174    las2-***11        <none>           <none>

Pod日志信息

2023-02-06 14:42:08 +0000 [info]: init supervisor logger path=nil rotate_age=nil rotate_size=nil
2023-02-06 14:42:08 +0000 [info]: parsing config file is succeeded path="/fluentd/etc/fluent.conf"
2023-02-06 14:42:08 +0000 [info]: gem 'fluentd' version '1.15.3'
2023-02-06 14:42:08 +0000 [info]: gem 'fluent-plugin-concat' version '2.4.0'
2023-02-06 14:42:08 +0000 [info]: gem 'fluent-plugin-jq' version '0.5.1'
2023-02-06 14:42:08 +0000 [info]: gem 'fluent-plugin-kubernetes_metadata_filter' version '3.1.0'
2023-02-06 14:42:08 +0000 [info]: gem 'fluent-plugin-prometheus' version '2.0.2'
2023-02-06 14:42:08 +0000 [info]: gem 'fluent-plugin-record-modifier' version '2.1.0'
2023-02-06 14:42:08 +0000 [info]: gem 'fluent-plugin-splunk-hec' version '1.3.1'
2023-02-06 14:42:08 +0000 [info]: gem 'fluent-plugin-systemd' version '1.0.2'
2023-02-06 14:42:08 +0000 [INFO]: Reading bearer token from /var/run/secrets/kubernetes.io/serviceaccount/token
2023-02-06 14:42:11 +0000 [error]: config error file="/fluentd/etc/fluent.conf" error_class=Fluent::ConfigError error="Invalid Kubernetes API v1 endpoint https://10.96.0.1:443/api: Timed out connecting to server"

排查与解决步骤

  1. 验证节点到K8s API Server的网络连通性

    • 登录故障Pod所在的节点,执行以下命令测试API Server连通性:
      curl -v https://10.96.0.1:443/api --cacert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt -H "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)"
      
    • 若出现超时,需排查:
      • 节点路由配置,确认能正常访问10.96.0.1(K8s API Server的ClusterIP)
      • 节点上的网络插件(如Calico、Flannel)是否正常运行
      • 节点防火墙/安全组是否放行443端口的出站流量
  2. 调整Fluentd Kubernetes元数据插件超时参数

    • 修改Helm values配置,增加API连接超时时间:
      fluentd:
        configFilters:
          kubernetes_metadata:
            api_timeout: 30
      
    • 执行Helm更新:
      helm upgrade lv-splunk-logging splunk/splunk-connect-for-kubernetes -f your-values.yaml -n <你的命名空间>
      
  3. 检查ServiceAccount权限配置

    • 确认Pod使用的ServiceAccount具备访问K8s API的权限:
      kubectl describe sa lv-splunk-logging -n <你的命名空间>
      kubectl describe clusterrole splunk-kubernetes-logging -n <你的命名空间>
      
    • 确保ClusterRole包含pods、namespaces等资源的get、list权限,若缺失需补充相应的RoleBinding/ClusterRoleBinding。
  4. 确认K8s API Server状态

    • 检查API Server组件是否正常运行:
      kubectl get pods -n kube-system | grep kube-apiserver
      
    • 若API Server存在异常,优先修复API Server问题后,再重启Splunk Connect的Pod:
      kubectl delete pod lv-splunk-logging-5q9pf lv-splunk-logging-nzzld lv-splunk-logging-qjfgw lv-splunk-logging-zmvxp -n <你的命名空间>
      

内容的提问来源于stack exchange,提问作者Kavita

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 19:10:29