kubernetes kompose up Неподдерживаемый ключ env_file

Я пытаюсь перенести docrized проект в kubernetes, я использовал Kompose, чтобы преобразовать проект

kompose --file docker-compose.yml convert,

когда я бегу kompose up после переноса файлов я получаю эту ошибку

$ kompose up WARN Unsupported env_file key - ignoring
FATA Error while deploying application: k.Transform failed: image key required within build parameters in order to build and push service 'drkiq'

Файл.env:

SECRET_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx WORKER_PROCESSES=1 LISTEN_ON=0.0.0.0:8000 DATABASE_URL=postgresql://drkiq:yourpassword@postgres:5432/drkiq?encoding=utf8&pool=5&timeout=5000 CACHE_URL=redis://redis:6379/0 JOB_WORKER_URL=redis://redis:6379/0

Докеризированный проект Ссылка здесь!

любая идея, как преобразовать файл.env в формат, который можно использовать с kubernetes kompose

Docker-составить файл:

  postgres:
    image: postgres:9.4.5
    environment:
      POSTGRES_USER: drkiq
      POSTGRES_PASSWORD: yourpassword
    ports:
      - '5432:5432'
    volumes:
      - drkiq-postgres:/var/lib/postgresql/data

  redis:
    image: redis:3.0.5
    ports:
      - '6379:6379'
    volumes:
      - drkiq-redis:/var/lib/redis/data

  drkiq:
    build: .
    links:
      - postgres
      - redis
    volumes:
      - .:/drkiq
    ports:
      - '8000:8000'
    env_file:
      - .drkiq.env
  sidekiq:
    build: .
    command: bundle exec sidekiq -C config/sidekiq.yml
    links:
      - postgres
      - redis
    volumes:
      - .:/drkiq
    env_file:
      - .drkiq.env

1 ответ

Kubernetes kompose подставки env_file преобразование из версии Docker Compose 3.x, как описано в матрице преобразования.

В Kubernetes вы можете использовать ConfigMap для хранения переменных окружения из env_file, За SECRET_TOKEN переменная, вы можете использовать секреты для хранения ваших личных и конфиденциальных данных.

Вы также можете проверить другие инструменты для конвертации, такие как compose2kube или k8s-env-gen.

Согласно приложенному Docker-composer файл и ошибка в процессе преобразования, я могу предположить, что вы пропустили значение ключа изображения для drkiq а также sidekiq Сервисы:

Обновление: файл docker-compose.yml

version: '2'

services:
  postgres:
    image: postgres:9.4.5
    environment:
      POSTGRES_USER: drkiq
      POSTGRES_PASSWORD: yourpassword
    ports:
      - '5432:5432'
    volumes:
      - drkiq-postgres:/var/lib/postgresql/data

  redis:
    image: redis:3.0.5
    ports:
      - '6379:6379'
    volumes:
      - drkiq-redis:/var/lib/redis/data

  drkiq:
    build: .
    image: drkiq:tag
    links:
      - postgres
      - redis
    volumes:
      - .:/drkiq
    ports:
      - '8000:8000'
    env_file:
      - .drkiq.env
  sidekiq:
    build: .
    command: bundle exec sidekiq -C config/sidekiq.yml
    image: sidekiq:tag
    links:
      - postgres
      - redis
    volumes:
      - .:/drkiq
    env_file:
      - .drkiq.env
Другие вопросы по тегам