Kubernetes - це проект з відкритим кодом, який приносить можливості управління кластером «стиль Google» у світ віртуальних машин або сценарії «на металі». Він дуже добре працює з сучасними операційними системами (наприклад, CoreOS або Red Hat Atomic), які пропонують легкі обчислювальні «вузли», якими керує для вас. Він написаний на Golang і є легким, модульним, портативним та розширюваним. Ми (команда Kubernetes) співпрацюємо з низкою різних технологічних компаній (включаючи Mesosphere, які куратують проект з відкритим кодом Mesos), щоб створити Kubernetes як стандартний спосіб взаємодії з обчислювальними кластерами. Ідея полягає в тому, щоб відтворити ті зразки, які ми бачимо людям, які потребують створення кластерних програм на основі нашого досвіду роботи в Google. Деякі з цих понять включають:
- стручки - спосіб групувати контейнери разом
- контролери реплікації - спосіб обробки життєвого циклу контейнерів
- мітки - спосіб пошуку та запиту контейнерів та
- послуги - набір контейнерів, що виконують загальну функцію.
Таким чином, лише з Kubernetes у вас буде щось просте, легке в роботі, портативне та розширювальне, що додає кластер як іменник до речей, якими ви керуєте найлегшим способом ваги. Запустіть програму на кластері та перестаньте турбуватися про окрему машину. У цьому випадку кластер є гнучким ресурсом, як і VM. Це логічна обчислювальна одиниця. Розгорніть його, використовуйте, змініть розмір, швидко та легко зменшіть його.
У Mesos спостерігається досить велика кількість перекриттів з точки зору основного бачення, але продукти знаходяться в зовсім інших точках свого життєвого циклу і мають різні солодкі плями. Mesos - це ядро розподіленої системи, яке зшиває багато різних машин у логічний комп'ютер. Він народився для світу, де ви володієте великою кількістю фізичних ресурсів, щоб створити великий статичний обчислювальний кластер. Чудова річ у тому, що багато сучасних програм для масштабованої обробки даних добре працюють на Mesos (Hadoop, Kafka, Spark), і це приємно, тому що ви можете запустити їх на одному і тому ж базовому ресурсному пулі, разом із вашими новими програмами, упакованими в контейнери. . Він дещо важчий за вагу, ніж проект Kubernetes, але його стає легше і простіше в управлінні завдяки роботі таких людей, як "Мезосфера".
Тепер цікавим є те, що в даний час Месос адаптується для додавання багатьох концепцій Kubernetes та підтримки API Kubernetes. Таким чином, це буде шлюзом до отримання більше можливостей для вашої програми Kubernetes (майстер високої доступності, більш досконала семантика планування, можливість масштабування до дуже великої кількості вузлів), якщо вони вам потрібні, і він добре підходить для запуску виробничих навантажень (Kubernetes все ще знаходиться в альфа-стані).
На запитання я схиляюсь сказати:
Kubernetes - прекрасне місце для початку, якщо ви не новачок у світі кластеризації; це найшвидший, найпростіший і легкий спосіб вибити шини і почати експерименти з розробкою, орієнтованою на кластер. Він пропонує дуже високий рівень переносимості, оскільки його підтримують багато різних постачальників (Microsoft, IBM, Red Hat, CoreOs, MesoSphere, VMWare тощо).
Якщо у вас є наявні навантаження (Hadoop, Spark, Kafka тощо), Mesos дає вам рамку, яка дозволить вам переплутати ці робочі навантаження між собою та змішати деякі нові речі, включаючи додатки Kubernetes.
Mesos дає випускний клапан, якщо вам потрібні можливості, які ще не реалізовані громадою в рамках Kubernetes.