Руководство подразумевает, что вы уже установили minikube.
См. документацию minikube start для инструкций по его установке.
Вам также потребуется установить 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 — готовая к 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 start
Чтобы проверить состояние кластера:
minikube status
Полное пошаговое руководство, включая развёртывание первого приложения и знакомство с панелью Kubernetes, см. в Hello Minikube.