如何从Kubernetes中的另一个名称空间访问服务

时间:2020-05-06 23:00:23

标签: kubernetes kubernetes-service

我下面有zipkin部署和服务,您可以看到zipkin位于监视名称空间下,我在每个在默认名称空间下运行的pod中都有一个名为 ZIPKIN_URL 的环境变量, varibale使用此URL http://zipkin:9411/api/v2/spans ,但是由于zipkin在另一个名称空间中运行,我尝试这样做:

http://zipkin.monitoring.svc.cluster.local:9411/api/v2/spans

我也尝试过这种格式:

http://zipkin.monitoring:9411/api/v2/spans

但是当我查看Pod的日志时,我看到连接被拒绝异常

当我进入一个豆荚并尝试卷曲http://zipkin.tools.svc.cluster.local:9411/api/v2/spans

它向我显示缺少必填参数:serviceNameroot

以下是zipkin资源:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: zipkin
  namespace: monitoring
spec:
  template:
    metadata:
      labels:
        app: zipkin
    spec:
      containers:
      - name: zipkin
        image: openzipkin/zipkin:2.19.3
        ports:
        - containerPort: 9411

---

apiVersion: v1
kind: Service
metadata:
  name: zipkin
  namespace: monitoring
spec:
  selector:
    app: zipkin
  ports:
    - name: http
      port: 9411
      protocol: TCP
  type: ClusterIP

1 个答案:

答案 0 :(得分:0)

您所拥有的是正确的,您的问题很可能不是DNS。您可以通过仅进行DNS查找并将其与服务IP进行比较来确认。