Я очень плохо знаком с K8s, поэтому никогда не использовал его. Но я ознакомился с концепцией узлов / стручков. Я знаю, что minikube - это локальный движок k8s для debug / et c, и что я должен взаимодействовать с любым движком k8s с помощью инструмента kubectl. Теперь мои вопросы:
Гарантирует ли запуск одинаковой конфигурации на моем локальном экземпляре мини-куба и производственном экземпляре AWS / et c, что результатом будет identi c?
Как настроить непрерывное развертывание для моего проекта? Теперь я настроил CI, который отправляет образы тестируемого кода в концентратор docker с тегом :latest
. Но я хочу, чтобы они автоматически развертывались в режиме непрерывного обновления без прерывания работы.
Было бы здорово получить правильные конфигурации с шагами, которые я должен выполнить, чтобы заставить его работать на любом кластере ? Я не хочу сохранять нотацию docker -compose и использовать kompose. Я хочу сделать это правильно в контексте k8s.
Мой текущий docker -compose.yml равен (django, и сервисы реагирования теперь доступны из dockerhub):
version: "3.5"
services:
nginx:
build:
context: .
dockerfile: Dockerfile.nginx
restart: always
command: bash -c "service nginx start && tail -f /dev/null"
ports:
- 80:80
- 443:443
volumes:
- /mnt/wts_new_data_volume/static:/data/django/static
- /mnt/wts_new_data_volume/media:/data/django/media
- ./certs:/etc/letsencrypt/
- ./misc/ssl/server.crt:/etc/ssl/certs/server.crt
- ./misc/ssl/server.key:/etc/ssl/private/server.key
- ./misc/conf/nginx.conf:/etc/nginx/nginx.conf:ro
- ./misc/conf/passports.htaccess:/etc/passports.htaccess:ro
depends_on:
- react
redis:
restart: always
image: redis:latest
privileged: true
command: redis-server
celery:
build:
context: backend
command: bash -c "celery -A project worker -B -l info"
env_file:
- ./misc/.env
depends_on:
- redis
django:
build:
context: backend
command: bash -c "/code/manage.py collectstatic --no-input && echo donecollectstatic && /code/manage.py migrate && bash /code/run/daphne.sh"
volumes:
- /mnt/wts_new_data_volume/static:/data/django/static
- /mnt/wts_new_data_volume/media:/data/django/media
env_file:
- ./misc/.env
depends_on:
- redis
react:
build:
context: frontend
depends_on:
- django