· Magdalena Wachowicz · Technologia
Kubernetes bez bólu: Rancher + K3s na Proxmox z CI/CD
Nowoczesne środowisko wdrożeniowe bez komplikacji
Widzimy coraz więcej firm, które chcą automatyzować wdrożenia, ograniczać ryzyko błędów i zyskać większą kontrolę nad swoim środowiskiem IT – ale bez budowania dużych zespołów DevOps. Właśnie dlatego coraz częściej wdrażamy w SparkSome zestaw oparty na Proxmox, Rancher, K3s i CI/CD.
To rozwiązanie łączy prostotę i szybkość z elastycznością Kubernetes. Działa zarówno u klientów, którzy rozwijają SaaS, jak i w firmach produkcyjnych czy e-commerce. To nie kolejny stos technologii. To fundament nowoczesnego, stabilnego i bezpiecznego środowiska IT.
Jak zbudować klaster K3s + Rancher na Proxmox?
Maszyny wirtualne
Tworzymy 3 maszyny wirtualne:
-
1 node zarządzający (może też hostować Ranchera),
-
2 węzły robocze,
-
system: Debian 12 lub Ubuntu Server.
Instalujemy K3s na pierwszym nodzie:
curl -sfL https://get.k3s.io | sh -
Na pozostałych node’ach uruchamiamy agenta z tokenem:
k3s agent --server https://<IP>:6443 --token <token>
Rancher jako GUI do zarządzania
Rancher może działać jako deployment w K3s lub jako osobny kontener. Dla małych środowisk – najlepiej jako dodatkowy kontener:
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
--name rancher \
rancher/rancher:latest
Po zalogowaniu do GUI, dodaj klaster K3s i rozpocznij zarządzanie usługami, namespace'ami i wdrożeniami z przeglądarki.
Automatyzacja CI/CD
GitLab CI (fragment .gitlab-ci.yml):
Zainstaluj GitLab Runner (na VM lub w kontenerze), zarejestruj go i skonfiguruj .gitlab-ci.yml:
stages:
- build
- deploy
build:
stage: build
image:
name: gcr.io/kaniko-project/executor:latest
entrypoint: [""]
script:
- >
/kaniko/executor
--context ${CI_PROJECT_DIR}
--dockerfile ${CI_PROJECT_DIR}/Dockerfile
--destination registry.example.com/myapp:latest
--insecure
--skip-tls-verify
deploy:
stage: deploy
script:
- kubectl set image deployment/myapp myapp=registry.example.com/myapp:latest
GitHub Actions (fragment build-and-deploy.yml):
Plik .github/workflows/build-and-deploy.yml
:
name: Build and Deploy with Kaniko
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build and push using Kaniko
uses: aevea/[email protected]
with:
registry: registry.example.com
image: myapp
tag: latest
dockerfile: ./Dockerfile
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
deploy:
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to K3s via SSH
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
echo "Deploying to K3s cluster..."
kubectl set image deployment/myapp myapp=registry.example.com/myapp:latest --namespace=default
kubectl rollout status deployment/myapp --namespace=default
Monitoring i zarządzanie
Rancher oferuje dashboard do zarządzania aplikacjami, namespace'ami, podami i zasobami.
Do routingu użyj Traefika, który działa jako ingress controller z automatycznymi certyfikatami SSL.
Monitoring metryk i logów – Prometheus + Grafana lub opcjonalnie narzędzia Ranchera (np. Fleet, Alertmanager).
Gdzie to działa? Przykłady klientów SparkSome
Firmy, które rozwijają własne oprogramowanie lub SaaS
Zespoły developerskie (najczęściej 3–15 osób) potrzebują środowiska, które pozwala testować i wdrażać nowe funkcje szybko i bez ryzyka. Kubernetes daje elastyczność, a Rancher przejrzystość i prostotę.
Przykład: Dla klienta z branży fintech wdrożyliśmy klastry K3s z CI/CD, co skróciło czas publikacji wersji z 3 dni do kilku godzin i umożliwiło rollback w przypadku błędów.
Jak pomagamy:
-
Budujemy klastry K3s/K8s na lokalnych serwerach lub hostujemy u siebie.
-
Tworzymy pipelines CI/CD.
-
Monitorujemy i wspieramy operacyjnie.
Firmy produkcyjne z własnymi aplikacjami
Aplikacje do obsługi produkcji, raportowania, logistyki – często rozwijane in-house – wymagają stabilności i możliwości testowania zmian przed wdrożeniem.
Przykład: W jednej z firm produkcyjnych wprowadziliśmy konteneryzację systemu rejestracji produkcji – wdrożenia przestały zakłócać działanie systemów w godzinach pracy dzięki modelowi blue/green.
Jak pomagamy:
-
Konteneryzujemy aplikacje.
-
Wdrażamy CI/CD z rollbackiem i testowym środowiskiem.
-
Umożliwiamy strategie blue/green deployments.
Firmy bez działu IT, które chcą korzystać z nowoczesnych technologii
Chcą mieć dostęp do skalowalnych narzędzi, ale nie mają zasobów na ich utrzymanie. Szukają prostego GUI i stabilności działania.
Przykład: Dla klienta z branży e-commerce wdrożyliśmy środowisko Rancher + K3s, które jest zarządzane z poziomu przeglądarki. Klient korzysta z backupów i zautomatyzowanych aktualizacji bez konieczności zatrudniania administratora.
Jak pomagamy:
-
Wdrażamy środowiska pod klucz.
-
Obsługujemy backupy, dostępność i aktualizacje.
-
Zapewniamy kompleksowe wsparcie i monitoring działania aplikacji.
Dlaczego nie Docker Swarm?
Docker Swarm był kiedyś prostą alternatywą dla Kubernetes. Niestety:
-
Nie jest rozwijany – zespół Docker oficjalnie nie rozwija już Swarma.
-
Brakuje funkcji enterprise – autoskalowanie, sieci overlay, zaawansowane deploymenty.
-
Problemy z HA – niestabilność w większych środowiskach.
-
Ograniczone GUI – Portainer jest fajny, ale to nie Rancher.
Zamiast brnąć w przestarzałe rozwiązanie – lepiej od razu wdrożyć coś, co skaluje się razem z Twoją firmą.
Integracja Ranchera i kubernetes (K3s) z Proxmox oraz narzędziami CI/CD pozwala na stworzenie nowoczesnego, lekkiego i zautomatyzowanego środowiska aplikacyjnego.
W SparkSome nie tylko pomagamy to skonfigurować. Utrzymujemy, monitorujemy i rozwijamy środowiska naszych klientów tak, żeby mogli skupić się na tym, co dla nich naprawdę ważne.