KubeOne na Hetznerju
Vzpostavi produkcijski Kubernetes cluster z uporabo KubeOne kot orodja za vzpostavitev.
Predpogoji
- Nameščen lok8s CLI
- Nameščen in avtenticiran hcloud CLI
- Par SSH ključev, dodan v tvoj Hetzner projekt
- Hetzner Cloud API žeton, izvožen kot
HCLOUD_TOKEN
Konfiguracija clustra
Ustvari cluster.lok8s.yaml s kind: KubeOne:
yaml
apiVersion: cluster.lok8s.dev/v1beta1
kind: KubeOne
metadata:
name: production
spec:
kubernetes:
version: "v1.35.5"
provider: hetzner
hcloud:
region: fsn1
sshPublicKeyFile: "~/.ssh/id_ed25519.pub"
network:
cidr: "10.0.0.0/16"
ssh:
user: root
publicKeyFile: "~/.ssh/id_ed25519.pub"
privateKeyFile: "~/.ssh/id_ed25519"
controlPlane:
replicas: 3
type: cx33
workers:
platform:
replicas: 2
type: cpx31Vzpostavi
bash
lo provisionTo bo:
- Ustvarilo Hetzner Cloud strežnike za kontrolno ravnino in workerje
- Vzpostavilo zasebno omrežje
- Namestilo Kubernetes prek KubeOne
- Shranilo kubeconfig v
~/.kube/config
Preveri
bash
kubectl get nodes
# NAME STATUS ROLES AGE VERSION
# cp-1 Ready control-plane 5m v1.35.5
# cp-2 Ready control-plane 5m v1.35.5
# cp-3 Ready control-plane 5m v1.35.5
# worker-1 Ready <none> 4m v1.35.5
# worker-2 Ready <none> 4m v1.35.5Premisleki o HA
- Za produkcijo uporabi
controlPlane.replicas: 3 - Vozlišča kontrolne ravnine so samodejno razporejena po domenah napak (fault domains)
- Zasebno omrežje (
hcloud.network.cidr) izolira promet clustra
Dodajanje bootstrap dodatkov
Cluster-infra dodatki (CNI, CCM, cert-manager, monitoring, …) so navedeni pod spec.bootstrap in se ob vzpostavitvi uveljavijo v zaporedju:
yaml
bootstrap:
- cilium
- ccm
- monitoringPonovno zaženi lo provision, da postopno uveljaviš spremembe bootstrapa.
Naslednji koraki
- Registracija — registracija v nadzorno ploščo kubehz
- GitHub Actions — avtomatizacija vzpostavitve v CI
- CAPI — alternativno orodje za vzpostavitev s Cluster API
Status dokumenta
| Vidik | Podrobnost |
|---|---|
| Stanje | aktivno |
| Nazadnje pregledano | 2026-07-10 |