Jeśli pracujesz z K3s — lekką dystrybucją Kubernetes od Rancher Labs — prędzej czy później trafisz na ten sam problem: uruchomienie klastra na EC2, lokalnej maszynie wirtualnej czy Raspberry Pi to za każdym razem inny zestaw poleceń, skryptów i ręcznych kroków. AutoK3s rozwiązuje ten problem jednym narzędziem z interfejsem graficznym i CLI.
Czym jest AutoK3s?
AutoK3s to otwartoźródłowe narzędzie rozwijane przez zespół Rancher (SUSE), które upraszcza cały cykl życia klastrów K3s — od provisjonowania przez skalowanie po usuwanie. Projekt żyje pod adresem github.com/cnrancher/autok3s i jest dostępny na licencji Apache 2.0. Hasło projektu to „Run K3s Everywhere" — i nie jest to przesada. AutoK3s obsługuje m.in.:
- AWS (EC2)
- Google Cloud (GCE, z automatycznym wdrożeniem CCM)
- Alibaba Cloud
- Tencent Cloud
- Harvester (wirtualizacja od SUSE)
- k3d (lokalne klastry w Dockerze)
- Native — dowolne maszyny dostępne przez SSH, bez integracji z chmurowym SDK
Dla środowisk hybrydowych i on-premise provider native to szczególnie przydatna opcja: wystarczy SSH i gotowe.
Co AutoK3s faktycznie potrafi?
Provisjonowanie i HA. AutoK3s tworzy klastry z konfigurowalnymi opcjami wysokiej dostępności. Obsługuje różne backendy dla datastora: wbudowany etcd, SQLite oraz zewnętrzne bazy RDS. Można wybrać topologię odpowiednią do środowiska — od pojedynczego węzła do klastra z wieloma masterami.
UI dashboard. Narzędzie uruchamia lokalny daemon z interfejsem webowym (domyślnie na porcie 8080). Z poziomu przeglądarki można tworzyć klastry, dodawać węzły, monitorować stan i zarządzać kubeconfig — bez dotykania terminala. Do podglądu klastra integruje się z kube-explorer.
Airgap. Obsługuje instalację w środowiskach bez dostępu do internetu — AutoK3s zarządza paczkami K3s lokalnie i dostarcza je na węzły. Przydatne w sieciach korporacyjnych i środowiskach zamkniętych.
Add-ony. Wbudowany mechanizm zarządzania wtyczkami pozwala wdrożyć wybrane komponenty (np. Helm charts) bezpośrednio po postawieniu klastra. Jeden krok zamiast kilku.
Kubeconfig. AutoK3s automatycznie scala i przechowuje kubeconfig dla wszystkich zarządzanych klastrów w ~/.autok3s/.kube/config. Polecenie autok3s kubectl daje natychmiastowy dostęp do dowolnego klastra.
Instalacja i uruchomienie
Na Linuksie wystarczy jedno polecenie: bash
curl -sS https://rancher-mirror.rancher.cn/autok3s/install.sh | sh
Alternatywnie przez Docker (działa też na macOS): bash
# Linux
docker run -itd --restart=unless-stopped --net=host \
-v /var/run/docker.sock:/var/run/docker.sock \
cnrancher/autok3s:v0.9.3
# macOS
docker run -itd --restart=unless-stopped -p 8080:8080 \
-v /var/run/docker.sock:/var/run/docker.sock \
-e DOCKER_HOST="" \
cnrancher/autok3s:v0.9.3
Po uruchomieniu UI dostępne jest pod http://localhost:8080.
Przykład szybkiego klastra lokalnego przez CLI z providerem k3d:
bash
autok3s -d create -p k3d --name mycluster --masters 1 --workers 2
Klaster gotowy w około minutę.
Kiedy to ma sens, a kiedy nie?
AutoK3s sprawdza się dobrze, gdy:
- prowadzisz środowiska deweloperskie lub CI na K3s i chcesz szybko tworzyć/niszczyć klastry,
- zarządzasz K3s na wielu maszynach przez SSH (provider
native) bez jednorodnej infrastruktury chmurowej, - potrzebujesz airgap na środowiskach izolowanych,
- chcesz dashboard zamiast skryptów shell dla mniej doświadczonych członków zespołu.
- wdrażasz klastry K3s na urządzeniach brzegowych w architekturach IoT — Raspberry Pi, NVIDIA Jetson, mini-PC klasy industrial. K3s ma bardzo niskie wymagania sprzętowe (512 MB RAM wystarczy), a AutoK3s przez provider
nativepozwala zarządzać dziesiątkami takich węzłów przez SSH jak zwykłymi węzłami klastra. W połączeniu z obsługą airgap i SQLite jako datastorem — zamiast etcd — to realistyczna opcja dla flot urządzeń brzegowych bez stałego dostępu do sieci centralnej.
Nie jest to narzędzie do zarządzania produkcyjnymi klastrami AKS, EKS czy GKE — do tego służą dedykowane narzędzia platformowe. AutoK3s to narzędzie dla ekosystemu K3s i dobrze trzyma się tej roli.
Podsumowanie
AutoK3s to solidne, pragmatyczne narzędzie, które wypełnia lukę między skryptami install.sh K3s a pełnoprawnymi platformami zarządzania chmurą. Jeśli K3s jest częścią twojego stosu — na edge, w CI, w środowiskach hybrydowych lub lokalnie — warto je mieć w zestawie narzędzi.
Kod źródłowy: github.com/cnrancher/autok3s
Licencja: Apache 2.0
Projekt pod parasolem: SUSE / Rancher Engineering