Kubernetes может использоваться как Докер, Сочиняют?

Я рыл через документацию Kubernetes в течение многих часов. Я понимаю базовый дизайн и понятие сервисов, контроллеров, переходных приставок, и т.д.

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

Есть ли докер - составляют функциональность для Kubernetes?

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

Действительно ли это возможно сделать кратким способом? Существует ли ссылка, которая более ясна, чем официальная документация?

58
задан 16 June 2016 в 10:32

1 ответ

Докер официально объявил docker-compose функциональность для kubernetes кластера. Так с этого времени можно составить kubernetes ресурсы в файле и применить их использующий что единственный файл.

Первый мы должны установить Составление на контроллере Kubernetes в Ваш кластер Kubernetes. Этот контроллер использует стандартные точки расширения Kubernetes для представления Stack API Kubernetes. Проверьте, что полная документация для установки докера составляет контроллер:

https://github.com/docker/compose-on-kubernetes

Позволяет нам записать, что простое составляет yaml файл:

version: "3.7"
services:
  web:
    image: dockerdemos/lab-web
    ports:
     - "33000:80"
  words:
    image: dockerdemos/lab-words
    deploy:
      replicas: 3
      endpoint_mode: dnsrr
  db:
    image: dockerdemos/lab-db

We’ll затем используют клиент докера для развертывания этого на кластере Kubernetes выполнение контроллера:

$ docker stack deploy --orchestrator=kubernetes -c docker-compose.yml words
Waiting for the stack to be stable and running...
db: Ready       [pod status: 1/1 ready, 0/1 pending, 0/1 failed]
web: Ready      [pod status: 1/1 ready, 0/1 pending, 0/1 failed]
words: Ready    [pod status: 1/3 ready, 2/3 pending, 0/3 failed]
Stack words is stable and running

Мы можем затем взаимодействовать с теми объектами через API Kubernetes. Здесь Вы видите, что we’ve создал объекты низшего уровня как Сервисы, Переходные приставки, Развертывание и ReplicaSets автоматически:

$ kubectl get deployments
NAME                    DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/db      1         1         1            1           57s
deployment.apps/web     1         1         1            1           57s
deployment.apps/words   3         3         3            3           57s    

It’s важный, чтобы отметить, что этот isn’t одноразовое преобразование. Составление на Сервере API Kubernetes представляет ресурс Стека API Kubernetes. Таким образом, мы можем запросить и управлять всем на том же уровне абстракции как we’re создавание приложения. Это превращает копание в деталях выше полезного для понимания, как вещи работают, или отладка проблем, но не требуемые большую часть времени:

$ kubectl get stack
NAME      STATUS      PUBLISHED PORTS   PODS     AGE      
words     Running     33000             5/5      4m
9
ответ дан 1 November 2019 в 14:56

Другие вопросы по тегам:

Похожие вопросы: