Учебное пособие по Kubernetes для начинающих
⚡ Умное резюме
Kubernetes — это система управления контейнерами с открытым исходным кодом, разработанная компанией Kubernetes. Google Это решение автоматизирует развертывание, масштабирование и эксплуатацию контейнеризированных приложений в кластерах физических, виртуальных и облачных серверов, предлагая самовосстановление, автоматическое развертывание, балансировку нагрузки и согласованные среды для надежной доставки приложений.

Прежде чем мы начнем это руководство по Kubernetes, давайте изучим:
Что такое Kubernetes?
Kubernetes Это система управления контейнерами, разработанная на основе... Google Платформа Kubernetes помогает управлять контейнеризированными приложениями в различных типах физических, виртуальных и облачных сред. Google Kubernetes — это очень гибкий инструмент для работы с контейнерами, позволяющий стабильно развертывать сложные приложения на кластерах, состоящих из сотен и тысяч отдельных серверов.
Зачем нужны контейнеры?
Сегодняшний пользователь Интернета никогда не мирится с простоями. Поэтому разработчикам необходимо найти способ выполнять обслуживание и обновление, не прерывая работу своих служб.
Таким образом, контейнер — это изолированная среда. Он включает в себя все необходимое для запуска приложения. Он упрощает редактирование и развертывание приложений для разработчика. Более того, контейнеризация стала предпочтительным методом упаковки, развертывания и обновления веб-приложений.
Какую задачу выполняет Kubernetes?
Kubernetes — это ядро Linux, используемое для распределенных систем. Оно помогает вам быть абсолютно...tracОн взаимодействует с базовым оборудованием узлов (серверов) и предлагает согласованный интерфейс для приложений, использующих общий пул ресурсов.
Зачем использовать Kubernetes?
Kubernetes помогает вам контролировать распределение ресурсов и управление трафиком для облачных приложений и микросервисов. Это также помогает упростить различные аспекты сервис-ориентированных инфраструктур. Kubernetes позволяет вам определить, где и когда запускаются контейнерные приложения, и помогает найти ресурсы и инструменты, с которыми вы хотите работать.
Особенности Кубернетес
Вот основные функции Kubernetes:
- Автоматизированное планирование
- Возможности самовосстановления
- Автоматизированное развертывание и откат
- Горизонтальное масштабирование и балансировка нагрузки
- Обеспечивает согласованность среды для разработки, тестирования и производства.
- Инфраструктура слабо связана, каждый компонент может выступать как отдельная единица.
- Обеспечивает более высокую плотность использования ресурсов.
- Предлагает функции корпоративного уровня
- Ориентированное на приложения управление
- Автоматически масштабируемая инфраструктура
- Вы можете создать предсказуемую инфраструктуру
Основы Kubernetes
В этом уроке по Kubernetes мы изучим некоторые важные основы Kubernetes:
Cluster
Это набор хостов (серверов), который помогает вам объединить их доступные ресурсы. Это включает в себя оперативную память, процессор, оперативную память, диск и их устройства в полезный пул.
Эталонный
Мастер — это набор компонентов, составляющих панель управления Kubernetes. Эти компоненты используются для всех решений кластера. Он включает в себя как планирование, так и реагирование на события кластера.
Узел
Это единственный хост, который может работать на физическом или виртуальная машина. На узле должны работать как kube-proxy, minikube, так и kubelet, которые считаются частью кластера.
Пространство имен
Это логический кластер или среда. Это широко используемый метод, применяемый для оценки.ping доступ к кластеру или его разделение.
Kubernetes Archiтекстура
Ниже приведена подробная схема архитектуры Kubernetes:

Мастер Узел
Главный узел — это первый и наиболее важный компонент, отвечающий за управление кластером Kubernetes. Это точка входа для всех видов административных задач. В кластере может быть несколько главных узлов для проверки отказоустойчивости.
Главный узел имеет различные компоненты, такие как API-сервер, диспетчер контроллеров, планировщик и ETCD. Давайте посмотрим на них всех.
API-сервер: Сервер API действует как точка входа для всех команд REST, используемых для управления кластером.
Планировщик
Планировщик планирует задачи для подчиненного узла. Он хранит информацию об использовании ресурсов для каждого подчиненного узла. Он отвечает за распределение рабочей нагрузки.
Это также помогает вам track показывает, как используется рабочая нагрузка на узлах кластера. Это помогает разместить рабочую нагрузку на доступных ресурсах, которые способны её принять.
И т. Д.
Компоненты etcd хранят детали конфигурации и значения параметров. Он взаимодействует с большинством компонентов для получения команд и работы. Он также управляет сетевыми правилами и деятельностью по переадресации портов.
Рабочие/Подчиненные узлы
Рабочие узлы — это еще один важный компонент, который содержит все необходимые службы для управления сетью между контейнерами, связи с главным узлом, что позволяет назначать ресурсы запланированным контейнерам.
- Kubelet: получает конфигурацию пода с сервера API и обеспечивает работоспособность описанных контейнеров.
- Докер-контейнер: Docker контейнер запускается на каждом из рабочих узлов, на котором выполняются настроенные модули
- Kube-прокси: Kube-прокси действует как балансировщик нагрузки и сетевой прокси для выполнения обслуживания на одном рабочем узле.
- Модули: Модуль — это комбинация одного или нескольких контейнеров, которые логически работают вместе на узлах.
Другие ключевые термины
Контроллеры репликации
Контроллер репликации — это объект, который определяет шаблон модуля. Он также управляет параметрами для горизонтального масштабирования идентичных реплик Pod, увеличивая или уменьшая количество запущенных копий.
Наборы репликации
Наборы репликации — это взаимодействие в конструкции контроллера репликации с гибкостью в том, как контроллер распознает модули, которыми он должен управлять. Он заменяет контроллеры репликации из-за их более высоких возможностей выбора реплик.
Развертывания
Развертывание — это обычная рабочая нагрузка, которую можно создавать напрямую и которой можно управлять. При развертывании набор репликации используется в качестве строительного блока, который добавляет возможность управления жизненным циклом.
Наборы с отслеживанием состояния
Это специализированный модуль управления, который обеспечивает упорядоченность и уникальность. В основном он используется для детального контроля, который вам особенно необходим в отношении порядка развертывания, стабильной сети и постоянных данных.
Наборы демонов
Наборы демонов — это еще одна специализированная форма контроллера модуля, которая запускает копию модуля на каждом узле кластера. Этот тип контроллера модулей является эффективным методом развертывания модулей, который позволяет выполнять обслуживание и предлагает услуги для самих узлов.
Kubernetes против Docker Swarm
Вот важные различия между Kubernetes против Docker.
| Параметр | Докер Рой | Kubernetes |
|---|---|---|
| Масштабирование | Нет автомасштабирования | Автоматическое масштабирование |
| Балансировка нагрузки | Есть ли автоматическая балансировка нагрузки | Настройте параметры балансировки нагрузки вручную. |
| Совместное использование тома хранилища | Разделяет тома хранения с любым другим контейнером | Разделяет объемы хранения между несколькими контейнерами внутри одного пода. |
| Использование инструмента входа и мониторинга | Использование 3rd инструмент для вечеринок, такой как ELK | Предоставьте встроенный инструмент для регистрации и мониторинга. |
| Установка: | Легко и быстро | Сложный и трудоемкий |
| Графический интерфейс пользователя | Графический интерфейс недоступен | Графический интерфейс доступен |
| Масштабируемость | Масштабирование происходит быстрее, чем у K8S, но мощность кластера не такая надежная. | Масштабирование происходит медленно по сравнению с Swarm, но гарантирует более надежное состояние кластера. Балансировка нагрузки требует ручной настройки службы. |
| Балансировка нагрузки | Обеспечивает встроенную технику балансировки нагрузки. | Планирование процессов для поддержки услуг во время обновления |
| Обновления и откаты. Журналирование и мониторинг объемов данных. | Прогрессивные обновления и мониторинг работоспособности сервисов. | Доступно только для контейнеров в одном модуле. Встроенные инструменты ведения журнала и мониторинга. |
Преимущества Кубернета
- Простая организация обслуживания с помощью модулей
- Разработано Googleкоторые привносят в компанию многолетний ценный опыт работы в отрасли.
- Крупнейшее сообщество среди инструментов оркестрации контейнеров
- Предлагает различные варианты хранения, в том числе локальные, SAN и общедоступные облака.
- Придерживается принципов неизменяемой инфраструктуры.
- Kubernetes может запускать локальные системы без ОС, OpenStack и публичные облака. Google, Azure, AWS, и т.д.
- Помогает избежать проблем с привязкой к конкретному поставщику, поскольку может использовать любые API или сервисы, специфичные для конкретного поставщика, за исключением случаев, когда Kubernetes предоставляет абсолютную защиту.tracнапример, балансировщик нагрузки и хранилище.
- Контейнеризация с использованием Kubernetes позволяет пакетному программному обеспечению служить этим целям. Это позволит приложениям, которые необходимо выпускать и обновлять, без простоев.
- Kubernetes позволяет вам гарантировать, что эти контейнерные приложения будут запускаться где и когда вы хотите, и помогает вам найти ресурсы и инструменты, с которыми вы хотите работать.
Недостатки Кубернетеса
- Панель управления Kubenetes не так полезна, как должна быть
- Kubernetes немного сложен и ненужен в средах, где вся разработка выполняется локально.
- Безопасность не очень эффективна.
