Skip to content

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):

    bash
    export HCLOUD_TOKEN="<vaš-žeton>"
  • lok8s CLI: en samostojen ukaz (namesti pripeto orodjarno v tvoj projekt, ničesar ne spreminja na sistemu):

    bash
    curl -fsSL https://get.lok8s.io | sh -s -- -p kubeone

    Že uporabljaš b? Ta dva naredita isto:

    bash
    b env add github.com/kernpilot/lok8s#kubeone
    b install
  • Par 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.com samo 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:

bash
mkdir -p clusters/example.com
# spodnjo datoteko prilepi v clusters/example.com/cluster.lok8s.yaml
lo use example.com

lo use označi domeno kot aktivno, tako da vsak nadaljnji ukaz ve, kateri cluster misliš.

yaml
# 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: cx33
          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: cpx31
          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: cpx31
          image: ubuntu-24.04
          location: fsn1
          ssh-key: [0]
          network: 0
          label: lok8s.dev/cluster=my-cluster,lok8s.dev/role=worker

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

bash
lo provision

To 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 strežnike obračunava po urah (majhna razvojna postavitev stane približno 0,03 €/uro), z ukazom lo destroy pa 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:

bash
export KUBECONFIG=.kubeconfig/my-cluster.yaml
kubectl get nodes

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

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.

bash
lo kubehz register

To 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

Status dokumenta

VidikPodrobnost
Stanjev živo: ustreza izdanemu poteku CLI; trajanje vzpostavitve je konzervativna meja, na tej topologiji še ni izmerjeno
Zadnji pregled2026-09-05