Spring boot 已部署的Spring引导应用程序无法注册到GCP Kubernetes引擎上的Eureka服务器

Spring boot 已部署的Spring引导应用程序无法注册到GCP Kubernetes引擎上的Eureka服务器,spring-boot,docker,kubernetes,google-cloud-platform,microservices,Spring Boot,Docker,Kubernetes,Google Cloud Platform,Microservices,我有多个微服务,我已经用docker-compose.yml文件将它们固定。当我在本地运行它时,我的所有服务都注册到我拥有的Eureka服务器上,一切正常。但当我尝试在GCP Kubernetes引擎上部署它们时,它们无法正确注册到Eureka服务器 docker-compose.yml version: '3' services: eureka: container_name: eureka build: ./eureka/. image: eureka p

我有多个微服务,我已经用docker-compose.yml文件将它们固定。当我在本地运行它时,我的所有服务都注册到我拥有的Eureka服务器上,一切正常。但当我尝试在GCP Kubernetes引擎上部署它们时,它们无法正确注册到Eureka服务器

docker-compose.yml

version: '3'
services:
  eureka:
    container_name: eureka
    build: ./eureka/.
    image: eureka
    ports:
      - "8761:8761"
  zull:
    container_name: zull
    build: ./zull/.
    ports:
      - "8762:8762"
    links:
      - eureka:eureka
    depends_on:
      - eureka
    environment:
      - eureka.client.serviceUrl.defaultZone=http://eureka:8761/eureka/
  encryption:
    build: ./encryption
    ports:
      - "8200:8200"
    links:
      - eureka:eureka
    environment:
      - eureka.client.serviceUrl.defaultZone=http://eureka:8761/eureka/
  decryption:
    build: ./decryption
    ports:
      - "8100:8100"
    links:
      - eureka:eureka
    environment:
      - eureka.client.serviceUrl.defaultZone=http://eureka:8761/eureka/
  ui:
    build: ./ui
    ports:
      - "3000:3000"
Eureka application.properties:

spring.application.name=eureka

# default port for eureka server
server.port=8761

# eureka by default will register itself as a client. So, we need to set it to false.
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
server.port=8762
spring.application.name=zull
eureka.client.service-url.default-zone=http://eureka:8761/eureka/

# A prefix that can added to beginning of all requests.
#zuul.prefix=/api

# Disable accessing services using service name (i.e. gallery-service).
# They should be only accessed through the path defined below.
zuul.ignored-services=*
spring.mvc.dispatch-options-request=true

# Map paths to services
#Map to encryption
zuul.routes.encryption-service.path=/encryption/**
zuul.routes.encryption-service.service-id=encryption-service

#Map to decryption
zuul.routes.decryption-service.path=/decryption/**
zuul.routes.decryption-service.service-id=decryption-service
# service name
spring.application.name=encryption-service
# port
server.port=8200
# eureka server url
eureka.client.service-url.default-zone=http://eureka:8761/eureka
# serivce name
spring.application.name=decryption-service
# port
server.port=8100
# eureka server url
eureka.client.service-url.default-zone=http://eureka:8761/eureka
Zuul gateway application.properties:

spring.application.name=eureka

# default port for eureka server
server.port=8761

# eureka by default will register itself as a client. So, we need to set it to false.
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
server.port=8762
spring.application.name=zull
eureka.client.service-url.default-zone=http://eureka:8761/eureka/

# A prefix that can added to beginning of all requests.
#zuul.prefix=/api

# Disable accessing services using service name (i.e. gallery-service).
# They should be only accessed through the path defined below.
zuul.ignored-services=*
spring.mvc.dispatch-options-request=true

# Map paths to services
#Map to encryption
zuul.routes.encryption-service.path=/encryption/**
zuul.routes.encryption-service.service-id=encryption-service

#Map to decryption
zuul.routes.decryption-service.path=/decryption/**
zuul.routes.decryption-service.service-id=decryption-service
# service name
spring.application.name=encryption-service
# port
server.port=8200
# eureka server url
eureka.client.service-url.default-zone=http://eureka:8761/eureka
# serivce name
spring.application.name=decryption-service
# port
server.port=8100
# eureka server url
eureka.client.service-url.default-zone=http://eureka:8761/eureka
加密microservice application.properties:

spring.application.name=eureka

# default port for eureka server
server.port=8761

# eureka by default will register itself as a client. So, we need to set it to false.
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
server.port=8762
spring.application.name=zull
eureka.client.service-url.default-zone=http://eureka:8761/eureka/

# A prefix that can added to beginning of all requests.
#zuul.prefix=/api

# Disable accessing services using service name (i.e. gallery-service).
# They should be only accessed through the path defined below.
zuul.ignored-services=*
spring.mvc.dispatch-options-request=true

# Map paths to services
#Map to encryption
zuul.routes.encryption-service.path=/encryption/**
zuul.routes.encryption-service.service-id=encryption-service

#Map to decryption
zuul.routes.decryption-service.path=/decryption/**
zuul.routes.decryption-service.service-id=decryption-service
# service name
spring.application.name=encryption-service
# port
server.port=8200
# eureka server url
eureka.client.service-url.default-zone=http://eureka:8761/eureka
# serivce name
spring.application.name=decryption-service
# port
server.port=8100
# eureka server url
eureka.client.service-url.default-zone=http://eureka:8761/eureka
解密microservice application.properties:

spring.application.name=eureka

# default port for eureka server
server.port=8761

# eureka by default will register itself as a client. So, we need to set it to false.
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
server.port=8762
spring.application.name=zull
eureka.client.service-url.default-zone=http://eureka:8761/eureka/

# A prefix that can added to beginning of all requests.
#zuul.prefix=/api

# Disable accessing services using service name (i.e. gallery-service).
# They should be only accessed through the path defined below.
zuul.ignored-services=*
spring.mvc.dispatch-options-request=true

# Map paths to services
#Map to encryption
zuul.routes.encryption-service.path=/encryption/**
zuul.routes.encryption-service.service-id=encryption-service

#Map to decryption
zuul.routes.decryption-service.path=/decryption/**
zuul.routes.decryption-service.service-id=decryption-service
# service name
spring.application.name=encryption-service
# port
server.port=8200
# eureka server url
eureka.client.service-url.default-zone=http://eureka:8761/eureka
# serivce name
spring.application.name=decryption-service
# port
server.port=8100
# eureka server url
eureka.client.service-url.default-zone=http://eureka:8761/eureka
稍后,我将使用以下命令在Kubernetes引擎上部署它们:

  • 我向docker图像添加了一个标记
  • 我用docker push gcr.io/PROJECT-ID/…将它们推送到GCP
  • 我使用kubectl创建部署创建部署
  • 我使用GCP外部负载平衡器公开了它们
  • 但是Zull和microservices没有注册到Eureka, 我做错了什么?先谢谢你