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 Ihnen eine Übersicht über die wesentlichen Unterschiede bieten:
NKE | vcluster | |
---|---|---|
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ötigen Sie zunächst ein Login, um auf unser Cockpit zuzugreifen. Wählen Sie dann einfach Managed Kubernetes aus der Produktübersicht aus, klicken Sie auf Add Cluster und wählen Sie die Option vcluster. Um auf den Cluster zuzugreifen, sehen Sie sich diesen Artikel zum Cluster-Login an.
Für weitere Informationen zu den verfügbaren Node-Typen, Load Balancern und Speichervarianten sehen Sie sich 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 Ihre App-Deployments durchgängig zu testen.
- Testen neuer Kubernetes-API-Versionen: Wir zielen darauf ab, Ihnen immer die aktuellsten Kubernetes-Releases in vcluster bereitzustellen, damit Sie Ihre Apps frühzeitig in Bezug auf neue API-Versionen gegentesten können.
- 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 Sie ArgoCD für das Deployment auf Ihrem vcluster verwenden wollen, sind die Schritte, die welche im ArgoCD Artikel dokumentiert sind, nicht ausreichend.
Da vclusters keine vollständig verwalteten Cluster sind, müssen Sie dem ArgoCD Service Account die Berechtigungen selbst erteilen.
Zuerst müssen Sie den Namen des ArgoCD Service Account herausfinden:
$ kubectl get serviceaccounts -n default
argocd-xyz 1 188d
Dann müssen Sie 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. Sie können 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, wenden Sie sich an die Ingress Dokumentation.
Installation eines Ingress Controllers
Sofern Sie nicht den vordefinierten Ingress Controller nutzen möchten, können
Sie einen eigenen innerhalb des vclusters installieren. Bitte beachten Sie dabei
einfach, dass ein anderer IngressClass
-Name verwendet werden muss, damit
keinen Konflikt mit der vordefinierten IngressClass
entsteht.