· 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.

img post039

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.

Chcesz wiedzieć, czy to rozwiązanie sprawdzi się w Twojej firmie? Porozmawiajmy.

logo SparkSome

NIP: 6793289948

REGON: 527616291

KRS: 0001085500

© Copyright
SparkSome Venture sp. z o.o.