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.
最后修改:2021 年 11 月 01 日 11 : 15 PM
如果觉得我的文章对你有用,请随意赞赏