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?.

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.
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.
Jeśli dopiero poznajesz konteneryzację, nasz poradnik Dockera dla początkujących wyjaśnia, jak działają kontenery i obrazy.
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
K3s to certyfikowana dystrybucja Kubernetes. Zapewnia funkcjonalność Kubernetes, a jednocześnie upraszcza instalację i zmniejsza nakład pracy związanej z obsługą.
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.
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.
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.