39

Я часами прорабатывал документацию Кубернетеса. Я понимаю основную конструкцию и понятие сервисов, контроллеров, контейнеров и т. Д.Может ли Kubernetes использоваться как Docker Compose?

Однако я не понимаю, как процесс декларации я могу декларативно настроить кластер. То есть, способ написать файл конфигурации (или его набор), чтобы определить параметры макета и масштабирования развертывания облака. Я хочу, чтобы иметь возможность объявить, какие контейнеры я хочу, в каких контейнерах, как они будут общаться, как они будут масштабироваться и т. Д., Не запуская тонну команд cli.

Есть ли docker-compose функциональность для Kubernetes?

Я хочу, чтобы мое приложение определялось в git-версии с контролем версии, не полагаясь на ручные взаимодействия cli.

Можно ли это сделать лаконично? Является ли ссылка более понятной, чем официальная документация?

ответ

22

Если вы все еще ищете, возможно, этот инструмент может помочь: https://github.com/kelseyhightower/compose2kube

Вы можете создать файл: создания сообщения

# sample compose file with 3 services 
web: 
    image: nginx 
    ports: 
    - "80" 
    - "443" 
database: 
    image: postgres 
    ports: 
    - "5432" 
cache: 
    image: memcached 
    ports: 
    - "11211" 

Затем использовать инструмент для преобразования его в kubernetes объектов:

compose2kube -compose-file docker-compose.yml -output-dir output 

Какой будет создавать эти файлы:

output/cache-rc.yaml 
output/database-rc.yaml 
output/web-rc.yaml 

Затем вы можете использовать kubectl, чтобы применить их к кубернетам.

+7

Пожалуйста, не добавляйте только ответы на вопросы. Ссылки могут исчезнуть. –

+3

Привет, Ахмад, и добро пожаловать в Переполнение стека. Как говорит @KurtVandenBranden, ответы только для ссылок невелики сами по себе; важно включить некоторый контекст, например, цитируя важную часть связанной статьи, чтобы сделать его полезным ответом даже на этом сайте. См. [Ответ] для получения дополнительной информации. –

7

Kubernetes, безусловно, имеет свою собственную YAML (как показано в «Deploying Applications„)

Но как“Docker Clustering Tools Compared: Kubernetes vs Docker Swarm», это не было написано (только) для Докер, и она имеет свою собственную систему.

Для запуска Kubernetes вы можете использовать docker-compose, как показано в «vyshane/kid»: это маскирует некоторые из kubectl commands cli in scripts (который может быть версией).

+0

для управляемого развертывания (т. Е. Контейнерная служба Google). Я не думаю, что «docker-compose-kubernetes» применим. (Это также устаревший проект.) Я предполагаю, что я хочу знать, что делает большая организация для управления развертываниями. Есть ли пакет управления kubernetes, который я могу дополнить конфигурацией yaml? –

+0

@DonScott Хорошая точка. Я обновил ответ с помощью не устаревшего проекта. – VonC

Смежные вопросы