kingschan1204 / blog

个人技术blog
https://github.com/kingschan1204/blog/issues
1 stars 1 forks source link

k8s eureka 双节点集群有状态服务部署 #5

Open kingschan1204 opened 6 years ago

kingschan1204 commented 6 years ago
---
apiVersion: v1
kind: Service
metadata:
  name: eureka
  namespace: 命名空间
  labels:
    app: eureka
spec:
  ports:
  - port: 8761
    name: eureka
  clusterIP: None
  selector:
    app: eureka
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: eureka
  namespace: 命名空间
spec:
  serviceName: "eureka"
  replicas: 2
  selector:
    matchLabels:
      app: eureka
  template:
    metadata:
      labels:
        app: eureka
    spec:
      containers:
      - name: eureka
        image:  eureka 镜像地址
        ports:
        - containerPort: 8761
        env:
        - name: MY_POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
          # Due to camelcase issues with "defaultZone" and "preferIpAddress", _JAVA_OPTIONS is used here
        - name: eureka_client_serviceUrl_defaultZone
          #value: http://eureka-0.eureka.命名空间.svc.cluster.local:8761/eureka/,http://eureka-1.eureka.命名空间.svc.cluster.local:8761/eureka/
          value: http://eureka-0.eureka:8761/eureka/,http://eureka-1.eureka:8761/eureka/
        - name: EUREKA_CLIENT_REGISTERWITHEUREKA
          value: "true"
        - name: EUREKA_CLIENT_FETCHREGISTRY
          value: "true"
          # In the docker image, this is set to localhost. Otherwise, we could leave this empty.
          # The hostnames must match with the the eureka serviceUrls, otherwise the replicas are reported as unavailable in the eureka dashboard
        - name: EUREKA_INSTANCE_HOSTNAME
          #value: "$(MY_POD_NAME).eureka.命名空间.svc.cluster.local"
          value: "$(MY_POD_NAME).eureka"
          #value: eureka
          # For the other (stateless) services, this should probably be set to true, since their pods have no DNS-resolvable  hostnames
       #- name: EUREKA_INSTANCE_PREFERIPADDRESS
       #  value: "false"
  # No need to start the pods in order. We just need the stable network identity
  podManagementPolicy: "Parallel"
bl-mds commented 5 years ago
    - name: eureka_client_serviceUrl_defaultZone
      #value: http://eureka-0.eureka.命名空间.svc.cluster.local:8761/eureka/,http://eureka-1.eureka.命名空间.svc.cluster.local:8761/eureka/
      value: http://eureka-0.eureka:8761/eureka/,http://eureka-1.eureka:8761/eureka/

哥们是不是用两种定义方法都成功了?

kingschan1204 commented 5 years ago

@bl-mds 是的 ,两种都可以

bl-mds commented 5 years ago

@kingschan1204 3Q

bl-mds commented 5 years ago

我用第二种方式配置,应用服务日志中始终有下面的错误,但从eureka管理介面看到应用服务又是注册成功了的,请问有可能是啥原因? Request execution failed with message: java.net.UnknownHostException: service-eureka-1.service-eureka: Name or service not known

jiangxiaoqiang commented 4 years ago

同样的问题,提示Name or service not known