Kubernetes становится новым стандартом для развертывания и управления программным обеспечением в облаке из-за широкого количества функций, которые Kubernetes обеспечивают такие как автоматизированные прокат и откат развертывания, хранение оркестографии, автоматизации упаковки бен, самовосстановление, управление секретами и файлами конфигурации. И многое другое. Этот пост блога даст вам высокоуровневый вид архитектуры Kubernetes и подробное объяснение о архитектуре узла Kubernetes и его компонентами.
Обзор архитектуры Kubernetes
Кластер Kubernetes состоит из набора рабочих машин, известных как узлы которые запускают контейнерные приложения. Каждый кластер имеет хотя бы один узел работника. Узел работников (ы) проводят стручки, которые являются компонентами рабочей нагрузки приложения.
Кластер Kubernetes состоит как минимум из одного главного и нескольких узлов.
Мастер:
Он отвечает за разоблачение интерфейса программы приложений (API), планируя развертывание и управление общим кластером Kubernetes, главный сервер запускает следующие компоненты:
Kubernetes Master и Node Components
API Server: Он выполняет все административные задачи через сервер API внутри главного узла.
Планировщик: Он расписание задач рабочих узлам. Он хранит информацию об использовании ресурсов для каждого ведомого узла.
Контроллер-менеджер: Контроллер наблюдает за желаемым состоянием объектов, которые он управляет и гарантирует, что их текущее состояние через сервер API. Если текущее состояние объектов, которое он управляет, не соответствует желаемому состоянию, то контур управления принимает корректирующие шаги, чтобы убедиться, что текущее состояние совпадает с желаемым состоянием.
etcd: ETCD — это распределенный магазин для значений клавиш, который хранит состояние кластера и также может использоваться для хранения деталей конфигурации, таких как подсети, конфигурации, секреты и т. Д. Это может быть частью Master Kubernetes, или он может быть настроен извне.
Узел:
Это физический сервер, который есть стручки внутри них, которые несут ответственность за проведение приложений внутри них и управляются мастером. Необходимые компоненты узла:
Кублет: Это агент, который связывается с главным узлом и выполняется на рабочих узлах. Он получает спецификации POD через сервер API и выполняет контейнеры, связанные с POD и гарантируют, что контейнеры, работающие внутри стручка, и в здоровом состоянии.
Кублет также периодически контролирует состояние стручков и в случае любой проблемы, вместо этого запускает новый экземпляр. Kublet также имеет внутренний HTTP-сервер, выставляющий представление только для чтения в порту 10255. Например:/Healthz — это конечная точка проверки здоровья,/PODS Получает список беговых стручков/спецификаций, чтобы получить спецификации машины, на котором работает кублет.
Kube-Proxy: Kube-Proxy работает на каждом узле, чтобы иметь дело с индивидуальными подсетью хозяина и гарантирует, что услуги доступны для внешних сторон. Для каждой конечной точки службы Kube-Proxy устанавливает маршруты, чтобы он мог добраться до него.
Он служит сетевым прокси и балансировщик нагрузки для стручек, работающих на этом конкретном узле. Это важная сетевая часть Kubernetes и гарантирует, что существует эффективная связь во всех элементах кластера.
Cadvisor: Первоначально он был создан Google теперь интегрирован с Kubelet. Он собирает метрики, такие как CPU, память, файл и использование сети для всех беговых контейнеров и гарантируют, что они работают правильно. Все данные отправляются на планировщик, чтобы обеспечить производительность узла, который дополнительно используется для задач, таких как планирование, горизонтальное масштабирование POD и управление пределами ресурсов контейнера.
Контейнер Runtime: Время выполнения контейнера — это программное обеспечение, которое отвечает за вытягивание изображений из публичных или частных реестров, использующих контейнеры, основанные на этих изображениях. Кублет напрямую взаимодействует с временем выполнения контейнера для запуска, остановки или удаления контейнеров. Kubernetes поддерживает несколько runtimes, таких как Docker, контейнер, CRI-O и любая другая реализация CRI Kubernetes CRI (интерфейс выполнения контейнера).
Обо мне:
Я Prashant, и я тщательно наслаждаюсь работой в пространстве DevOps годами. Мои основные направления работы были вокруг DevOps, kubernetes Orchestration и Ci/Cd. С опытом я понял, что не хватает консолидированного рабочего процесса доставки для Кубебени. Конечно, есть инструменты, которые помогут нам добиться конкретной задачи, но нет инструмента, который эффективно охватывает весь рабочий процесс. Итак, с некоторыми из моих страстных друзей на технике у меня есть отдельные лаборатории Devtron, предназначенные для решения этой проблемы. Это полностью сообщество светодиодный открытый источник, рабочий процесс доставки программного обеспечения для Kubernetes, которые эффективно управляют безопасностью, стоимостью и стабильностью.
devtron-labs/devtron
Рабочий процесс доставки программного обеспечения для Kubernetes
Devtron — это рабочий процесс доставки программного обеспечения с открытым исходным кодом для Kubernetes, написанных в Go Исследуйте документацию » Сайт · Блог · Присоединяйтесь к раздоре · Твиттер
📖 меню
- Почему девстрон
- Функции
- Начиная
- Документация
- Совместимость примечания
- Сообщество
- Делать вклад
- Отчетность уязвимости
- Лицензия
💡 Почему devtron?
Он разработан в качестве платформы самообслуживания для операции и поддержания приложений (Appops) на Kubernetes в дружественном способе разработчика
🎉 особенности
- Рабочий процесс, который понимает домен Кубернеты, тестирование, CD, Secops так что вам не нужно писать скрипты
- Многоразовые и компоненты для многоразовых и компонентов, чтобы рабочие процессы были легко построить и разум
- Развертывание нескольких кластер Kubernetes
- Многоуровневая политика безопасности при глобальном, кластере, окружающей среде и применении для эффективного управления иерархической политики
- Политика безопасности поведения управляемой безопасностью
- Определить политику и исключение для ресурсов Kubernetes
- Определить политику для событий для более быстрых разрешений
- Одно место…
Оригинал: «https://dev.to/pghildiyal/understanding-kubernetes-architecture-2k0l»