Istio-GKE-gRPC配置流已关闭;上游连接错误或在标头之前断开连接/重置。重置原因:连接失败

时间:2019-05-11 22:03:44

标签: spring-boot google-kubernetes-engine istio

到目前为止,我正在尝试使用istio 1.1.5最新版本在GKE Cluster中启动spring boot micro服务。它引发错误,并且pod永不旋转。如果我在Kubernetes引擎中将其作为单独的服务运行,则它可以完美运行,但与isito一起使用时,它将不起作用。使用istio的目的是托管多个微服务并使用istio提供的功能。这是我的yaml文件:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: revenue  
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: revenue-serv
        tier: backend
        track: stable
    spec:
      containers:
        - name: backend
          image: "gcr.io/finacials/revenue-serv:latest"
          imagePullPolicy: Always
          ports:
          - containerPort: 8081
          livenessProbe:
              httpGet:
                path: /
                port: 8081
              initialDelaySeconds: 15
              timeoutSeconds: 30 
          readinessProbe:
              httpGet:
                path: /
                port: 8081
              initialDelaySeconds: 15
              timeoutSeconds: 30
---
apiVersion: v1
kind: Service
metadata:
  name: revenue-serv
spec:
  ports:
    - port: 8081
      #targetPort: 8081
      #protocol: TCP
      name: http 
  selector:
    app: revenue-serv
    tier: backend
  type: LoadBalancer
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: gateway
  annotations:
    kubernetes.io/ingress.class: "istio"
spec:
  rules:
  - http:
      paths:
      - path: /revenue/.*
        backend:
          serviceName: revenue-serv
          servicePort: 8081

感谢您的宝贵反馈。

1 个答案:

答案 0 :(得分:1)

我发现了问题。我删除了readynessProbe和livenessProbe,并创建了入口网关和虚拟服务。奏效了。

部署和服务:

#########################################################################################
# This is for deployment - Service & Deployment in Kubernetes            ################
# Author: Arindam Banerjee                                               ################
#########################################################################################

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: revenue-serv
  namespace: dev  
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: revenue-serv
        version: v1
    spec:
      containers:
        - name: revenue-serv
          image: "eu.gcr.io/rcup-mza-dev/revenue-serv:latest"
          imagePullPolicy: Always
          ports:
          - containerPort: 8081
---
apiVersion: v1
kind: Service
metadata:
  name: revenue-serv
  namespace: dev    
spec:
  ports:
    - port: 8081      
      name: http 
  selector:
    app: revenue-serv

gateway.yaml

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: worldcup-serv-gateway
  namespace: dev
spec:
  selector:
    istio: ingressgateway # use istio default controller
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"

virtual-service.yaml

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: revenue-serv-virtualservice
  namespace: dev  
spec:
  hosts:
  - "*"
  gateways:
  - revenue-serv-gateway
  http:
  - route:
    - destination:
        host: revenue-serv