Skip to content
Virtualall

Virtualall

Automate, Protect, Optimize – IT Simplified

  • Home
  • Windows
    • ActiveDirectory
    • DNS
  • VMware
    • Automation
    • vSphere
    • Horizon
  • Proxmox
  • Checkpoint
  • CheckMK
  • Veeam
  • Azure
  • English (US)English (US)
  • SlovenčinaSlovenčina
  • Toggle search form
K3s na Raspberry Pi – Od nápadu po funkčný Kubernetes klaster

K3s on Raspberry Pi – From Idea to Functional Kubernetes Cluster

Posted on August 9, 2025September 11, 2026 By Martin Hasin No Comments on K3s on Raspberry Pi – From Idea to Functional Kubernetes Cluster

K3s je odľahčená distribúcia Kubernetes, vyvinutá spoločnosťou Rancher Labs, ktorá umožňuje rýchle a jednoduché nasadenie Kubernetes klastra aj na zariadeniach s obmedzenými zdrojmi. Je optimalizovaný na nízku spotrebu RAM, CPU a úložiska, pričom si zachováva všetky kľúčové funkcie Kubernetes – od nasadzovania aplikácií až po ich správu a škálovanie.

Vďaka malej pamäťovej stope (typicky do 512 MB RAM na uzol) a jednoduchosti inštalácie je k3s ideálnym riešením pre projekty Edge computingu, IoT, vývojové prostredia a menšie produkčné nasadenia.
Jeho hlavná sila spočíva v tom, že spúšťa kompletný Kubernetes control plane v jednom binárnom súbore a odstraňuje nepotrebné komponenty, čím šetrí výkon a zjednodušuje konfiguráciu.

Prečo práve Raspberry Pi – beby cloud

Raspberry Pi je cenovo dostupný a energeticky nenáročný jednodeskový počítač, ktorý sa vo svete IT stal populárnym pre svoje široké možnosti nasadenia – od domácich serverov až po komplexné clustre.
V kombinácii s k3s dokáže Raspberry Pi slúžiť ako plnohodnotný Kubernetes klaster vhodný na:

  • vývoj a testovanie aplikácií,
  • simuláciu distribuovaných prostredí,
  • bežiace IoT projekty,
  • výučbu a experimenty s cloud-native technológiami.

Výhodou je aj nízka spotreba energie, tichá prevádzka a možnosť fyzicky umiestniť viacero uzlov na malý priestor, čo z neho robí atraktívnu alternatívu pre domácich nadšencov aj profesionálov, ktorí chcú experimentovať s Kubernetes.

Čo v článku nájdete

V ďalších častiach sa budeme venovať:

Príprave Raspberry Pi na inštaláciu k3s (OS, sieť, SSH, nastavenia).

Postupu nasadenia master uzla s k3s.

Pridaniu worker uzlov do klastra.

Kontrole funkčnosti a testovaniu nasadenia.

Príprava Raspberry Pi na inštaláciu k3s

Aby bol k3s klaster na Raspberry Pi stabilný a pripravený na dlhodobú prevádzku, je potrebné pred samotnou inštaláciou pripraviť všetky uzly. Nasledujúce kroky zabezpečia optimalizované prostredie pre Kubernetes a minimalizujú problémy počas prevádzky.


1. Výber a inštalácia operačného systému

  • Odporúčané je použiť Raspberry Pi OS Lite (64-bit) alebo Ubuntu Server 22.04 LTS (64-bit).
  • Vyhnite sa desktopovým verziám – zbytočne spotrebúvajú RAM a CPU.
  • OS nahrajte na microSD kartu alebo SSD pomocou Raspberry Pi Imager.
  • Pri inštalácii nastavte:
    • Hostname (napr. rpi-master, rpi-worker1, rpi-worker2).
    • Povolenie SSH prístupu.
    • Nastavenie silného hesla pre používateľa pi alebo vytvorenie nového používateľa.

2. Aktualizácia systému

Po prvom spustení sa prihláste na každý uzol a aktualizujte balíčky:

sudo apt update && sudo apt full-upgrade -y
sudo reboot

Tým zabezpečíte aktuálne bezpečnostné záplaty a kompatibilitu knižníc potrebných pre k3s.


3. Nastavenie statickej IP adresy

K3s klaster vyžaduje, aby sa master aj workery vedeli navzájom spoľahlivo nájsť. Najjednoduchšie je priradiť im statické IP adresy:

  • Nastavte IP adresy buď v DHCP serveri (statické lease) alebo priamo v súbore /etc/dhcpcd.conf (Raspberry Pi OS) / Netplan konfigurácii (Ubuntu Server).

4. Aktivácia a zabezpečenie SSH

Ak ste SSH nepovolili už pri inštalácii, zapnite ho:

sudo systemctl enable ssh
sudo systemctl start ssh

Odporúčané bezpečnostné opatrenia:

  • Zakázať prihlasovanie cez heslo a povoliť iba SSH kľúče.
  • Zmeniť štandardný port 22 na iný (napr. 2222).

5. Nastavenie hostname

Na každom Raspberry Pi nastavte jedinečný hostname:

sudo hostnamectl set-hostname rpi-master

(reštartujte alebo odhláste a prihláste sa znova, aby sa zmena prejavila)

6. Vypnutie nepotrebných služieb a swapu

K3s na Raspberry Pi pracuje lepšie bez swapu:

sudo dphys-swapfile swapoff
sudo systemctl disable dphys-swapfile

7. Povolenie cgroups (Control Groups)

Cgroups sú potrebné na správu zdrojov v Kubernetes.
Otvorte súbor /boot/cmdline.txt a pridajte na koniec riadku:

cgroup_memory=1 cgroup_enable=memory

Potom reštartujte zariadenie.

8. Synchronizácia času

Pre stabilitu klastra je dôležitá synchronizácia systémového času:

sudo timedatectl set-ntp true

Overte nastavenie:

timedatectl
8. Synchronizácia času

Týmto je Raspberry Pi pripravené na inštaláciu k3s. V ďalšej časti sa bude pokračovať nastavením master uzla a následným pridaním worker uzlov do klastra.

Inštalácia k3s na master uzol

Po príprave Raspberry Pi môžeme pristúpiť k inštalácii master uzla (control plane). Tento uzol bude riadiť celý Kubernetes klaster a uchovávať jeho stav.

1. Prihlásenie na master uzol

Pripojte sa na master Raspberry Pi cez SSH (z iného počítača alebo priamo cez konzolu):

ssh pi@IP_ADRESA_MASTER

(IP_ADRESA_MASTER nahraďte skutočnou IP adresou master uzla)

2. Spustenie inštalácie k3s

K3s poskytuje jednoduchý inštalačný skript, ktorý nainštaluje všetky potrebné komponenty a nakonfiguruje klaster.

Spustite:

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

Skript automaticky:

  • Stiahne najnovšiu verziu k3s.
  • Nainštaluje ju ako systémovú službu (/etc/systemd/system/k3s.service).
  • Spustí API server, scheduler a controller manager.
  • Uloží konfiguráciu do /etc/rancher/k3s/k3s.yaml.
2. Spustenie inštalácie k3s

3. Overenie stavu klastra

Po dokončení inštalácie skontrolujte, či k3s beží:

sudo systemctl status k3s
3. Overenie stavu klastra

Získajte informácie o uzle a podoch:

k3s kubectl get nodes
k3s kubectl get pods -A
3. Overenie stavu klastra (2)

Ak všetko prebehlo správne, uvidíte master uzol so stavom Ready a základné systémové komponenty v stave Running.

4. Získanie tokenu pre worker uzly

Aby sa ďalšie Raspberry Pi mohli pripojiť ako worker uzly, potrebujete join token:

sudo cat /var/lib/rancher/k3s/server/node-token

Výstup bude vyzerať napríklad takto:

K10f9c4a8bcd89f8b3cbb98b8d5c8fdaac5a678c47a7e90a3d3bb8c1234567890::server:1234567890abcdef

Tento token si uložte – použijete ho pri konfigurácii worker uzlov.

Pridanie worker uzlov do klastra

Po úspešnej inštalácii master uzla môžeme k3s klaster rozšíriť o ďalšie Raspberry Pi ako worker uzly. Tie budú vykonávať reálnu prácu – spúšťať vaše aplikácie, kontajnery a služby.


1. Príprava worker uzlov

Pred samotným pripojením sa uistite, že každý worker uzol má:

  • Nainštalovaný a aktualizovaný OS podľa postupu z časti Príprava Raspberry Pi.
  • Statickú IP adresu a hostname (napr. rpi-worker1, rpi-worker2).
  • Povolený SSH prístup.
  • Povolené cgroups v /boot/cmdline.txt (rovnako ako master).

2. Prihlásenie na worker uzol

Pripojte sa cez SSH na jeden z worker uzlov:

ssh pi@IP_ADRESA_WORKER

3. Spustenie inštalácie k3s pre worker

Na worker uzloch neinštalujeme kompletný control plane, ale iba k3s agent.
Potrebujete poznať:

  • IP adresu master uzla (MASTER_IP).
  • Join token z mastera (NODE_TOKEN), ktorý ste získali príkazom:
sudo cat /var/lib/rancher/k3s/server/node-token

Spustite na worker uzle:

curl -sfL https://get.k3s.io | K3S_URL=https://MASTER_IP:6443 K3S_TOKEN=NODE_TOKEN sh -
3. Spustenie inštalácie k3s pre worker

4. Overenie stavu worker uzla

Po inštalácii sa worker automaticky pripojí k masteru. Overte to na master uzle:

k3s kubectl get nodes

Mali by ste vidieť master aj worker uzly so stavom Ready:

4. Overenie stavu worker uzla

5. Opakovanie pre ďalšie workery

Ak máte viac worker uzlov, zopakujte postup od kroku 2 pre každý z nich s rovnakým K3S_URL a K3S_TOKEN.


6. Tip: Overenie komunikácie v klastri

Na master uzle môžete otestovať komunikáciu a nasadiť jednoduchý testovací pod:

k3s kubectl run test-nginx --image=nginx --port=80
k3s kubectl get pods -o wide

Pod by sa mal spustiť na jednom z worker uzlov, čo potvrdí funkčnosť klastra.

6. Tip: Overenie komunikácie v klastri

Kontrola funkčnosti a testovanie nasadenia

Po pridaní všetkých worker uzlov je potrebné overiť, či celý k3s klaster funguje správne, či sú všetky uzly v stave Readya či je možné nasadiť aplikácie. Tento krok je kľúčový na potvrdenie, že sieťová komunikácia, plánovanie podov a orchestrace v klastri prebiehajú bez problémov.

1. Overenie stavu uzlov

Na master uzle spustite:

k3s kubectl get nodes -o wide

Skontrolujte:

  • STATUS: všetky uzly by mali mať stav Ready.
  • ROLES: master má rolu control-plane, workery nemusia mať definovanú rolu.
  • VERSION: verzia Kubernetes (k3s) by mala byť rovnaká na všetkých uzloch.
  • INTERNAL-IP: IP adresy by mali zodpovedať nastaveniam z prípravy.
1. Overenie stavu uzlov

2. Overenie systémových podov

K3s pri štarte spúšťa viaceré systémové komponenty – CoreDNS, traefik (ak ste ho ponechali), storage provisioner a ďalšie.
Zobrazíte ich príkazom:

k3s kubectl get pods -A

Všetky systémové pody by mali byť v stave Running alebo Completed.

2. Overenie systémových podov

3. Nasadenie testovacej aplikácie

Na overenie funkčnosti je dobré nasadiť jednoduchú aplikáciu – napríklad Nginx:

k3s kubectl create deployment test-nginx --image=nginx

Po nasadení skontrolujte, na ktorom uzle beží:

k3s kubectl get pods -o wide

Výstup ukáže IP adresu podu a uzol, na ktorom bol naplánovaný. Ak sa pod spustil na workeri, znamená to, že plánovanie funguje správne.

3. Nasadenie testovacej aplikácie

4. Sprístupnenie aplikácie cez Service

Aby ste si mohli testovaciu aplikáciu zobraziť v prehliadači, vytvorte službu typu NodePort:

k3s kubectl expose deployment test-nginx --type=NodePort --port=80
k3s kubectl get service test-nginx

Výstup ukáže priradený NodePort (napr. 30080).

4. Sprístupnenie aplikácie cez Service


Potom otvorte prehliadač a zadajte:

http://IP_ADRESA_KTORÉHOKOĽVEK_UZLA:NodePort

Ak sa zobrazí predvolená stránka Nginxu, klaster je plne funkčný.

5. Vyčistenie testovacích zdrojov

Po teste môžete pod a službu odstrániť:

k3s kubectl delete deployment test-nginx
k3s kubectl delete service test-nginx
Martin Hasin
Martin Hasin
CEO at mhite S.R.O. | martin.hasin@gmail.com | Website | + postsBio

Odborník na kybernetickú bezpečnosť, správu Azure Cloud a VMware onprem. Využíva technológie, ako Checkmk a MRTG, na monitorovanie siete a zvyšovanie efektívnosti a bezpečnosti IT infraštruktúry. Kontakt: hasin(at)mhite.sk

  • Martin Hasin
    VRA Ubuntu 26.04 Server Template — Kompletná šablóna pre vRealize Automation
  • Martin Hasin
    Cisco Nexus VPC Cluster for PROXMOX – Complete Guide
  • Martin Hasin
    Windows 11 in Azure with Entra ID – Complete Deployment Guide
  • Martin Hasin
    Azure SQL Access Verification – Complete Authentication Guide
  • Martin Hasin
    Veeam Backup Replication v13 Linux Appliance – Complete Guide
  • Martin Hasin
    Check Point VSX DHCP Relay – Configuration
  • Martin Hasin
    MinIO S3 Backup with Veeam – Complete Guide
  • Martin Hasin
    Client Workstation Backup – Legislation and Practical Reasons
  • Martin Hasin
    MSSQL Transaction Logs – Disk Space Management
  • Martin Hasin
    Cisco UCS C220 M7 Monitoring and Logging Part 7
  • Martin Hasin
    Cisco UCS C220 M7 vSphere Lifecycle Manager Part 6
  • Martin Hasin
    Cisco UCS C220 M7 VMware Network and vMotion Part 5
  • Martin Hasin
    Cisco UCS C220 M7 ESXi and vCenter Part 4
  • Martin Hasin
    Cisco UCS C220 M7 Network Architecture Part 3
  • Martin Hasin
    HTTPS Inspection in Corporate Environment
  • Martin Hasin
    Cisco UCS C220 M7 VMware Cluster Part 2
  • Martin Hasin
    Cisco UCS C220 M7 VMware Cluster
  • Martin Hasin
    Microsoft 365 Backup – Why Cloud Is Not Backed Up
  • Martin Hasin
    Azure API Management
  • Martin Hasin
    Ubuntu Hardened Repository Veeam
  • Martin Hasin
    CIS Benchmark: Štandard pre posilnenie kybernetickej bezpečnosti 2
  • Martin Hasin
    CIS Benchmark
  • Martin Hasin
    Azure SQL Backup with Veeam
  • Martin Hasin
    SNIA Data Protection Best Practices
  • Martin Hasin
    Veeam monitoring CheckMK
  • Martin Hasin
    Azure Automation
  • Martin Hasin
    Veeam Hardened Repository
  • Martin Hasin
    Ako a prečo zálohovať Active Directory
  • Martin Hasin
    Entra ID Backup with Veeam
  • Martin Hasin
    Veeam Backup for Proxmox VM
  • Martin Hasin
    Windows Server Security with Veeam
  • Martin Hasin
    Grafana Dashboard for Veeam
  • Martin Hasin
    Veeam Backup NFS Fileshare
  • Martin Hasin
    VRA Ubuntu Template
  • Martin Hasin
    Azure SQL Server Security
  • Martin Hasin
    Azure Storage Account Security
  • Martin Hasin
    Microsoft Authenticator
  • Martin Hasin
    Virtual WAN VPN Server
  • Martin Hasin
    VRA Windows Template Creation
  • Martin Hasin
    Azure REST API Reset Analysis Services
  • Martin Hasin
    Azure Purview Data Security
  • Martin Hasin
    Azure Office 365 Data Security
  • Martin Hasin
    Azure Elasticsearch Log Server
  • Martin Hasin
    Azure SQL Server Export BACPAC
  • Martin Hasin
    Azure Communication Services Email
  • Martin Hasin
    Backup Azure Fileshare Duplicati
  • Martin Hasin
    Azure Key Vault Backup
  • Martin Hasin
    Azure Fileshare Mount Ubuntu
  • Martin Hasin
    DLP Data Protection in Azure
  • Martin Hasin
    Azure Blob Storage Ransomware Protection
  • Martin Hasin
    Azure Cloud Backup
  • Martin Hasin
    Windows Server RDP Brute Force Protection
  • Martin Hasin
    Azure Private Link VPN
  • Martin Hasin
    Azure Point-to-Site VPN
  • Martin Hasin
    VMware VCSA Certificate Replacement
  • Martin Hasin
    CheckMK Nextcloud Plugin
  • Martin Hasin
    CheckMK Installation
  • Martin Hasin
    Check Point Log Partition Resize
  • Martin Hasin
    VMware ESXi Custom Installation Media
  • Martin Hasin
    VRA Windows 11 Template
  • Martin Hasin
    Active Directory NTP Server
  • Martin Hasin
    AD AllowNT4Crypto Security
  • Martin Hasin
    CentOS Stream 9 Template for VRA
  • Martin Hasin
    Windows DNS and Linux DNS Replication
  • Martin Hasin
    Active Directory 2022 Installation Part 2
  • Martin Hasin
    Active Directory 2022 Installation
  • Martin Hasin
    vCenter VMSA-2021-0028 Fix
  • Martin Hasin
    VMware Coredump Collector
  • Martin Hasin
    Windows VMware Disk Statistics
  • Martin Hasin
    Ubuntu Template for VRA
  • Martin Hasin
    VMware vCenter API Commands
  • Martin Hasin
    Adding ESXi to vCenter
  • Martin Hasin
    Creating Datastore in ESXi
  • Martin Hasin
    VMware ESXi 7 Installation
  • Martin Hasin
    VMware vCenter 7 Installation
Linux Tags:cloud-native, container orchestration

Post navigation

Previous Post: MinIO S3 Backup with Veeam – Complete Guide
Next Post: Check Point VSX DHCP Relay – Configuration

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Search

Archives

  • May 2026
  • January 2026
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • July 2024
  • June 2024
  • May 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • June 2023
  • April 2023
  • November 2022
  • October 2022
  • August 2022
  • July 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021

Categories

  • ActiveDirectory
  • Automation
  • Azure
  • CheckMK
  • Checkpoint
  • DNS
  • Linux
  • Proxmox
  • Uncategorized
  • Veeam
  • VMware
  • vSphere
  • Windows

Archives

  • May 2026
  • January 2026
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • July 2024
  • June 2024
  • May 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • June 2023
  • April 2023
  • November 2022
  • October 2022
  • August 2022
  • July 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021

Copyright © 2021 Martin Hasin.

Powered by PressBook WordPress theme

Spravujte súhlas so súbormi cookie
Na poskytovanie tých najlepších skúseností používame technológie, ako sú súbory cookie na ukladanie a/alebo prístup k informáciám o zariadení. Súhlas s týmito technológiami nám umožní spracovávať údaje, ako je správanie pri prehliadaní alebo jedinečné ID na tejto stránke. Nesúhlas alebo odvolanie súhlasu môže nepriaznivo ovplyvniť určité vlastnosti a funkcie.
Funkčné Always active
Technické uloženie alebo prístup sú nevyhnutne potrebné na legitímny účel umožnenia použitia konkrétnej služby, ktorú si účastník alebo používateľ výslovne vyžiadal, alebo na jediný účel vykonania prenosu komunikácie cez elektronickú komunikačnú sieť.
Predvoľby
Technické uloženie alebo prístup je potrebný na legitímny účel ukladania preferencií, ktoré si účastník alebo používateľ nepožaduje.
Štatistiky
Technické úložisko alebo prístup, ktorý sa používa výlučne na štatistické účely. Technické úložisko alebo prístup, ktorý sa používa výlučne na anonymné štatistické účely. Bez predvolania, dobrovoľného plnenia zo strany vášho poskytovateľa internetových služieb alebo dodatočných záznamov od tretej strany, informácie uložené alebo získané len na tento účel sa zvyčajne nedajú použiť na vašu identifikáciu.
Marketing
Technické úložisko alebo prístup sú potrebné na vytvorenie používateľských profilov na odosielanie reklamy alebo sledovanie používateľa na webovej stránke alebo na viacerých webových stránkach na podobné marketingové účely.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
Zobraziť predvoľby
  • {title}
  • {title}
  • {title}