V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JoeBreeze
V2EX  ›  Kubernetes

新手有个问题: go 写的 grpc 服务, 部署到 k8s-ingress, 客户端调用报错 DNS resolution failed for service

  •  
  •   JoeBreeze · 2022-01-19 10:25:47 +08:00 · 1314 次点击
    这是一个创建于 800 天前的主题,其中的信息可能已经有所发展或是发生改变。

    服务端

    deployment.yaml

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: go-grpc-server-demo
      namespace: default
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: go-grpc-server-demo
      template:
        metadata:
          labels:
            app: go-grpc-server-demo
        spec:
          containers:
            - name: go-grpc-server-demo
              image: <reponame>/go-grpc-server-demo
              imagePullPolicy: Always
          imagePullSecrets:
            - name: image-pull-secret-default
    

    ingress.yaml

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: go-grpc-server-demo
      namespace: default
      annotations:
        nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
        nginx.ingress.kubernetes.io/ssl-redirect: "true"
    spec:
      ingressClassName: nginx
      tls:
        - hosts:
            - "grpc-demo.domain.com"
          secretName: tls-domain-com
      rules:
        - host: grpc-demo.domain.com
          http:
            paths:
              - path: /
                backend:
                  serviceName: traefik
                  servicePort: 80
    

    service.yaml

    apiVersion: v1
    kind: Service
    metadata:
      name: go-grpc-server-demo
      namespace: default
      labels:
        service: go-grpc-server-demo
    spec:
      ports:
        - port: __PORT__
          protocol: TCP
          targetPort: __PORT__
      selector:
        app: go-grpc-server-demo
      type: ClusterIP
    

    server.go

    https://github.com/grpc/grpc-go/blob/91e0aeb192456225adf27966d04ada4cf8599915/examples/features/reflection/server/main.go

    zwpaper
        1
    zwpaper  
       2022-01-19 11:30:40 +08:00
    首先得确认,你客户端是在集群里还是集群外,看你部署了 Ingress ,猜测是在集群外,那 Ingress 本来也不帮你解决 DNS 的问题,你得自己加 Host 或者配置 DNS 解析
    JoeBreeze
        2
    JoeBreeze  
    OP
       2022-01-19 11:33:33 +08:00
    @zwpaper #1 是的是的! 已经解决留了.. 配置了一下 DNS, 我傻了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2797 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:30 · PVG 21:30 · LAX 06:30 · JFK 09:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.