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