[英]what should I prefer to specify port about liveness probe and readiness probe when deploy eureka in 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: 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 Boot 應用程序,它啟動一個嵌入式 tomcat,您在 Eureka 服務器的 application.yml 中指定端口。 默認端口設置為 8761。您可以使用 8761 端口進行探測,這就是我推薦的。 您需要在actuator/health
處有一個休息端點,它返回200 Ok
,我相信默認情況下是由彈簧執行器添加的,因此您不需要自己實現它。
簡而言之,將探針中的端口從 8081 更改為 8761 應該可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.