--- title: Hello Minikube content_type: tutorial weight: 5 menu: main: title: "Jak zacząć?" weight: 10 post: >
Jesteś gotowy ubrudzić ręce? Zbuduj własny klaster Kubernetes z działającą na nim przykładową aplikacją.
card: name: tutorials weight: 10 --- Ten samouczek pokaże, jak uruchomić przykładową aplikację na Kubernetesie przy użyciu minikube oraz Katacoda. Katacoda to darmowe środowisko Kubernetes dostępne bezpośrednio z przeglądarki web. {{< note >}} Możesz też skorzystać z tego samouczka, jeśli już zainstalowałeś minikube. Odwiedź stronę [minikube start](https://minikube.sigs.k8s.io/docs/start/), aby dowiedzieć się, jak go zainstalować. {{< /note >}} ## {{% heading "objectives" %}} * Skonfiguruj przykładową aplikację do uruchomienia w minikube. * Uruchom aplikację. * Przejrzyj jej logi. ## {{% heading "prerequisites" %}} W tym samouczku wykorzystamy obraz kontenera, który korzysta z NGINX, aby wyświetlić z powrotem wszystkie przychodzące zapytania. ## Stwórz klaster minikube 1. Kliknij w **Launch Terminal** {{< kat-button >}} {{< note >}} Jeśli masz minikube zainstalowane lokalnie, uruchom `minikube start`. Przed uruchomieniem `minikube dashboard`, otwórz okno nowego terminala, uruchom w nim `minikube dashboard` i przełącz się z powrotem do okna głównego terminala. {{< /note >}} 2. Otwórz panel Kubernetesa w przeglądarce: ```shell minikube dashboard ``` 3. Tylko w Katacoda: Na górze okienka z terminalem kliknij na znak plus, a następnie wybierz **Select port to view on Host 1**. 4. Tylko w Katacoda: Wpisz `30000`i kliknij **Display Port**. {{< note >}} Polecenie `dashboard` uruchamia dodatek panelu i otwiera proxy w domyślnej przeglądarce. W panelu można tworzyć różne obiekty Kubernetesa, takie jak _Deployment_ czy _Serwis_. Jeśli pracujesz z uprawnieniami roota, skorzystaj z: [Otwieranie panelu poprzez URL](#otwieranie-panelu-poprzez-url). Panel jest domyślnie dostępny jedynie z wewnętrznej sieci Kubernetesa. Polecenie `dashboard` tworzy tymczasowe proxy, które udostępnia panel także poza tą wewnętrzną sieć. Aby zatrzymać proxy, wciśnij `Ctrl+C` i zakończ proces. Panel ciągle działa na klastrze Kubernetesa, nawet po przerwaniu działania proxy. Aby dostać się ponownie do panelu, trzeba stworzyć kolejne proxy poleceniem `dashboard`. {{< /note >}} ## Otwieranie panelu poprzez URL Jeśli nie chcesz otwierać przeglądarki, uruchom panel z opcją `--url`, aby wyświetlić URL: ```shell minikube dashboard --url ``` ## Stwórz Deployment [*Pod*](/docs/concepts/workloads/pods/) w Kubernetesie to grupa jednego lub wielu kontenerów połączonych ze sobą na potrzeby administrowania i dostępu sieci. W tym samouczku Pod zawiera tylko jeden kontener. [*Deployment*](/docs/concepts/workloads/controllers/deployment/) w Kubernetesie monitoruje stan twojego Poda i restartuje należące do niego kontenery, jeśli z jakichś powodów przestaną działać. Użycie Deploymentu to rekomendowana metoda zarządzania tworzeniem i skalowaniem Podów. 1. Użyj polecenia `kubectl create` do stworzenia Deploymentu, który będzie zarządzał Podem. Pod uruchamia kontener wykorzystując podany obraz Dockera. ```shell kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4 ``` 2. Sprawdź stan Deploymentu: ```shell kubectl get deployments ``` Wynik powinien wyglądać podobnie do: ``` NAME READY UP-TO-DATE AVAILABLE AGE hello-node 1/1 1 1 1m ``` 3. Sprawdź stan Poda: ```shell kubectl get pods ``` Wynik powinien wyglądać podobnie do: ``` NAME READY STATUS RESTARTS AGE hello-node-5f76cf6ccf-br9b5 1/1 Running 0 1m ``` 4. Obejrzyj zdarzenia na klastrze: ```shell kubectl get events ``` 5. Sprawdź konfigurację `kubectl`: ```shell kubectl config view ``` {{< note >}} Więcej informacji na temat polecenia `kubectl` znajdziesz w [przeglądzie kubectl](/docs/reference/kubectl/overview/). {{< /note >}} ## Stwórz Serwis Domyślnie Pod jest dostępny tylko poprzez swój wewnętrzny adres IP wewnątrz klastra Kubernetes. Aby kontener `hello-node` był osiągalny spoza wirtualnej sieci Kubernetesa, musisz najpierw udostępnić Pod jako [*Serwis*](/docs/concepts/services-networking/service/) Kubernetes. 1. Udostępnij Pod w Internecie przy pomocy polecenia `kubectl expose`: ```shell kubectl expose deployment hello-node --type=LoadBalancer --port=8080 ``` Opcja `--type=LoadBalancer` wskazuje, że chcesz udostępnić swój Serwis na zewnątrz klastra. Aplikacja, która jest umieszczona w obrazie kontenera `k8s.gcr.io/echoserver`, nasłuchuje jedynie na porcie TCP 8080. Jeśli użyłeś `kubectl expose` do wystawienia innego portu, aplikacje klienckie mogą nie móc się podłączyć do tamtego innego portu. 2. Sprawdź Serwis, który właśnie utworzyłeś: ``` kubectl get services ``` Wynik powinien wyglądać podobnie do: ```shell NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-node LoadBalancer 10.108.144.78