Kubernetes на VPS: лёгкий кластер с k3s

Облако и DevOps · 19.04.2026
Kubernetes на VPS: лёгкий кластер с k3s

Kubernetes на VPS: минимальный кластер с k3s

k3s — лёгкая дистрибуция Kubernetes от Rancher Labs, требующая всего 512 МБ RAM. Идеальна для изучения K8s и запуска небольших production-кластеров на VPS от 4 ГБ RAM.

Установка k3s (Master нода)

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

# Проверить кластер
kubectl get nodes
kubectl get pods -A

Добавление Worker ноды

# Получить токен на Master
cat /var/lib/rancher/k3s/server/node-token

# На Worker ноде
curl -sfL https://get.k3s.io | K3S_URL=https://MASTER_IP:6443   K3S_TOKEN=TOKEN sh -

Деплой приложения

# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: webapp
spec:
  replicas: 3
  selector:
    matchLabels:
      app: webapp
  template:
    metadata:
      labels:
        app: webapp
    spec:
      containers:
      - name: webapp
        image: nginx:alpine
        ports:
        - containerPort: 80
        resources:
          requests:
            memory: "64Mi"
            cpu: "100m"
          limits:
            memory: "128Mi"
            cpu: "500m"
---
apiVersion: v1
kind: Service
metadata:
  name: webapp-service
spec:
  selector:
    app: webapp
  ports:
  - port: 80
    targetPort: 80
  type: LoadBalancer
kubectl apply -f deployment.yaml
kubectl get pods
kubectl get services

Helm: пакетный менеджер K8s

# Установить Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

# Установить приложение из Helm Chart (например, cert-manager)
helm repo add jetstack https://charts.jetstack.io
helm install cert-manager jetstack/cert-manager   --namespace cert-manager   --create-namespace   --set installCRDs=true

Ingress + авто-SSL

# Traefik (входит в k3s по умолчанию)
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: webapp-ingress
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
  tls:
  - hosts:
    - app.yourdomain.com
    secretName: webapp-tls
  rules:
  - host: app.yourdomain.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: webapp-service
            port:
              number: 80
Рекомендации: Для одного VPS с 4-8 ГБ RAM k3s — отличный выбор. Для production-кластера с высокой доступностью используйте минимум 3 Master ноды (нечётное количество для etcd quorum).
← Назад в базу знаний Задать вопрос поддержке