Это многостраничный печатный вид этого раздела. Нажмите что бы печатать.

Вернуться к обычному просмотру страницы.

Создание кластера

Узнайте о кластере Kubernetes и создайте простой кластер с помощью Minikube.

1 - Использование Minikube для создания кластера

Цели

  • Узнать, что такое кластер Kubernetes.
  • Узнать, что такое Minikube.
  • Запустить кластер Kubernetes на своём компьютере.

Подготовка к работе

Руководство подразумевает, что вы уже установили minikube. См. документацию minikube start для инструкций по его установке.

Примечание:

Выполните только инструкции из шага 1: Установка. Остальные шаги рассмотрены в этом руководстве.

Вам также потребуется установить kubectl. См. Установку и настройку kubectl для инструкций по его установке.

Команды оболочки в этом руководстве используют синтаксис POSIX shell, который поддерживается стандартными оболочками большинства систем Linux и macOS, например bash, zsh или sh. Пользователям Windows для выполнения команд в приведённом виде нужна POSIX-совместимая оболочка, например Windows Subsystem for Linux (WSL) или Git Bash. Команды, использующие export, $() и похожие конструкции, несовместимы с PowerShell и командной строкой Windows.

Кластеры Kubernetes

Kubernetes координирует высокодоступный кластер компьютеров, которые работают как единое целое. Абстракции Kubernetes позволяют развёртывать контейнеризованные приложения в кластере, не привязывая их к конкретным машинам. Чтобы использовать такую модель развёртывания, приложения нужно упаковать так, чтобы они были отделены от отдельных хостов: они должны быть контейнеризованы. Контейнеризованные приложения более гибкие и доступные, чем в прежних моделях развёртывания, где приложения устанавливались напрямую на конкретные машины как пакеты, глубоко интегрированные с хостом. Kubernetes автоматизирует распределение и планирование контейнеров приложений по кластеру более эффективным способом. Kubernetes — готовая к production-использованию платформа с открытым исходным кодом.

Кластер Kubernetes состоит из двух типов ресурсов:

  • Управляющий слой координирует работу кластера.
  • Узлы — это рабочие машины, на которых запускаются приложения.

Схема кластера

Управляющий слой отвечает за управление кластером. Он координирует все действия в кластере: планирование приложений, поддержание желаемого состояния, масштабирование приложений и развёртывание новых обновлений.

Узел — это виртуальная машина или физический компьютер, который служит рабочей машиной в кластере Kubernetes. На каждом узле работает Kubelet — агент, который управляет узлом и взаимодействует с управляющим слоем Kubernetes. На узле также должны быть инструменты для запуска контейнеров, например containerd или CRI-O. Распространённая и поддерживаемая модель развёртывания предполагает запуск компонентов управляющего слоя Kubernetes на выделенных узлах управляющего слоя.

Когда вы развёртываете приложения в Kubernetes, вы указываете управляющему слою запустить контейнеры приложения. Управляющий слой планирует запуск контейнеров на узлах кластера. Компоненты уровня узла, например kubelet, взаимодействуют с управляющим слоем через Kubernetes API, который предоставляется управляющим слоем. Конечные пользователи также могут использовать Kubernetes API напрямую для взаимодействия с кластером.

Кластер Kubernetes можно развернуть на физических или виртуальных машинах. Для начала разработки с Kubernetes можно использовать Minikube. Minikube — упрощённая реализация Kubernetes, которая создаёт виртуальную машину на локальной машине и развёртывает простой кластер из одного узла. Minikube доступен для Linux, macOS и Windows. CLI Minikube предоставляет базовые операции для начальной настройки и управления кластером: start, stop, status и delete.

Создание кластера minikube

Чтобы запустить кластер minikube:

minikube start

Чтобы проверить состояние кластера:

minikube status

Полное пошаговое руководство, включая развёртывание первого приложения и знакомство с панелью Kubernetes, см. в Hello Minikube.

Что дальше