# Jak użyć Minikube do stworzenia klastra

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

---

## Cele

* Dowiedz się, czym jest klaster Kubernetesa.
- Dowiedz się, czym jest Minikube.
* Uruchom klaster Kubernetesa.

## Zanim zaczniesz

Ten samouczek zakłada, że masz już zainstalowany `minikube`. Aby dowiedzieć się więcej
o instrukcji instalacji zobacz [minikube start](https://minikube.sigs.k8s.io/docs/start/).

<div class="alert alert-info" role="note"><h4 class="alert-heading">Informacja:</h4>Wykonaj tylko instrukcje zawarte w <strong>kroku 1: Instalacja</strong>. Reszta jest omówiona w tym przewodniku.</div>


Musisz również zainstalować `kubectl`. Zobacz
[Instalacja narzędzi](/docs/tasks/tools/#kubectl) po instrukcje dotyczące instalacji.

Polecenia w tym poradniku są napisane w składni zgodnej ze standardem POSIX, którą
obsługują domyślne powłoki w Linuxie i macOS (np. bash, zsh, sh). Jeśli
używasz Windowsa, potrzebujesz powłoki zgodnej z POSIX, np. WSL
[Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install) lub
[Git Bash](https://gitforwindows.org/), żeby
uruchomić je w takiej formie. Polecenia z `export`, `$()` i podobnymi
elementami **nie** zadziałają w PowerShellu ani w zwykłym wierszu polecenia.

## Klastry Kubernetesa {#kubernetes-clusters}

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


_Kubernetes to platforma oprogramowania typu open source, gotowa do pracy w środowiskach produkcyjnych, która zarządza
rozmieszczeniem i uruchomieniem kontenerów zawierających aplikacje
na klastrach komputerowych._
</div>


**Zadaniem Kubernetesa jest zarządzanie klastrem komputerów o wysokiej dostępności, działającego jako jedna całość.**
Kubernetes, poprzez swój system obiektów
abstrakcyjnych, umożliwia uruchamianie aplikacji w kontenerach bez przypisywania ich do konkretnej
maszyny. Aby móc korzystać z tego nowego modelu instalacji, aplikacje muszą być
przygotowane w taki sposób, aby były niezależne od konkretnego serwera: muszą być
skonteneryzowane. Aplikacje w kontenerach są bardziej elastyczne przy instalacji, niż to miało
miejsce w poprzednich modelach, kiedy aplikacje były instalowane bezpośrednio na
konkretne maszyny jako pakiety ściśle powiązane z tą maszyną.
**Kubernetes automatyzuje dystrybucję i zlecanie uruchamiania aplikacji na klastrze w bardziej efektywny sposób.** Kubernetes jest
platformą otwartego oprogramowania, gotowym do pracy w środowiskach produkcyjnych.

Klaster Kubernetesa składa się z dwóch rodzajów zasobów:

* **Warstwa sterowania** koordynuje działanie klastra
* Na **węzłach _(nodes)_** uruchamiane są aplikacje

### Diagram klastra {#cluster-diagram}



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

**Warstwa sterowania odpowiada za zarządzanie klastrem.** Warstwa sterowania
koordynuje wszystkie działania klastra, takie jak zlecanie uruchomienia aplikacji,
utrzymywanie pożądanego stanu aplikacji, skalowanie aplikacji i instalowanie nowych wersji.

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


_Warstwy sterowania zarządzają klastrem i węzłami, które są używane do hostowania
uruchomionych aplikacji._
</div>


**Węzeł to maszyna wirtualna (VM) lub fizyczny serwer, który jest maszyną roboczą w klastrze Kubernetesa.**
Na każdym węźle działa Kubelet, agent zarządzający tym węzłem i komunikujący
się z warstwą sterowania Kubernetesa. Węzeł zawiera także narzędzia do obsługi kontenerów,
takie jak <a class='glossary-tooltip' title='A container runtime with an emphasis on simplicity, robustness and portability' data-bs-toggle='tooltip' data-bs-placement='top' href='https://containerd.io/docs/' target='_blank' aria-label='containerd'>containerd</a> lub
<a class='glossary-tooltip' title='A lightweight container runtime specifically for 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>. Klaster Kubernetesa w środowisku produkcyjnym powinien składać się
minimum z trzech węzłów, ponieważ w przypadku awarii jednego węzła traci się zarówno element
[etcd](/docs/concepts/architecture/#etcd), jak i warstwy sterowania przy jednoczesnym
zachowaniu minimalnej nadmiarowości (_redundancy_). Dodanie kolejnych węzłów warstwy sterowania może temu zapobiec.

Kiedy instalujesz aplikację na Kubernetesie, zlecasz warstwie sterowania
uruchomienie kontenera z aplikacją. Warstwa sterowania zleca uruchomienie kontenera
na węzłach klastra. **Komponenty działające na poziomie węzła, takie jak
kubelet, komunikują się z warstwą sterowania przy użyciu
[API Kubernetesa](/docs/concepts/overview/kubernetes-api/)**, udostępnianego poprzez warstwę sterowania.
Użytkownicy końcowi mogą korzystać bezpośrednio z API Kubernetesa do komunikacji z klastrem.

Klaster Kubernetesa może być zainstalowany zarówno na fizycznych, jak i na maszynach
wirtualnych. Aby wypróbować Kubernetesa, można też wykorzystać Minikube. Minikube to
"lekka" implementacja Kubernetesa, która tworzy VM na maszynie lokalnej i instaluje
prosty klaster składający się tylko z jednego węzła. Minikube jest dostępny na systemy Linux,
macOS i  Windows. Narzędzie linii poleceń Minikube obsługuje podstawowe
operacje na klastrze, takie jak start, stop, prezentacja informacji jego stanie i usunięcie klastra.

## Utwórz klaster minikube {#create-a-minikube-cluster}

Aby uruchomić klaster minikube:

```shell
minikube start
```

Aby zweryfikować status klastra:

```shell
minikube status
```

Aby uzyskać pełne wprowadzenie, w tym wdrożenie Twojej pierwszej aplikacji i eksplorację dashboardu Kubernetes, zapoznaj się z samouczkiem [Hello Minikube](/docs/tutorials/hello-minikube/).

## Co dalej?

* Samouczek [Wdrażanie aplikacji](/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/).
* Dowiedz się więcej o [architekturze klastra](/docs/concepts/architecture/).
