尝试与 Jaeger 代理守护进程通信时 EKS 连接被拒绝

EKS connection refused when trying to talk to Jaeger agent daemonset

我最近将 jaeger 代理部署为我的 k8s 集群上的守护进程和一个收集器。尝试使用以下方式向代理发送跨度时:

- name: JAEGER_AGENT_HOST
  valueFrom:
    fieldRef:
      fieldPath: status.hostIP

在查看应用程序日志时,我看到:

failed to flush Jaeger spans to server: write udp <Pod-Ip>:42531-><Node-Ip>:6831: write: connection refused

所有节点都可以相互访问,因为安全组不会阻止它们之间的端口,当使用 sidecar 代理时,跨度发送没有问题。

复制:

使用以下方式部署代理:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: jaeger-agent
  labels:
    app: jaeger
    app.kubernetes.io/name: jaeger
    app.kubernetes.io/component: agent
  namespace: observability
spec:
  selector:
    matchLabels:
      app: jaeger
      app.kubernetes.io/name: jaeger
      app.kubernetes.io/component: agent
  template:
    metadata:
      labels:
        app: jaeger
        app.kubernetes.io/name: jaeger
        app.kubernetes.io/component: agent
    spec:
      containers:
      - name: jaeger-agent
        image: jaegertracing/jaeger-agent:1.18.0
        args: ["--reporter.grpc.host-port=<collector-name>:14250"]
        ports:
          - containerPort: 5775
            protocol: UDP
          - containerPort: 6831
            protocol: UDP
          - containerPort: 6832
            protocol: UDP
          - containerPort: 5778
            protocol: TCP

然后部署 hotrod 应用程序:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: hotrod
  labels:
    app: hotrod
    version: v1
spec:
  replicas: 1
  selector:
    matchLabels:
      app: hotrod
  template:
    metadata:
      labels:
        app: hotrod
    spec:
      containers:
      - name: hotrod
        image: jaegertracing/example-hotrod:latest
        imagePullPolicy: Always
        env:
          - name: JAEGER_AGENT_HOST
            valueFrom:
              fieldRef:
                fieldPath: status.hostIP
        ports:
          - containerPort: 8080

看起来您的 DaemonSet 缺少 hostNetwork 属性,无法在节点 IP 上侦听。 您可以查看该文章以获取更多信息:https://medium.com/@masroor.hasan/tracing-infrastructure-with-jaeger-on-kubernetes-6800132a677