Ich möchte Kubernetes auf einem großen physischen Server (24 Kerne) bereitstellen, und ich bin unsicher in Bezug auf eine Reihe von Dingen.Um einen Bare-Metal-Server für eine Kubernetes-Deployment zu virtualisieren oder nicht zu virtualisieren
Was sind die Vor- und Nachteile des Erstellens von virtuellen Maschinen für den K8s-Cluster anders als das Ausführen auf Bare-Metal.
Ich habe folgende Überlegungen:
- Erstellen von VMs für Arbeitsbelastung Isolation ermöglicht. Neue vms für Experimente können erstellt und Entwicklern zugewiesen werden.
- Auf der anderen Seite, mit K8s läuft auf blankem Metall ein neues NAMESPACE kann für jeden Entwickler für Experimente erstellt werden und sie können ihren Code darin ausführen. Nach alledem sollte ihr Code in Andock-Containern laufen.
Sicherheit:
- Mit vms die Menge der Zugang zu künftigen Maintainer gegeben begrenzen würde, die Höhe des Schadens zu begrenzen, die getan werden könnte. Auf der anderen Seite wäre die primäre Aufgabe für zukünftige Maintainer das Hinzufügen/Löschen von Knoten und sie würden dafür Bare-Metal-Zugriff benötigen.
Authentication:
- Im Moment devs würde nur den Server berühren, wenn ihr Code läuft durch die CI-Pipeline und ihr Lauf Implementierungen bereitgestellt werden. Aber was ist mit dem Anzeigen von Protokollen? Könnten wir die gestaffelte kubectl-Authentifizierung einrichten, damit Entwickler nur auf die ihnen zugewiesenen Namespaces zugreifen können (ich denke, dies sollte mit dem k8s-Namespace-Autorisierungs-Plugin möglich sein).
Eine Anzahl von vms ist bereits auf dem Server vorhanden. Wäre das ein Problem?
Korrektur 24 Kerne 128 GB RAM :) – Jonathan