Можно ли использовать Кубернете, как Docker Compose?
Я прорабатывал документацию Кубернеса часами. Я понимаю основной дизайн и понятие услуг, контроллеров, контейнеров и т.д.
Однако я не понимаю, как я могу декларативно настроить кластер. То есть, способ написать файл конфигурации (или его набор), чтобы определить параметры макета и масштабирования развертывания облака. Я хочу, чтобы иметь возможность объявлять, какие контейнеры я хочу, в каких контейнерах, как они будут общаться, как они будут масштабироваться и т.д., Не запуская тонну команд cli.
Есть ли функция docker-compose для Kubernetes?
Я хочу, чтобы мое приложение было определено в git, чтобы управлять версией, не полагаясь на ручные взаимодействия cli.
Можно ли это сделать лаконично? Есть ли ссылка, более понятная, чем официальная документация?
Ответы
Ответ 1
Если вы все еще ищете, возможно, этот инструмент может помочь:
https://github.com/kelseyhightower/compose2kube
Вы можете создать файл компоновки
web:
image: nginx
ports:
- "80"
- "443"
database:
image: postgres
ports:
- "5432"
cache:
image: memcached
ports:
- "11211"
Затем используйте инструмент, чтобы преобразовать его в kubernetes objetcs
compose2kube -compose-file docker-compose.yml -output-dir output
Что создаст эти файлы
output/cache-rc.yaml
output/database-rc.yaml
output/web-rc.yaml
то вы можете использовать kubectl, чтобы применить их к кубернетам
Ответ 2
Если у вас есть файлы-докеры-композиторы, вы можете взглянуть на проект Kompose https://github.com/kubernetes-incubator/kompose.
Ответ 3
У Kubernetes определенно есть свой собственный ямль (как показано в " Развертывание приложений)
Но как " Инструменты кластеризации докеров по сравнению: Kubernetes vs Docker Swarm", он не был написан (просто) для Docker, и у него есть собственной системы.
Вы можете использовать docker-compose для запуска Kubernetes, хотя, как показано в " vyshane/kid
": это маскирует некоторые из kubectl
команды cli в скриптах (которые могут быть версиями).