k8s yaml文件
apiVersion: v1
kind: Service
metadata:
name: java-eureka
namespace: default
spec:
type: NodePort #这里代表是NodePort类型的
ports:
- port: 8761 #这里的端口和clusterIP对应,即ip:8080,供内部访问。
targetPort: 8761 #端口一定要和container暴露出来的端口对应
protocol: TCP
nodePort: 30012 # 所有的节点都会开放此端口,此端口供外部调用。
selector:
project: default
app: java-eureka
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: java-eureka
namespace: default
spec:
serviceName: java-eureka
replicas: 3
selector:
matchLabels:
project: default
app: java-eureka
template:
metadata:
labels:
project: default
app: java-eureka
spec:
terminationGracePeriodSeconds: 10 #当删除Pod时,等待时间
imagePullSecrets:
- name: aliyuncs-registry
dnsConfig:
options:
- name: ndots
value: "5"
containers:
- name: java-eureka
image: xxxx/java-activity-eureka:master-test
imagePullPolicy: Always
ports:
- protocol: TCP
containerPort: 8761
readinessProbe: #就绪探针
tcpSocket:
port: 8761
initialDelaySeconds: 20 #延迟加载时间
periodSeconds: 5 #重试时间间隔
timeoutSeconds: 10 #超时时间设置
failureThreshold: 5 #探测失败的重试次数
livenessProbe: #存活探针
tcpSocket:
port: 8761
initialDelaySeconds: 60 #延迟加载时间
periodSeconds: 5 #重试时间间隔
timeoutSeconds: 5 #超时时间设置
failureThreshold: 3 #探测失败的重试次数
java eureka项目配置
server:
port: 8761
spring:
application:
name: eureka
eureka:
instance:
prefer-ip-address: true
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://java-eureka-0.java-eureka.default.svc.cluster.local:8761/eureka,http://java-eureka-1.java-eureka.default.svc.cluster.local:8761/eureka,http://java-eureka-2.java-eureka.default.svc.cluster.local:8761/eureka
server:
peer-node-read-timeout-ms: 2000
logging:
file: ./logs/${spring.application.name}.log
其他服务配置文件
eureka:
client:
serviceUrl:
defaultZone: http://java-eureka-0.java-eureka.default.svc.cluster.local:8761/eureka/, http://java-eureka-1.java-eureka.default.svc.cluster.local:8761/eureka/,http://java-eureka-2.java-eureka.default.svc.cluster.local:8761/eureka/
instance:
prefer-ip-address: true
如果coredns出现问题则导致各eureka之间通讯不正常,需要查看coredns服务。
进入eureka内部可以使用下面方法查看是否正常
nslookup java-eureka-0.java-eureka.default.svc.cluster.local.
建议在开头增加背景铺垫,增强读者代入感。