k8s 服务连接被拒绝

时间:2021-06-18 05:23:50

标签: azure kubernetes

我有两个在 Azure 中运行的 k8s 集群。我想从集群 A 访问一个在集群 B 中公开的 IP。IP(10.148.157.253)通过负载均衡器在集群 B 中公开。 在集群 A 中,我创建了端点和服务。当我从我的一个豆荚 http://10.148.157.253:8080 卷曲时,我得到了结果。但是,当我卷曲服务 http://my-service.app.svc.cluster.local 时,连接被拒绝。以下是集群 A 的配置:

apiVersion: v1
kind: Service
metadata:
  name: my-service
  namespace: app
spec:
  ports:
    - name: http
      port: 80
      targetPort: 8080
---
apiVersion: v1
kind: Endpoints
metadata:
  name: my-service
  namespace: app
subsets:
 - addresses:
     - ip: 10.148.157.253
   ports:
     - port: 8080
       protocol: TCP

集群 B 中的负载均衡器如下所示:

apiVersion: v1
kind: Service
metadata:
  name: my-loadbalancer
  namespace: app
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: "true"
    service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "my-subnet"
spec:
  type: LoadBalancer
  loadBalancerIP: 10.148.157.253
  ports:
  - protocol: TCP
    port: 8080
  selector:
    app: my-app

您知道什么可能导致我可以卷曲负载均衡器 IP 而不能卷曲服务本身的问题吗?

1 个答案:

答案 0 :(得分:1)

真正解决问题的是另一个 ExternalName 类型的服务,它使用负载均衡器的 ip 作为 externalName。

apiVersion: v1
kind: Service
metadata:
  name: my-service
  namespace: app
spec:
  type: ExternalName
  externalName: 10.148.157.253