Рубрики
Uncategorized

Короче говоря: Kubernetes

Отказ от ответственности: длинная история Короткая серия — это личный опыт обучения, когда я сталкиваюсь с разным разработчиком … Помечено с Kubernetes, DevOps, Architecture.

Отказ от ответственности : Короче говоря, Long Story Series — это личный учебный опыт, когда я сталкиваюсь с разными путешествиями по развитию. Целью этих серий является суммирование и упрощение сложных концепций развития и обучение их на разных уровнях владения.

Самый важный урок, который я хочу взять из этого блога, — это понять, что такое Kubernetes? И почему мы его используем?

В эпоху МИКРО-СВОЙСТВА АРХИТЕКТУРА , приложения структурированы как набор услуг, которые являются Свободно связан , Легко поддерживается , независимо организовано и принадлежит небольшим командам. Это возможно Контейнеризация Различные услуги в рамках приложения и использование вызовов API для общения между ними.

Все это звучит великолепно, пока ваша организация не подумает о масштабирование или достижение более 90% времени на приложение. Управление парой контейнеров-это не утомительное занятие, но при размышлении о настройке, развертывании и одновременном поддержании сортов сортов контейнеров наш подход должен быть переоценен. Именно здесь Kubernetes поставляется на рисунке и автоматизирует задачи управления контейнерами.

Исходная информация:

Kubernetes: Это программное обеспечение с открытым исходным кодом, которое помогает управлять и оркестреновать контейнеры.

  • Впервые он был разработан инженерами Google, а затем пожертвован в облачный фонд Native Computing Foundation (CNCF).
  • Это инструмент оркестровки для развертывания, масштабирования и управления несколькими контейнерами вместе, поэтому автоматизация и улучшение процесса технического обслуживания микро-сервисов. Kubernetes Основные преимущества:
    • Помощь в общении среди контейнеров
    • Развернуть их правильно
    • Управляйте ими внимательно
    • Автоматическое масштабирование: всегда убедитесь, что имеется определенное количество копий контейнера.
    • Балансировка нагрузки: распределение трафика.
  • Кластер Kubernetes обычно состоит из двух основных частей:
    • Master (планирует прикладные службы)
    • Узлы (слушают заказы от мастера)

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

Компоненты

Мастер: Это плоскость управления (основной контроллер) кластера. Обычно пользователи общаются с мастером через Графический интерфейс приборной панели (GUI) или Интерфейс командной строки (CLI) через файлы конфигурации YAML. Ответственность магистра — управлять всеми событиями узлов, чтобы сохранить общую конфигурацию кластера стабильной и здоровой. Многочисленные компоненты Мастера как таковые:

  • Kube-Apiserver: Передний конец Kubernetes, который разоблачает вызовы API и занимается услугами REST, чтобы разработчики могли общаться с кластером.
  • ETCD: Управляет состоянием кластера. Попробуйте посмотреть на это как на базу данных Kubernetes. Как разработчик, вы должны найти надежный метод для резервного копирования этой информации в случае сбоя мастера.
  • Kube-Scheduler: Как следует из названия, оно планирует вновь созданные стручки в узлы на основе заданных требований к ресурсам.
  • Kube-Controller-Manager: состоит из нескольких контроллеров, которые управляют кластером и узлами. Например:

    • Контроллер репликации: Обрабатывает реплики (серия идентичных стручков)

Узел: Является частью среды выполнения Kubernetes и размещена на отдельной виртуальной машине или физической машине, чем в мастере. Узлы имеют ряд стручков внутри них, которые позволяют контейнерам бежать внутри них. Узел обязанности — отслеживать стручки и отчет обратно Мастеру. Компоненты узла состоят из:

  • Стручки: Логическая коллекция контейнеров (например, контейнеры Docker ), которые должны взаимодействовать друг с другом для работы приложения. Кроме того, стручки имеют серию cgroup , пространство ядра , Союзные файловые системы внутри них. Кубелет:
  • У каждого узла есть кубелет, который обеспечивает необходимость Podspects работают здоровыми на узле. Этот агент может затем сообщить об мастере. их другие задачи: Общайтесь с API -сервером.

    • Выполните контейнеры PODS через контейнер-двигатель.
    • Установите и запустите стручки и секреты.
    • Выполнить проверки здоровья и отчитываться перед Master.

Podspec: это файл YAML, который описывает то, что должен иметь каждый стручок.

Приятно отметить, что кубелеты обычно используют конечную точку для общения, например TCP: 10255 Анкет

  • Kube-Proxy: Позволяет сетевого трафика находить правильный узел и правый стручок внутри (узнайте больше о сети).

Я надеюсь, что к настоящему времени у вас есть высокое понимание различных компонентов Kubernete и их роль в обеспечении оркестровки.

Крутые бобы, но как мне контролировать и использовать все это?

Как специалист по DevOps, вы должны иметь возможность поговорить с этим зверями Kubernetes, настраивая определенные контроллеры Анкет Поэтому вы можете раскрутить кластер и надежно запустить контейнеры внутри.

Контроллеры

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

  • Репликации: Гарантирует, что определенное количество стручков постоянно работает. Мы используем реплики для масштабирования и масштабирования вниз по стручкам.
  • Развертывания: Обновления обновлений для стручков и повторностей. По сути, развертывание управляет репликациями и копированием управления стручками.
  • Daemonsets: Обеспечивает копирование всех узлов определенного стручка. Мониторинг стручков на узлах, чтобы убедиться, что все они идентичны.
  • Работа: Обычно процесс супервизора. Работы — это отдельные процессы, которые происходят один раз или периодически, такие как резервное копирование базы данных.
  • Услуги: Разрешить связь между набором развертывания. Услуги могут быть:

    • Внутренний: IP только в кластере.
    • Внешняя: конечная точка доступна из IP -адреса узла.
    • Балансировщик нагрузки: выставьте приложение.
  • Ярлыки: Как следует из названия, это помогает нам маркировать и организовать компоненты. Вы можете искать, удалять и запускать сервисы на основе их ярлыков. Мы используем Селекторы Чтобы найти этикетки.

  • Селекторы: Вы можете использовать их в двух разных методах:

    • Селекторы на основе равенства: (==,! =)
    • Селекторы на основе наборов: (in, not, существует)
  • Пространства имен: Дайте аутентификацию и авторизацию разным пользователям. Чрезвычайно полезен для более крупных команд.

Поздравляю! Теперь вы знаете основные знания, необходимые для того, чтобы начать испачкать руки с помощью кода …

Следующий шаг …. код

Ресурсы

Оригинал: «https://dev.to/erfankashani/long-story-short-kubernetes-365»