Ошибка rpc: code = Unknown desc = Постоянно перемещено: код состояния HTTP 301 - PullRequest
0 голосов
/ 27 мая 2019

У меня GRPC-сервис, написанный на go, и мне нужно развернуть сервис поверх AWS-EKS, мы используем nginx-ingress и cloudflare для указания на наш кластерный шлюз (nginx).

, но когдая попытался развернуть службу и проверить ее с помощью этой команды grpcurl grpc.fd-admin.com:443 list я всегда получаю следующую ошибку:

Failed to list services: rpc error: code = Unknown desc = Moved Permanently: HTTP status code 301; transport: missing content-type field

И вот что я сделал для ресурсов kubernetes:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: grpc
  labels:
    k8s-app: grpc
spec:
  replicas: 1
  template:
    metadata:
      labels:
        k8s-app: grpc
    spec:
      containers:
      - name: grpc
        image: quay.io/kubernetes-ingress-controller/grpc-fortune-teller:0.1
        ports:
        - containerPort: 50051
          name: grpc
---
apiVersion: v1
kind: Service
metadata:
  name: grpc
  namespace: grpc
spec:
  selector:
    k8s-app: grpc
  ports:
  - port: 50051
    targetPort: 50051
    protocol: TCP
    name: grpc
  type: ClusterIP
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
  name: grpc
  namespace: grpc
spec:
  rules:
  - host: grpc.fd-admin.com
    http:
      paths:
      - backend:
          serviceName: grpc
          servicePort: grpc
  tls:
  - secretName: grpc
    hosts:
      - grpc.fd-admin.com

Так может ли кто-нибудь объяснить, почему я получил эту ошибку или по каким причинам это может быть причиной такой ошибки?

1 Ответ

0 голосов
/ 28 мая 2019

Попробуйте ниже аннотации входа nginx,

kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
    nginx.ingress.kubernetes.io/grpc-backend-for-port: "grpc"
  name: grpc
...