匹配docker-compose中的服务名称和kubenetes中的服务名称

时间:2018-03-05 17:28:29

标签: docker nginx kubernetes docker-compose

我在Google Cloud kubernetes中有一个配置,我想用docker-compose模拟本地开发。我的问题是docker-compose创建了一个服务名称,其名称为文件夹(purplecloud)加上下划线和下划线加上" 1"最后,而kubernetes没有。此外,kubenetes不允许我使用" _"的服务名称。这导致我修改我的nginx配置的额外步骤,该配置路由到具有相同命名问题的此微服务和其他微服务。

有没有办法将docker-compose中的服务命名为与kubernetes相同?

我的Google Cloud yaml包含

apiVersion: v1
kind: Service
metadata:
  name: account-service # matches name in nginx.conf for rule "location /account/" ie  http://account-service:80/
spec:
  ports:
  - port: 80
    targetPort: 80
  type: NodePort 
  selector:
    app: account-pod 

我有一个需要路由到上述帐户微服务的nginx pod。 Nginx可以使用

路由到此服务
  

http://account-service:80/

我的docker-compose yaml包含

version: '3.1' # must specify or else version 1 will be used

services: 

  account: # DNS name is http://purplecloud_account_1:80/;
    build: 
        context: ./account
        dockerfile: account.Dockerfile
    image: account_get_jwt
    ports:
      - '4001:80' 
      - '42126:42126' # chrome debuger
    environment:
      - PORT=80

我有一个需要路由到上述帐户微服务的nginx pod。 Nginx可以使用

路由到此服务
  

http://purplecloud_account_1:80/

所以我需要在docker-compose和kubernetes之间换掉nginx配置。有没有办法将docker-compose中的服务名称更改为与kubernetes相同?

0 个答案:

没有答案