why cloud not registered to eureka by cluster service name in kubernetes

2/2/2020

I am deployed eureka in kubernetes(v1.15.2) cluster,this is my kubernetes eureka yaml:

{
  "kind": "StatefulSet",
  "apiVersion": "apps/v1beta2",
  "metadata": {
    "name": "eureka",
    "namespace": "dabai-fat",
    "selfLink": "/apis/apps/v1beta2/namespaces/dabai-fat/statefulsets/eureka",
    "uid": "92eefc3d-4601-4ebc-9414-8437f9934461",
    "resourceVersion": "13353189",
    "generation": 15,
    "creationTimestamp": "2020-02-01T16:55:54Z",
    "labels": {
      "app": "eureka"
    }
  },
  "spec": {
    "replicas": 1,
    "selector": {
      "matchLabels": {
        "app": "eureka"
      }
    },
    "template": {
      "metadata": {
        "creationTimestamp": null,
        "labels": {
          "app": "eureka"
        }
      },
      "spec": {
        "containers": [
          {
            "name": "eureka",
            "image": "registry.cn-hangzhou.aliyuncs.com/dabai_app_k8s/dabai_fat/soa-eureka:v1.0.0",
            "ports": [
              {
                "name": "server",
                "containerPort": 8761,
                "protocol": "TCP"
              },
              {
                "name": "management",
                "containerPort": 8081,
                "protocol": "TCP"
              }
            ],
            "env": [
              {
                "name": "APP_NAME",
                "value": "eureka"
              },
              {
                "name": "POD_NAME",
                "valueFrom": {
                  "fieldRef": {
                    "apiVersion": "v1",
                    "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/"
              },
              {
                "name": "APOLLO_META",
                "valueFrom": {
                  "configMapKeyRef": {
                    "name": "fat-config",
                    "key": "apollo.meta"
                  }
                }
              },
              {
                "name": "ENV",
                "valueFrom": {
                  "configMapKeyRef": {
                    "name": "fat-config",
                    "key": "env"
                  }
                }
              }
            ],
            "resources": {
              "limits": {
                "cpu": "2",
                "memory": "1Gi"
              },
              "requests": {
                "cpu": "2",
                "memory": "1Gi"
              }
            },
            "terminationMessagePath": "/dev/termination-log",
            "terminationMessagePolicy": "File",
            "imagePullPolicy": "IfNotPresent"
          }
        ],
        "restartPolicy": "Always",
        "terminationGracePeriodSeconds": 10,
        "dnsPolicy": "ClusterFirst",
        "securityContext": {},
        "imagePullSecrets": [
          {
            "name": "regcred"
          }
        ],
        "schedulerName": "default-scheduler"
      }
    },
    "serviceName": "eureka-service",
    "podManagementPolicy": "Parallel",
    "updateStrategy": {
      "type": "RollingUpdate",
      "rollingUpdate": {
        "partition": 0
      }
    },
    "revisionHistoryLimit": 10
  },
  "status": {
    "observedGeneration": 15,
    "replicas": 1,
    "readyReplicas": 1,
    "currentReplicas": 1,
    "updatedReplicas": 1,
    "currentRevision": "eureka-5976977b7d",
    "updateRevision": "eureka-5976977b7d",
    "collisionCount": 0
  }
}

and this is my pod app defaultZone address to register into eureka:

http://username:password@eureka-0.eureka:8761/eureka/

and when I start pod, registered to eureka failed and give this tips:

2020-02-02 16:25:50.704 ERROR 6 --- [freshExecutor-0] c.n.d.s.t.d.RedirectingEurekaHttpClient  : Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://username:password@eureka-0.eureka:8761/eureka/}
com.sun.jersey.api.client.ClientHandlerException: java.net.UnknownHostException: eureka-0.eureka
    at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) ~[jersey-apache-client4-1.19.1.jar!/:1.19.1]

how to register eureka using local cluster servie name or address? I think it is not neccessary to using internet domain to register eureka.What is the cluster eureka address?

-- Dolphin
kubernetes

0 Answers