user@homelab:~/docs$ cat k3s.md
k3s
Jednonodový k3s v1.35, stejná verze jako na zkoušce CKAD
# obsah
Přehled
| Verze | kanál k3s v1.35 (CKAD 2026 běží na Kubernetes v1.35) |
| Součástí | containerd, Flannel, CoreDNS, Traefik, metrics-server, local-path provisioner |
| Přístup | kubectl na serveru přes SSH, alias k s doplňováním |
1. Firewall pro provoz clusteru
sudo ufw allow 6443/tcp comment 'k3s API'
sudo ufw allow 80/tcp comment 'Traefik HTTP'
sudo ufw allow 443/tcp comment 'Traefik HTTPS'
sudo ufw allow from 10.42.0.0/16 comment 'k3s pods'
sudo ufw allow from 10.43.0.0/16 comment 'k3s services'Bez pravidel pro síť podů a služeb by ufw zahazoval provoz uvnitř clusteru, například DNS dotazy na CoreDNS.
2. Instalace
curl -sfL https://get.k3s.io | INSTALL_K3S_CHANNEL=v1.35 INSTALL_K3S_EXEC="--write-kubeconfig-mode 600" sh -INSTALL_K3S_CHANNEL=v1.35: nejnovější opravná verze řady 1.35,--write-kubeconfig-mode 600: kubeconfig čte jen root.
3. kubectl pro správce
mkdir -p ~/.kube
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown "$USER:$USER" ~/.kube/config && chmod 600 ~/.kube/config
cat >> ~/.bashrc <<'EOF'
export KUBECONFIG=~/.kube/config
source <(kubectl completion bash)
alias k=kubectl
complete -o default -F __start_kubectl k
EOF
source ~/.bashrcOvěření
k get nodes
k get pods -ANAME STATUS ROLES AGE VERSION
homelab Ready control-plane 46s v1.35.9+k3s1Pod v kube-system | Role |
|---|---|
coredns | DNS uvnitř clusteru |
traefik, svclb-traefik | ingress controller a jeho load balancer na portech hostitele |
local-path-provisioner | PersistentVolumes na disku nodu |
metrics-server | metriky zdrojů (k top) |
helm-install-traefik* | jednorázové instalační joby (Completed) |
Rychlý test cesty přes ingress:
k create deployment hello --image=nginx
k expose deployment hello --port=80
k create ingress hello --rule="/=hello:80"
curl -s http://localhost | grep -o "<title>.*</title>"
k delete ingress,svc,deployment helloPoznámky
curl … | shspustí oficiální instalátor bez kontroly; v homelabu přijatelné. V produkci: stáhnout, zkontrolovat, pinovat přesINSTALL_K3S_VERSION.- k3s na jednom nodu používá jako datové úložiště SQLite; workloady se spravují deklarativně přes GitOps.