// tehnologie

Cum instalezi și configurezi Kubernetes (K3s) pe un VPS Linux: ghid complet pentru orchestrarea containerelor

September 06, 2026 · by Alex M.

Cum instalezi și configurezi Kubernetes (K3s) pe un VPS Linux: ghid complet pentru orchestrarea containerelor

Orchestarea containerelor a devenit o abilitate esențială pentru orice administrator de sistem modern. Kubernetes este standardul de facto în industrie, dar instalarea sa clasică poate fi copleșitoare pentru un singur VPS. Aici intervine K3s — o distribuție Kubernetes ușoară, certificată CNCF, ideală pentru medii de producție pe resurse limitate.

În acest ghid vei vedea cum instalezi și configurezi K3s pe un VPS NVMe sau VPS SSD, de la zero până la primul deployment funcțional.


Ce este K3s și de ce să îl alegi?

K3s este dezvoltat de Rancher Labs și ambalează întregul Kubernetes într-un singur binar de ~70 MB. Elimină componentele mai puțin utilizate și înlocuiește etcd cu SQLite (implicit) sau PostgreSQL/MySQL pentru clustere mai mari.

Avantajele K3s față de Kubernetes clasic:

  • Consum de memorie RAM cu ~50% mai mic
  • Instalare completă în sub 2 minute
  • Binary unic — fără dependențe externe complexe
  • Suport ARM și x86_64
  • Perfect pentru CI/CD, edge computing și medii de development/staging

Dacă ai nevoie de un cluster de producție mai robust, poți lua în calcul un server dedicat managed pentru resurse garantate și suport tehnic inclus.


Cerințe preliminare

Înainte de a începe, asigură-te că ai:

  • Un VPS cu Ubuntu 22.04 LTS sau Debian 12 (recomandat)
  • Minim 2 vCPU și 2 GB RAM (4 GB recomandat pentru workload-uri reale)
  • Acces root sau utilizator cu privilegii sudo
  • Conexiune SSH activă (ideal cu autentificare prin chei SSH)
  • Porturile 6443 (API server) și 10250 deschise în firewall

Pasul 1: Actualizarea sistemului și pregătirea

Conectează-te la VPS și actualizează pachetele:

sudo apt update && sudo apt upgrade -y

Instalează utilitarele necesare:

sudo apt install -y curl wget git ufw

Activează UFW și configurează regulile de bază:

sudo ufw allow ssh
sudo ufw allow 6443/tcp    # K3s API server
sudo ufw allow 10250/tcp   # Kubelet metrics
sudo ufw allow 80/tcp      # HTTP
sudo ufw allow 443/tcp     # HTTPS
sudo ufw enable

Notă: Dacă folosești mai mulți noduri în cluster, mai adaugă portul 8472/udp pentru Flannel VXLAN.


Pasul 2: Instalarea K3s (nod server/master)

Instalarea K3s se face cu un singur command curl:

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

Scriptul oficial descarcă binarul, creează serviciul systemd și pornește K3s automat. Verifică starea:

sudo systemctl status k3s

Ar trebui să vezi active (running). Verifică și nodul Kubernetes:

sudo kubectl get nodes

Output așteptat:

NAME        STATUS   ROLES                  AGE   VERSION
vps-demo    Ready    control-plane,master   2m    v1.29.4+k3s1

Pasul 3: Configurarea kubectl și kubeconfig

Prin default, fișierul kubeconfig se află la /etc/rancher/k3s/k3s.yaml. Copiază-l în directorul home pentru a putea rula kubectl fără sudo:

mkdir -p ~/.kube
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown $(id -u):$(id -g) ~/.kube/config
export KUBECONFIG=~/.kube/config

Adaugă exportul și în ~/.bashrc pentru a fi persistent:

echo 'export KUBECONFIG=~/.kube/config' >> ~/.bashrc
source ~/.bashrc

Testează:

kubectl cluster-info

Pasul 4: Adăugarea unui nod worker (opțional)

Dacă ai două VPS-uri (ex. un VPS SSD pentru master și un altul pentru worker), poți extinde clusterul.

Pe nodul master, obține token-ul de join:

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

Pe nodul worker, rulează:

curl -sfL https://get.k3s.io | K3S_URL=https://<IP_MASTER>:6443 K3S_TOKEN=<TOKEN> sh -

Verifică pe master că noul nod a apărut:

kubectl get nodes

Pasul 5: Deployarea primei aplicații

Hai să deployăm o aplicație simplă Nginx pentru a testa clusterul.

Crează un Deployment

kubectl create deployment nginx-demo --image=nginx:stable --replicas=2

Expune-l ca Service

kubectl expose deployment nginx-demo --port=80 --type=NodePort

Verifică starea

kubectl get pods
kubectl get services

Output exemplu:

NAME                          READY   STATUS    RESTARTS   AGE
nginx-demo-7d6f8b9c5-4xkpz   1/1     Running   0          30s
nginx-demo-7d6f8b9c5-9qlmn   1/1     Running   0          30s

Află portul NodePort atribuit automat (ex. 32456) și accesează http://<IP_VPS>:32456 în browser.


Pasul 6: Instalarea Helm — managerul de pachete Kubernetes

Helm simplifică enorm instalarea aplicațiilor complexe (cert-manager, Ingress, etc.):

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

Verifică:

helm version

Adaugă repo-ul oficial stable:

helm repo add stable https://charts.helm.sh/stable
helm repo update

Pasul 7: Configurarea Ingress Controller și TLS

K3s vine cu Traefik instalat implicit ca Ingress Controller. Verifică:

kubectl get pods -n kube-system | grep traefik

Pentru a expune o aplicație web cu domeniu propriu, creează un fișier ingress-demo.yaml:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nginx-ingress
  annotations:
    traefik.ingress.kubernetes.io/router.entrypoints: web
spec:
  rules:
  - host: demo.domeniultau.md
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: nginx-demo
            port:
              number: 80

Aplică-l:

kubectl apply -f ingress-demo.yaml

Pentru TLS automat cu Let's Encrypt, instalează cert-manager via Helm:

helm repo add jetstack https://charts.jetstack.io
helm repo update
helm install cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --create-namespace \
  --set installCRDs=true

Acest setup se integrează perfect cu un certificat SSL valid pe domeniu.


Pasul 8: Monitorizarea și gestionarea resurselor

Dashboard Kubernetes

Instalează Kubernetes Dashboard:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

Creează un ServiceAccount pentru acces:

kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
kubectl create clusterrolebinding dashboard-admin \
  --clusterrole=cluster-admin \
  --serviceaccount=kubernetes-dashboard:dashboard-admin

Obtine token-ul de acces:

kubectl -n kubernetes-dashboard create token dashboard-admin

Comenzi de monitorizare utile

# Starea tuturor podurilor
kubectl get pods --all-namespaces

# Utilizarea resurselor (necesită metrics-server)
kubectl top nodes
kubectl top pods

# Loguri pod
kubectl logs <nume-pod>

# Descrierea detaliată
kubectl describe pod <nume-pod>

Pasul 9: Configurarea persistenței datelor

K3s include Local Path Provisioner implicit, perfect pentru volume persistente pe un singur nod.

Creează un PersistentVolumeClaim:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: demo-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-path
  resources:
    requests:
      storage: 5Gi
kubectl apply -f pvc-demo.yaml
kubectl get pvc

Sfaturi de securitate pentru K3s în producție

Siguranța unui cluster Kubernetes este la fel de importantă ca și cea a serverului pe care rulează. Iată câteva măsuri esențiale:

  1. Restricționează accesul la API server — nu expune portul 6443 public dacă nu este necesar
  2. Folosește RBAC — principiul least privilege pentru servicii și utilizatori
  3. Activează Audit Logging — pentru a urmări operațiunile din cluster
  4. Actualizează K3s regulatcurl -sfL https://get.k3s.io | sh - actualizează automat
  5. Izolează namespace-urile — separă workload-urile de producție de cele de test
  6. Monitorizează cu Grafana + Prometheus — pentru vizibilitate completă

Dacă ai nevoie de suport tehnic pentru securizarea infrastructurii, serviciile de administrare servere de la CLIQHOST pot prelua această responsabilitate.


Actualizarea și dezinstalarea K3s

Actualizare

K3s poate fi actualizat prin rularea din nou a scriptului de instalare:

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

Dezinstalare

Pentru a dezinstala K3s complet de pe nodul server:

/usr/local/bin/k3s-uninstall.sh

Pentru noduri worker:

/usr/local/bin/k3s-agent-uninstall.sh

Concluzie

K3s face Kubernetes accesibil chiar și pe infrastructuri modeste. Cu pașii din acest ghid ai instalat un cluster funcțional, ai deploiat prima aplicație, ai configurat Ingress cu Traefik și ai pus bazele unui setup de producție sigur și scalabil.

Pentru un cluster K3s performant și stabil, îți recomandăm VPS-urile NVMe de la CLIQHOST — cu stocare ultra-rapidă, uptime garantat și suport tehnic 24/7. Dacă proiectul tău crește, poți oricând migra spre un server dedicat sau apela la serviciile noastre de management al serverelor.

👉 Ai întrebări sau vrei să discuți configurația potrivită pentru proiectul tău? Contactează echipa CLIQHOST — suntem aici să ajutăm.

SHARE
// ce spun clienții

Ce spun clienții noștri

Recenzii reale de la clienți care au ales CLIQHOST pentru performanță, fiabilitate și suport tehnic.

★★★★★

"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău