在kubernetes中部署eureka时,我更喜欢指定liveness probe和readiness probe的端口是什么

在kubernetes中部署eureka时,我更喜欢指定liveness probe和readiness probe的端口是什么,kubernetes,Kubernetes,我正在kubernetes集群(v1.15.2)中部署eureka,这是我的yaml: apiVersion: v1 kind: Service metadata: name: eureka labels: app: eureka spec: clusterIP: None ports: - name: server port: 8761 targetPort: 8761 - name: management port:

我正在kubernetes集群(v1.15.2)中部署eureka,这是我的yaml:

apiVersion: v1
kind: Service
metadata:
  name: eureka
  labels:
    app: eureka
spec:
  clusterIP: None
  ports:
    - name: server
      port: 8761
      targetPort: 8761
    - name: management
      port: 8081
  selector:
    app: eureka
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: eureka
  labels:
    app: eureka
spec:
  serviceName: eureka-service
  replicas: 1
  podManagementPolicy: Parallel     #Pod启停顺序管理
  selector:
    matchLabels:
      app: eureka
  template:
    metadata:
      labels:
        app: eureka
    spec:
      terminationGracePeriodSeconds: 10    #当删除Pod时,等待时间
      containers:
        - name: eureka
          image: registry.cn-hangzhou.aliyuncs.com/dabai_app_k8s/dabai_fat/soa-eureka:v1.0.0
          ports:
            - name: server
              containerPort: 8761
            - name: management
              containerPort: 8081
          env:
            - name: APP_NAME
              value: "eureka"
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: APP_OPTS
              value: "
                     --spring.application.name=${APP_NAME}
                     --eureka.instance.hostname=${POD_NAME}.${APP_NAME}
                     --registerWithEureka=true
                     --fetchRegistry=true
                     --eureka.instance.preferIpAddress=false
                     --eureka.client.serviceUrl.defaultZone=http://eureka-0.${APP_NAME}:8761/eureka/,http://eureka-1.${APP_NAME}:8761/eureka/
                     "
          resources:
            limits:
              cpu: 2000m
              memory: 1024Mi
            requests:
              cpu: 2000m
              memory: 1024Mi
          readinessProbe:              #就绪探针
            initialDelaySeconds: 20    #延迟加载时间
            periodSeconds: 5           #重试时间间隔
            timeoutSeconds: 10         #超时时间设置
            failureThreshold: 5        #探测失败的重试次数
            httpGet:
              path: /actuator/health
              port: 8081
          livenessProbe:               #存活探针
            initialDelaySeconds: 60    #延迟加载时间
            periodSeconds: 5           #重试时间间隔
            timeoutSeconds: 5          #超时时间设置
            failureThreshold: 3        #探测失败的重试次数
            httpGet:
              path: /actuator/health
              port: 8081
已成功创建所有服务,但给出以下错误消息:

Readiness probe failed: Get http://172.30.224.17:8081/actuator/health: dial tcp 172.30.224.17:8081: connect: connection refused
Back-off restarting failed container

管理端口应与eureka服务端口相同?要实现探测服务,我应该做些什么?

Eureka服务器是一个spring引导应用程序,它启动一个嵌入式tomcat,您可以在Eureka服务器的application.yml中指定端口。默认端口设置为8761。您可以将8761端口用于probe,这是我的建议。您需要在
exactor/health
处有一个rest端点,它返回
200ok
,我相信这是由spring-exactor默认添加的,所以您不需要自己实现它


简而言之,在探测器中将端口从8081更改为8761应该可以工作。

Eureka server是一个spring引导应用程序,它启动嵌入式tomcat,您可以在Eureka server的application.yml中指定端口。默认端口设置为8761。您可以将8761端口用于probe,这是我的建议。您需要在
exactor/health
处有一个rest端点,它返回
200ok
,我相信这是由spring-exactor默认添加的,所以您不需要自己实现它

简而言之,将探头中的端口从8081更改为8761应该可以工作