0

我很陌生Kubernetes,我一直在努力将我当前的 docker -compose环境迁移到 Kubernetes ......

我使用komposedocker-compose.yml将我的清单转换为 Kubernetes 清单。

到目前为止,我可以单独访问每个 pod,但似乎我在让这些 pod 相互通信方面遇到了一些问题。我的 Nginx pod 无法访问我的应用程序 pod

docker-compose.yml的如下

version: '3.3'
services:

  myapp:
    image: my-app
    build: ./docker/
    restart: unless-stopped
    container_name: app
    stdin_open: true
    volumes:
      - mnt:/mnt
    env_file:
      - .env


  mynginx:
    image: nginx:latest
    build: ./docker/
    container_name: nginx
    ports:
      - 80:80
    stdin_open: true
    restart: unless-stopped
    user: root

Nginx.conf的如下

server{
    listen 80;
    index index.html index.htm;
    root   /mnt/volumes/statics/;


location /myapp {

  proxy_pass http://myapp/index;

  proxy_redirect     off;
  proxy_set_header   Host $host;
  proxy_set_header   X-Real-IP $remote_addr;
}

我了解这docker-compose使容器能够通过服务名称(在本例中为myappmynginx)相互通信。有人能告诉我我需要做什么才能在 Kubernetes 中实现同样的目标吗?

4

1 回答 1

1

Kompose 确实为我创建了服务。原来我错过的是 docker-compose.overwrite 文件(显然 kompose 只是忽略了 overwrite.yml)。

于 2020-08-06T04:51:13.020 回答