Zum Hauptinhalt springen

Kubernetes Cluster als vcluster

Ein vcluster bietet eine Alternative zu den auf NKE basierenden Kubernetes-Clustern mit unterschiedlichen Anwendungsbereichen und Beschränkungen. Dabei wird vcluster verwendet, um Kubernetes Cluster zu einem günstigeren Preis anzubieten, wobei geringe Abstriche bei den Verfügbarkeitsgarantien und den Managed Add-ons gemacht werden. Da vclusters über NKE laufen, greifen sie auf die gleiche Betriebs-Infrastruktur zu.

Diese Vergleichstabelle sollte dir eine Übersicht über die wesentlichen Unterschiede bieten:

NKEvcluster
Service Type Load Balancer
Persistent Storage (RWO/RWX)
Ingress
Autoscaling
Argo CD Integration
NKE Maschinentypen
Dedizierte Worker Nodes
Dedizierte HA Control-Plane Nodes
Cluster Add-ons
Automatisches Backup
Verfügbarkeitsgarantie (SLA)
Cluster-Gebühr
Schnelle Erstellungszeit (< ~2 min)
Cluster Admin

Erste Schritte

Um bei vcluster einzusteigen, benötigst du zunächst ein Login, um auf unser Cockpit zuzugreifen. Wähle dann einfach Managed Kubernetes aus der Produktübersicht aus, klicke auf Add Cluster und wähle die Option vcluster. Um auf den Cluster zuzugreifen, sieh dir diesen Artikel zum Cluster-Login an.

Für weitere Informationen zu den verfügbaren Node-Typen, Load Balancern und Speichervarianten sieh dir bitte die Hauptdokumentation zu NKE an.

Anwendungsbereiche für einen vcluster

  • CI/CD: Durch die Geschwindigkeit, mit der vcluster erstellt und gelöscht werden können, ebenso wie ihre geringen Kosten, sind sie gut als CI/CD-Pipelines geeignet, um deine App-Deployments durchgängig zu testen.
  • Testen neuer Kubernetes-API-Versionen: Wir zielen darauf ab, dir immer die aktuellsten Kubernetes-Releases in vcluster bereitzustellen, damit du deine Apps frühzeitig in Bezug auf neue API-Versionen gegentesten kannst.
  • Gut isolierte und kosteneffiziente Umgebungen: Für Staging- und Entwicklungsumgebung können eigene vcluster genutzt werden, um sie stärker von der Produktionsumgebung zu isolieren, statt mehrere Namespaces auf einem einzigen NKE-Cluster zu verwenden.

ArgoCD

Wenn du ArgoCD für das Deployment auf deinem vcluster verwenden möchtest, sind die Schritte, die welche im ArgoCD Artikel dokumentiert sind, nicht ausreichend.

Da vclusters keine vollständig verwalteten Cluster sind, musst du dem ArgoCD Service Account die Berechtigungen selbst erteilen.

Zuerst musst du den Namen des ArgoCD Service Account herausfinden:

$ kubectl get serviceaccounts -n default
argocd-xyz 1 188d

Dann musst du ein Clusterrolebinding erstellen und dem ArgoCD Service Account cluster-admin Rechte geben:

apiVersion: rbac.authorization.k8s.io/v1
Art: ClusterRoleBinding
Metadaten:
name: argocd
roleRef:
apiGroup: rbac.authorization.k8s.io
Art: ClusterRole
Name: cluster-admin
Subjekte:
- Art: ServiceAccount
Name: argocd-xyz
Namensraum: default

Ingress

Durch das Design von vcluster kann der Ingress Controller vom Host Cluster verwendet werden. Deshalb muss kein zusätzlicher Ingress controller im vcluster erstellt werden. Du kannst die IngressClass und den Host des vordefinierten Ingress im Cockpit oder im Status auf der API finden. Das ermöglicht auch automatische Let's Encrypt TLS-Zertifikate wenn der Ingress Controller vom Host Cluster verwendet wird.

Für mehr Informationen zur Nutzung von Ingress, wende dich an die Ingress Dokumentation.

Installation eines Ingress Controllers

Sofern du nicht den vordefinierten Ingress Controller nutzen möchtest, kannst du einen eigenen innerhalb des vclusters installieren. Bitte beachte dabei einfach, dass ein anderer IngressClass-Name verwendet werden muss, damit kein Konflikt mit der vordefinierten IngressClass entsteht.