Этот конспект не сохранится

Закроешь вкладку — потеряешь. Зарегистрируйся — и он будет в библиотеке навсегда.

Telegram

Ваш конспект

YouTubeКурс k8s #1 | Основы Kubernetes | Кубернетес на ОЧЕНЬ простом языке

🚀 Введение в Kubernetes

Ключевые тезисы:

  • Kubernetes — это open-source система для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями.
  • Работает с докер-контейнерами (Docker). Без базового понимания Docker изучать Kubernetes бессмысленно.
  • Основная задача — полная автоматизация работы с контейнерами.
  • Очень популярен, востребован на рынке и упрощает управление инфраструктурой.

🎯 Что такое Kubernetes?

Kubernetes (K8s) — это open-source проект, изначально разработанный в Google для управления своими сервисами (Google Search, YouTube и др.). В 2014 году был открыт для публики. Написан на языке Go.

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

🏗️ Основные компоненты: Кластер

Основная единица Kubernetes — кластер. Кластер состоит из серверов (нод), которые делятся на два типа:

  1. Master Node (Мастер-нода) — "главный босс". Управляет всем кластером. На нём работают ключевые процессы (kube-apiserver, controller-manager и др.). Команды управления (kubectl) отправляются именно мастеру.
  2. Worker Node (Воркер-нода) — "рабочие лошадки". На них запускаются и работают ваши докер-контейнеры. На каждой worker ноде работают процессы kubelet и kube-proxy.

Минимальный кластер: 1 Master Node + 1 Worker Node. В реальных системах worker нод много.

⚙️ Как работает кластер?

  • Мастер знает общие ресурсы всех worker нод (суммарные CPU, память).
  • Вы указываете, откуда брать Docker-образ (например, из Docker Hub, Google Container Registry) и сколько копий контейнера запустить.
  • Kubernetes автоматически распределяет контейнеры по worker нодам, учитывая доступные ресурсы.
  • Если ресурсы заканчиваются, кластер можно масштабировать — добавить новые серверы (worker ноды).

🔥 Почему Kubernetes так популярен? Ключевые возможности

🌐 Service Discovery & Load Balancing

  • Kubernetes даёт доступ к вашему сервису (группе контейнеров) через единый DNS-имя или IP-адрес.
  • Если запущено несколько копий контейнера, K8s автоматически настраивает балансировку нагрузки между ними.
  • Доступ можно организовать и через определённый порт на любой worker ноде.

💾 Хранение данных (Storage Orchestration)

  • Можно подключить к контейнерам различные хранилища: локальные диски, облачные диски (AWS, Google Cloud, Azure).
  • Несколько контейнеров могут иметь общий доступ к одному хранилищу для общих файлов или конфигураций.

🔄 Автоматические развёртывания и откаты (Automated Rollouts & Rollbacks)

  • Можно описать желаемое состояние (например, новый образ контейнера), и Kubernetes обновит все экземпляры приложения без простоя (zero-downtime).
  • Легко сделать откат (rollback) на предыдущую стабильную версию.
  • Стратегии вроде Blue-Green Deployment реализуются просто.

📊 Планирование ресурсов (Resource Bin Packing)

  • Вы указываете, сколько CPU и памяти нужно каждой копии вашего контейнера.
  • Kubernetes сам находит наилучшее место для запуска контейнера на worker нодах, эффективно используя ресурсы и распределяя нагрузку.

🩹 Самовосстановление (Self-Healing)

  • Вы указываете, сколько копий контейнера должно работать (например, 3).
  • Если одна копия падает, Kubernetes автоматически убивает нерабочий контейнер и запускает новый, чтобы поддерживать заданное количество.

🔐 Управление секретами (Secret Management)

  • Позволяет хранить чувствительные данные (пароли, ключи API) отдельно от кода приложения в контейнере.
  • Секреты хранятся в специальном объекте Secret, а контейнеры получают к ним доступ как к переменным окружения.

☁️ Kubernetes как сервис (Managed Kubernetes)

Все крупные облачные провайдеры предлагают управляемые сервисы Kubernetes, что упрощает развёртывание:

  • Amazon EKS (Elastic Kubernetes Service)
  • Google GKE (Google Kubernetes Engine)
  • Microsoft AKS (Azure Kubernetes Service)
  • Yandex Managed Service for Kubernetes

Запустить кластер можно в несколько команд. Также есть бесплатные варианты для обучения.

📜 Сертификация

Существуют официальные сертификаты от Linux Foundation:

  • CKAD (Certified Kubernetes Application Developer) — $300
  • CKA (Certified Kubernetes Administrator) — $300
    Экзамены сдаются онлайн, цена включает одну бесплатную пересдачу.

💎 Выводы

  • Kubernetes — это стандарт де-факто для оркестрации контейнеров, в первую очередь Docker.
  • Он решает ключевые задачи эксплуатации: автоматизацию, масштабирование, отказоустойчивость.
  • Знание Kubernetes — очень востребованный навык для DevOps-инженеров и разработчиков.
  • Начинать изучение стоит с основ Docker, а затем переходить к практическому развёртыванию простых приложений в K8s.
🚀 Введение в Kubernetes: основы и ключевые возможности — конспект на EchoNote