Негізгі мазмұнға өту

VPS-те k3s арқылы Kubernetes қалай орналастыруға болады

k3s көмегімен бір немесе бірнеше AdAstra Cloud серверінде жеңіл Kubernetes, алғашқы қосымшаны орналастыру және kubectl арқылы қолжетімділік.

Жаңартылды: 2026-11-07 · 2 мин оқу

Толыққанды Kubernetes көп ресурс талап етеді, ал k3s — бір бинарлық файлдағы сертификатталған Kubernetes дистрибутиві — шағын серверлерде де жұмыс істейді. Оқу кластері үшін бір M сервері (4 vCPU, 8 ГБ RAM) жеткілікті, продакшен үшін үш сервер немесе VDS ұсынамыз.

Серверді орнату (control plane)

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

k3s бірден containerd, Flannel желілік плагинін, Traefik ingress-контроллерін және жергілікті қойманы орнатады.

Жұмыс түйіндерін қосу

Бірінші серверде токенді алыңыз:

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

Әр келесі серверде бірінші сервердің IP-і мен токенді қойып, орындаңыз:

curl -sfL https://get.k3s.io | K3S_URL=https://10.0.0.1:6443 K3S_TOKEN=ТОКЕН sh -

6443-портты файрволда тек түйіндеріңіздің мекенжайлары үшін ашыңыз.

Ноутбуктан басқару

Конфигурацияны компьютеріңізге көшіріп, мекенжайды ауыстырыңыз:

scp root@203.0.113.24:/etc/rancher/k3s/k3s.yaml ~/.kube/config
sed -i 's/127.0.0.1/203.0.113.24/' ~/.kube/config
kubectl get nodes

Алғашқы қосымша

app.yaml файлы:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello
spec:
  replicas: 2
  selector:
    matchLabels: { app: hello }
  template:
    metadata:
      labels: { app: hello }
    spec:
      containers:
        - name: web
          image: nginx:stable
          ports: [{ containerPort: 80 }]
---
apiVersion: v1
kind: Service
metadata:
  name: hello
spec:
  selector: { app: hello }
  ports: [{ port: 80 }]
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: hello
spec:
  rules:
    - host: app.example.kz
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service: { name: hello, port: { number: 80 } }
kubectl apply -f app.yaml
kubectl get pods,svc,ingress

app.example.kz DNS-жазбасын сервер IP-іне бағыттаңыз — Traefik 80-портта трафик қабылдай бастайды.

Әрі қарай

  • HTTPS: cert-manager орнатып, Let's Encrypt сертификаттарын автоматты түрде шығарыңыз.
  • Қойма: деректер үшін PersistentVolumeClaim, бэкаптар үшін бұлтты S3 қоймасын пайдаланыңыз.
  • Мониторинг: Grafana бар kube-prometheus-stack.

Бөлінген ядролары бар бірнеше VDS кластері қажет пе? Бізге жазыңыз — конфигурацияны таңдаймыз.