Introducing ZYNOO General Purpose & CPU Optimized Servers   Learn More >

Jak zainstalować Kubernetes na Ubuntu za pomocą K3s

Chcesz zainstalować Kubernetes na Ubuntu bez konfigurowania od podstaw skomplikowanego klastra? K3s to lekka dystrybucja Kubernetes, która upraszcza ten proces, dzięki czemu jest praktycznym wyborem dla programistów uczących się Kubernetes na serwerze VPS.

W tym poradniku dowiesz się, jak zainstalować Kubernetes na Ubuntu 24.04 za pomocą K3s, utworzyć klaster z jednym węzłem, wdrożyć aplikację Nginx i sprawdzić, czy wszystko działa.

Nie musisz instalować Dockera ani konfigurować osobnego środowiska uruchomieniowego kontenerów.

Czym jest K3s i dlaczego warto go używać?

K3s to lekka dystrybucja Kubernetes z certyfikatem CNCF, zaprojektowana tak, aby uprościć instalację i obsługę Kubernetes.

Łączy niezbędne komponenty, w tym środowisko uruchomieniowe kontenerów i obsługę sieci klastra, w uproszczonej instalacji.

W przeciwieństwie do tradycyjnej instalacji Kubernetes za pomocą kubeadm K3s automatycznie przeprowadza znaczną część początkowej konfiguracji.

Instalacja K3s na jednym węźle tworzy działający klaster Kubernetes, odpowiedni do programowania, testowania i nauki.

Jeśli nie znasz pojęć Kubernetes, takich jak pody i obiekty Deployment, przeczytaj najpierw nasz poradnik Czym jest Kubernetes?.

Instalacja Kubernetes na Ubuntu za pomocą K3s

Wymagania wstępne

Przed rozpoczęciem potrzebujesz:

  • Serwera z systemem Ubuntu 24.04 LTS.
  • Dostępu przez SSH z uprawnieniami sudo.
  • Co najmniej 2 rdzeni CPU i 2 GB RAM.
  • Najlepiej 4 GB RAM lub więcej, aby zapewnić sobie komfortowe warunki do nauki.
  • Wystarczającej ilości miejsca na dysku SSD i dostępu do internetu, aby pobierać obrazy kontenerów.

Według oficjalnych wymagań K3s węzeł serwerowy potrzebuje co najmniej 2 rdzeni CPU i 2 GB RAM. Rzeczywiste wymagania uruchamianych aplikacji mogą być wyższe.

Potrzebujesz serwera VPS z Ubuntu dla Kubernetes?
Wdróż K3s z dostępem do konta root i elastycznymi zasobami serwera.
Poznaj serwery VPS z Ubuntu →

Uwaga dotycząca bezpieczeństwa: Zachowaj dostęp przez SSH i ogranicz dostęp do API Kubernetes na porcie 6443. Na potrzeby tego poradnika nie musisz udostępniać tego portu publicznie. Jeśli korzystasz z UFW lub innej zapory sieciowej, przed instalacją zapoznaj się z oficjalnymi wymaganiami sieciowymi K3s.

Krok 1: Zaktualizuj serwer Ubuntu

Połącz się z serwerem Ubuntu przez SSH i odśwież informacje o pakietach:

sudo apt update
sudo apt upgrade -y

Sprawdź wersję Ubuntu:

lsb_release -a

Powinna wyświetlić się wersja Ubuntu 24.04 LTS.

Jeśli aktualizacje systemu wymagają ponownego uruchomienia serwera, uruchom go ponownie, a następnie połącz się przez SSH.

K3s instaluje własne środowisko uruchomieniowe kontenerów, więc Docker Engine nie jest wymagany.

Krok 2: Zainstaluj Kubernetes na Ubuntu za pomocą K3s

K3s udostępnia oficjalny skrypt instalacyjny.

Standardowe polecenie instalacji to:

curl -sfL https://get.k3s.io | sh -

To polecenie pobiera i uruchamia instalator K3s. Przed jego uruchomieniem zapoznaj się z oficjalną instrukcją instalacji oraz samym instalatorem, zwłaszcza jeśli instalujesz K3s na serwerze produkcyjnym.

Instalacja konfiguruje K3s jako usługę systemd i instaluje narzędzia do zarządzania Kubernetes.

Po zakończeniu instalacji sprawdź stan usługi:

sudo systemctl status k3s

Poszukaj:

Active: active (running)

Naciśnij q, aby zamknąć widok stanu.

Jeśli usługa działa, instalacja Kubernetes została pomyślnie uruchomiona.

Krok 3: Sprawdź klaster Kubernetes

K3s zawiera własne narzędzie wiersza poleceń kubectl do zarządzania zasobami Kubernetes.

Uruchom:

sudo k3s kubectl get nodes

Po zainicjowaniu klastra zobaczysz wynik podobny do poniższego:

NAME        STATUS   ROLES                  AGE   VERSION
ubuntu-vps  Ready    control-plane,master   2m    v1.xx.x+k3s1

Nazwa Twojego hosta i wersja Kubernetes będą inne.

Ważna jest wartość Ready, która oznacza, że Kubernetes uznaje węzeł za gotowy do uruchamiania aplikacji.

Następnie sprawdź pody systemowe:

sudo k3s kubectl get pods -A

Wyświetli to pody ze wszystkich przestrzeni nazw, w tym usługi systemowe Kubernetes.

Inicjalizacja niektórych komponentów może chwilę potrwać. Jeśli nadal się uruchamiają, sprawdź je ponownie po chwili.

Po zainstalowaniu Kubernetes na Ubuntu za pomocą K3s klaster jest gotowy do uruchamiania aplikacji w kontenerach. Wdróżmy Nginx, aby sprawdzić, czy wszystko działa.

Krok 4: Wdróż pierwszą aplikację

Klaster już działa, więc wdróżmy prosty serwer WWW Nginx.

Utwórz obiekt Deployment:

sudo k3s kubectl create deployment demo-nginx --image=nginx:stable

Kubernetes tworzy obiekt Deployment zarządzający kontenerem Nginx.

Sprawdź postęp wdrożenia:

sudo k3s kubectl get deployments

Poczekaj, aż obiekt Deployment wykaże jedną dostępną replikę.

Możesz też sprawdzić jego pod:

sudo k3s kubectl get pods

Pod powinien ostatecznie uzyskać status Running, a jego kontener powinien być gotowy.

Jeśli widzisz status ContainerCreating, obraz kontenera może się jeszcze pobierać.

Krok 5: Utwórz usługę Kubernetes

Usługa Kubernetes zapewnia stabilny punkt dostępu sieciowego do aplikacji, nawet jeśli jej pody zostaną zastąpione.

Udostępnij obiekt Deployment z Nginx wewnątrz klastra:

sudo k3s kubectl expose deployment demo-nginx --type=ClusterIP --port=80

Sprawdź usługę:

sudo k3s kubectl get services

Powinna pojawić się usługa o nazwie demo-nginx z adresem ClusterIP i portem 80.

Typ ClusterIP udostępnia aplikację wewnątrz klastra Kubernetes. Nie udostępnia Nginx bezpośrednio w publicznym internecie.

Krok 6: Przetestuj aplikację Nginx

Użyjemy przekierowania portów w Kubernetes, aby przetestować aplikację bez konfigurowania publicznego modułu równoważenia obciążenia.

Uruchom:

sudo k3s kubectl port-forward service/demo-nginx 8080:80

Pozostaw tę sesję SSH otwartą.

Polecenie przekierowuje port 8080 na interfejsie pętli zwrotnej serwera na port 80 usługi Nginx.

Otwórz drugie połączenie SSH z tym samym serwerem i uruchom:

curl http://127.0.0.1:8080

Powinien pojawić się kod HTML zawierający domyślną stronę powitalną Nginx.

Udało się! Kubernetes został zainstalowany na Ubuntu za pomocą K3s, aplikacja w kontenerze została wdrożona i uzyskano do niej dostęp przez usługę Kubernetes.

Naciśnij Ctrl+C w pierwszej sesji, aby zatrzymać przekierowanie portów.

Ten test potwierdza jedynie dostęp lokalny. Publiczne udostępnienie aplikacji wymaga dodatkowej konfiguracji sieci, DNS, TLS i zabezpieczeń.

Typowe problemy z instalacją K3s

Usługa K3s nie uruchamia się

Sprawdź dzienniki usługi:

sudo journalctl -u k3s -n 50

Poszukaj problemów z uprawnieniami, siecią lub komponentów, których uruchomienie się nie powiodło.

Węzeł Kubernetes ma status NotReady

Sprawdź szczegóły węzła:

sudo k3s kubectl describe node

Przeanalizuj zgłoszone problemy, wykorzystanie zasobów systemowych i działanie sieci.

Pod Nginx nie działa

Sprawdź pod:

sudo k3s kubectl get pods

Następnie przejrzyj zdarzenia obiektu Deployment:

sudo k3s kubectl describe deployment demo-nginx

Błędy pobierania obrazu, niewystarczające zasoby lub problemy z siecią klastra mogą uniemożliwić uruchomienie podów.

Przekierowanie portów nie działa

Upewnij się, że pod Nginx jest gotowy, a usługa istnieje.

Pamiętaj, że polecenie przekierowania portów musi działać przez cały czas testowania aplikacji z drugiej sesji SSH.

Czy do uruchomienia K3s potrzebny jest Docker?

Nie. K3s zawiera containerd — środowisko uruchomieniowe kontenerów używane do uruchamiania aplikacji w Kubernetes.

Możesz wdrażać zgodne obrazy kontenerów, w tym obrazy zbudowane za pomocą Dockera, bez instalowania Docker Engine na serwerze K3s.

Co dalej?

Klaster z jednym węzłem nadaje się do poznawania Kubernetes w praktyce, ale nie staje się automatycznie środowiskiem produkcyjnym o wysokiej dostępności.

Przed wdrożeniem aplikacji o kluczowym znaczeniu dla działalności zaplanuj:

  • Kontrolę dostępu do klastra i aktualizacje zabezpieczeń.
  • Trwałe przechowywanie danych i procedury tworzenia kopii zapasowych.
  • Monitorowanie i limity zasobów.
  • Bezpieczne udostępnianie aplikacji przez HTTPS.
  • Odzyskiwanie sprawności po awarii węzła lub serwera.

Pamiętaj, że klaster z jednym węzłem nadal zależy od jednej maszyny fizycznej lub wirtualnej. Kubernetes nie może wyeliminować tego pojedynczego punktu awarii.

Najczęściej zadawane pytania

Czy K3s to to samo co Kubernetes?

K3s to certyfikowana dystrybucja Kubernetes. Zapewnia funkcjonalność Kubernetes, a jednocześnie upraszcza instalację i zmniejsza nakład pracy związanej z obsługą.

Czy mogę zainstalować Kubernetes na serwerze VPS?

Tak. Możesz uruchomić K3s na serwerze VPS z systemem Linux, jeśli dysponuje on wystarczającymi zasobami CPU, RAM i przestrzenią dyskową oraz masz do niego dostęp administracyjny.

Czy K3s nadaje się do środowiska produkcyjnego?

K3s można używać w środowisku produkcyjnym, ale jego niezawodność zależy od architektury i zasobów klastra oraz konfiguracji sieci, zabezpieczeń i kopii zapasowych.

Czy mogę później odinstalować K3s?

Tak. K3s udostępnia skrypt do odinstalowania, ale jego usunięcie może spowodować skasowanie zasobów klastra i lokalnych danych aplikacji. Przed odinstalowaniem utwórz kopię zapasową ważnych danych.

Podsumowanie

Wiesz już, jak zainstalować Kubernetes na Ubuntu za pomocą K3s, sprawdzić klaster z jednym węzłem i wdrożyć aplikację Nginx.

Za pomocą K3s powstało działające środowisko Kubernetes z jednym węzłem. Udało się wdrożyć Nginx, udostępnić go przez usługę i sprawdzić działanie aplikacji za pomocą przekierowania portów.

W miarę zdobywania doświadczenia możesz poznawać obiekty Deployment, skalowanie, konfigurację i zarządzanie klastrem.

Table of Content

Serwer proxy odwrotny Nginx odbiera żądania od odwiedzających witrynę i przekazuje je do innego serwera

Błąd 502 Bad Gateway w Nginx zwykle oznacza, że Nginx nie otrzymał prawidłowej odpowiedzi z

Błąd 504 Gateway Timeout występuje, gdy serwer działający jako brama lub serwer proxy nie otrzyma

Build your next project with ZYNOO

From your first website to demanding applications, choose the resources and control you need.

Shared Hosting

Start your blog or business website with cPanel, LiteSpeed and CloudLinux.

VPS Hosting

Grow your websites and applications with NVMe storage, KVM virtualization and full root access.

Dedicated Servers

Power demanding projects with your own physical server, dedicated resources and control over your environment.

Przewijanie do góry