WedX - журнал о программировании и компьютерных науках

Что такое кластер и узел, ориентированный на контейнеры?

Извините за этот вопрос, но я только начал с Docker и Docker Compose, и мне ничего из этого не требовалось, пока я не прочитал, что мне нужно использовать Docker Swarn или Kuebernetes. иметь большую стабильность в производстве. Я начал читать о Docker Swarn, и они упомянули узлы и кластеры.

Я был действительно счастлив, не зная об этом, как я понял docker-compose:

В том, что я могу управлять своими сервисами/контейнерами из одного файла, и мне нужно всего лишь запустить несколько команд для запуска, сборки, удаления и т. д. всех моих сервисов на основе конфигурации docker-compose.

Но теперь появились узлы и кластер, и я действительно немного сошел с ума, и поэтому, если вы можете помочь мне понять этот следующий шаг в жизни контейнеров. Я гуглил и мне не очень понятно.

Я надеюсь, что вы можете помочь мне и объяснить мне это так, как я могу понять.

Спасибо!


Ответы:


1

Узел — это просто физическая или виртуальная машина.
В контексте Kubernetes/Docker Swarm на каждом узле должны быть установлены соответствующие двоичные файлы (Docker Engine, kubelet и т. д.).

кластер – это группа из одного или нескольких узлов.

Если вы только что проводили тестирование на локальном компьютере, у вас есть один узел.

Если бы вы добавили второй компьютер и соединили оба компьютера с помощью docker swarm/kubernetes, вы бы создали кластер из двух узлов.

Затем вы можете использовать docker swarm/kubernetes для запуска ваших сервисов/контейнеров на любом или всех узлах в вашем кластере. . Это позволяет вашим службам быть более отказоустойчивыми и отказоустойчивыми.

20.02.2020

2

По умолчанию Docker Compose запускает набор контейнеров в одной системе. Если вам нужно запустить больше контейнеров, чем может поместиться в одной системе, или вы просто боитесь сбоя этой системы, для этого вам потребуется более одной системы. кластер – это группа всех систем (физических компьютеров, виртуальных машин, облачных экземпляров), которые работают вместе для запуска контейнеров. Каждая из этих отдельных систем является узлом.

Другая важная часть настройки контейнера кластера заключается в том, что вы обычно можете запускать несколько реплик данного контейнера, и вам все равно, где в кластере они работают. Допустим, у вас есть пять узлов и контейнер веб-сервера, и вы хотели бы запустить три его копии для резервирования. Вместо того, чтобы выбирать узел, ssh к нему и вручную docker run там, вы просто говорите менеджеру кластера «запустите мне три из них», и он выбирает узел и запускает контейнер для вас. Вы также можете масштабировать контейнеры вверх и вниз во время выполнения или потенциально настроить кластер на самостоятельное масштабирование в зависимости от нагрузки.

Если ваша рабочая нагрузка позволяет запускать одну копию контейнеров на одном сервере, вам не нужна настройка кластера. (У вас может быть некоторое время простоя во время обновлений или в случае выхода из строя одного сервера.) Преимущества Swarm заключаются в том, что он связан с Docker и может использовать собственные инструменты Docker (docker-compose можно развернуть в кластере Swarm). Kubernetes намного сложнее, но на этом этапе большинство поставщиков общедоступных облаков продадут вам предварительно настроенный кластер Kubernetes, и у него есть лучшие истории с безопасностью, управлением хранилищем и автоматическим масштабированием. Есть также пара других менее известных альтернатив, таких как Nomad и Mesos.

20.02.2020
  • Большое спасибо. Как я могу узнать или вычислить контейнеры, которые подходят для одной системы или узла? Только по дисковому пространству и памяти? Я говорю это, потому что я только что загрузил VPS с 5 контейнерами с помощью Docker-compose, и все идет очень хорошо. Он использует только 19% дискового пространства и 22% памяти. 21.02.2020
  • Извините меня и чтобы все хорошо понять, когда вы имеете в виду, что у вас может быть некоторое время простоя во время обновлений, вы имеете в виду, когда я могу загрузить новые изменения в свои файлы в веб-контейнер*, прямо сейчас мне нужно было сделать несколько и Я сделал это, скопировав файлы с хоста в контейнер ранним утром, чтобы никто не пострадал. Более-менее по старинке. Но на самом деле со вкусом возможности использовать docker-compose. 21.02.2020
  • В мире Docker вы обычно не загружаете файлы в контейнер напрямую, вы создаете новый образ, содержащий новую версию. В некластерной среде вы должны остановить старый контейнер и создать новый. Если у вас есть три реплики в кластерной среде, вы можете обновлять их по одной, не прерывая работу службы. 21.02.2020
  • Большое спасибо. Ответить на первый вопрос можно в комментариях. 21.02.2020
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]