Hitri začetek
Zaženi Kubernetes cluster na Hetznerju v približno 15 minutah.
Predpogoji
Račun Hetzner Cloud in projektni API-žeton z dovoljenjem za branje in pisanje (Hetzner Console → Security → API tokens):
bashexport HCLOUD_TOKEN="<vaš-žeton>"lok8s CLI
lo, ena statična binarna datoteka v Go. Prenesi jo z izdaje lok8s, preveri jo schecksums.txtin jo nato namesti. Izberi arhiv za svoj sistem (linux ali darwin, amd64 ali arm64):bashV=v0.12.0; A=lo-linux-amd64.tar.gz curl -fsSLO "https://github.com/kernpilot/lok8s/releases/download/${V}/${A}" curl -fsSLO "https://github.com/kernpilot/lok8s/releases/download/${V}/checksums.txt" sha256sum --ignore-missing -c checksums.txt # macOS: shasum -a 256 --ignore-missing -c checksums.txt tar -xzf "${A}" lo && mkdir -p "$HOME/.local/bin" && install -m 0755 lo "$HOME/.local/bin/lo"Nato ustvari projekt in vanj, v mapo
.bin/, namesti pripeto orodjarno za KubeOne. Na sistemu se nič ne spremeni:bashmkdir my-project && cd my-project lo init project lo toolchain install --groups core,local,cloudŽe uporabljaš b? Ta dva namestita
loin isto orodjarno:bashb env add github.com/kernpilot/lok8s#kubeone b installPar SSH ključev (priporočen Ed25519)
Domena, ki jo nadzorujete: iz nje sta izpeljana končna točka API in imena certifikatov. Nastavite jo v 1. koraku; referenčna konfiguracija vsebuje
example.comsamo kot primer, ne kot privzeto vrednost.
1. Ustvari konfiguracijo clustra
lo vodi eno mapo na cluster, poimenovano po domeni clustra: clusters/<domena>/cluster.lok8s.yaml. Ustvari mapo v svojem projektu in datoteko shrani vanjo:
mkdir -p clusters/example.com
# spodnjo datoteko prilepi v clusters/example.com/cluster.lok8s.yaml
lo use example.comlo use označi domeno kot aktivno, tako da vsak nadaljnji ukaz ve, kateri cluster misliš.
# clusters/example.com/cluster.lok8s.yaml
apiVersion: cluster.lok8s.dev/v1beta1
kind: KubeOne
metadata:
name: my-cluster
spec:
kubernetes:
version: "v1.35.5"
cluster:
# OBVEZNO: domena, ki jo nadzoruješ; za končno točko API in certifikate
domain: example.com
provider:
name: hetzner
# Stroji v Hetznerjevih lastnih pojmih: vsak vnos `server` postane en
# `hcloud server create`, njegovi ključi pa so zastavice hcloud. Vlogo
# določa oznaka lok8s.dev/role.
config:
cluster_name: my-cluster
sshUser: root
sshPrivateKey: ~/.ssh/id_ed25519
sshPublicKey: ~/.ssh/id_ed25519.pub
ssh-key:
- name: my-cluster
public-key-from-file: ~/.ssh/id_ed25519.pub
network:
- name: my-cluster
ip-range: 10.0.0.0/16
"#subnets":
- network-zone: eu-central
type: cloud
ip-range: 10.0.0.0/24
server:
# 1 kontrolna ravnina za dev; za HA dodaj še dve
- name: cp-1
type: cpx32
image: ubuntu-24.04
# fsn1, nbg1 ali hel1
location: fsn1
ssh-key: [0]
network: 0
label: lok8s.dev/cluster=my-cluster,lok8s.dev/role=control-plane
- name: worker-1
type: cpx32
image: ubuntu-24.04
location: fsn1
ssh-key: [0]
network: 0
label: lok8s.dev/cluster=my-cluster,lok8s.dev/role=worker
- name: worker-2
type: cpx32
image: ubuntu-24.04
location: fsn1
ssh-key: [0]
network: 0
label: lok8s.dev/cluster=my-cluster,lok8s.dev/role=workerPrimer za vse strežnike uporablja cpx32 (4 vCPU, 8 GB RAM). Deluje tudi vsak tip z vsaj enakim številom vCPU in vsaj enako količino RAM, ki ga tvoj račun Hetzner ponuja na lokaciji.
Zaloga se razlikuje od računa do računa in se spreminja iz ure v uro: če Hetzner tip zavrne, uporabi drug tip ali drugo lokacijo (fsn1, nbg1 ali hel1).
Pred naslednjim korakom spremeni domain (in ime mape) v domeno, ki jo nadzoruješ: nič v tej datoteki je ne more uganiti namesto tebe. Tri poti SSH predpostavljajo ključ Ed25519 s privzetim imenom (~/.ssh/id_ed25519); če se tvoj imenuje drugače ali je drugje, popravi tudi te.
2. Vzpostavi
lo provisionTo na Hetzner Cloud ustvari tvojo kontrolno ravnino in worker vozlišča. Kubeconfig se zapiše v .kubeconfig/my-cluster.yaml v projektu, poimenovan po metadata.name. Tvoj ~/.kube/config se ne spremeni.
Vzpostavitev običajno traja 10–15 minut. Hetzner tri strežnike obračunava po urah, po svojem objavljenem ceniku. Z ukazom lo destroy lahko kadar koli vse izbrišeš.
3. Preveri
kubectl še vedno kaže na kontekst, ki si ga uporabljal prej, zato novo gručo izberi izrecno; sicer get nodes odgovarja za tvojo prejšnjo:
export KUBECONFIG=.kubeconfig/my-cluster.yaml
kubectl get nodesTvoja kontrolna ravnina in worker vozlišča naj bodo v stanju Ready.
4. Registracija v kubehz (neobvezno)
Samo ta korak potrebuje brezplačen račun kubehz; zgornji predpogoji so vse, kar potrebuje gruča sama. Registracija je odprta za prvih 25 računov, nato samo s povabilom (glej Nadzorna plošča in račun).
Poveži svoj cluster z nadzorno ploščo kubehz za vidljivost zdravja samo za branje. Registracija je samo odhodna: kubehz nikoli ne dobi dostopa v tvoj cluster.
lo kubehz registerTo najavi cluster s stanjem V nastajanju. Nato ga prevzemi na app.kubehz.cloud, da dokažeš lastništvo in ga povežeš s svojim računom (registracija → prevzem → v lasti). Za podrobnosti in kaj prikazuje nadzorna plošča glej Registracijo.
Naslednji koraki
- Sprehod skozi prvi cluster: podrobna referenca konfiguracije
- Nadzorna plošča in račun: razišči nadzorno ploščo, dostop in račun
- Kako deluje: model, meja zaupanja in tvoji podatki
- Vodnik za lastno gostovanje: napredna vzpostavitev z lastnim gostovanjem
- Gostovana kontrolna ravnina: prepuščena pot
Status dokumenta
| Vidik | Podrobnost |
|---|---|
| Stanje | v živo: ustreza izdanemu poteku CLI; trajanje vzpostavitve je konzervativna meja, na tej topologiji še ni izmerjeno |
| Zadnji pregled | 2026-09-05 |