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

LLMS index: [llms.txt](/llms.txt)

---

## Цели

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

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

Команды оболочки в этом руководстве используют синтаксис POSIX shell, который
поддерживается стандартными оболочками большинства систем Linux и macOS, например
bash, zsh или sh. Пользователям Windows для выполнения команд в приведённом виде
нужна POSIX-совместимая оболочка, например
[Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install)
или [Git Bash](https://gitforwindows.org/). Команды, использующие `export`, `$()`
и похожие конструкции, **несовместимы** с PowerShell и командной строкой Windows.


## Кластеры Kubernetes

<div class="alert alert-primary" role="alert">


_Kubernetes — платформа с открытым исходным кодом production-уровня, которая оркестрирует
размещение (планирование) контейнеров приложений и их запуск в рамках одного 
или нескольких компьютерных кластеров._
</div>


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

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

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

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



<figure>
    <img src="/docs/tutorials/kubernetes-basics/public/images/module_01_cluster.svg"/> 
</figure>

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

<div class="alert alert-primary" role="alert">


_Плоскости управления управляют кластером и узлами, на которых размещаются
запущенные приложения._
</div>


**Узел — это виртуальная машина или физический компьютер, который служит рабочей
машиной в кластере Kubernetes.** На каждом узле работает Kubelet — агент, который
управляет узлом и взаимодействует с плоскостью управления Kubernetes. На узле также
должны быть инструменты для запуска контейнеров, например
<a class='glossary-tooltip' title='Исполняемая среда для контейнеров с фокусом на простоту, надежность и переносимость' data-bs-toggle='tooltip' data-bs-placement='top' href='https://containerd.io/docs/' target='_blank' aria-label='containerd'>containerd</a> или
<a class='glossary-tooltip' title='Легковесная исполняемая среда для контейнеров, разработанная специально для Kubernetes' data-bs-toggle='tooltip' data-bs-placement='top' href='https://cri-o.io/#what-is-cri-o' target='_blank' aria-label='CRI-O'>CRI-O</a>. В кластере Kubernetes, который обслуживает
production-трафик, должно быть как минимум три узла: при меньшем их количестве выход из строя одного узла означает потерю кворума [etcd](/docs/concepts/architecture/#etcd) и
экземпляра плоскости управления, т. е. избыточность оказывается недостаточной. Этот риск можно
снизить, добавив больше узлов плоскости управления.

Когда вы развёртываете приложения в Kubernetes, вы указываете плоскости управления
запустить контейнеры приложения. Плоскость управления планирует запуск контейнеров
на узлах кластера. **Компоненты уровня узла, например kubelet, взаимодействуют с
плоскостью управления через [Kubernetes API](/docs/concepts/overview/kubernetes-api/)**,
который предоставляется плоскостью управления. Конечные пользователи также могут
использовать Kubernetes API напрямую для взаимодействия с кластером.

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

## Что дальше

* Руководство [Hello Minikube](/docs/tutorials/hello-minikube/).
* Узнайте больше об [архитектуре кластера](/docs/concepts/architecture/).
