Freigeben über


Kubernetes-Clustergovernance

Governance bezieht sich auf die Fähigkeit einer Organisation, Regeln durchzusetzen und zu überprüfen, um die Einhaltung von Unternehmensstandards zu gewährleisten. Governance hilft Organisationen dabei, Risiken zu mindern, Unternehmensstandards und externe Vorschriften einzuhalten und Unterbrechungen bei Einführung oder Innovation zu minimieren.

Governance umfasst die Planung von Initiativen, das Festlegen strategischer Prioritäten und die Verwendung von Mechanismen und Prozessen zur Steuerung von Anwendungen und Ressourcen. Für Kubernetes-Cluster in einer Cloudumgebung bedeutet Governance die Implementierung von Richtlinien für Kubernetes-Cluster und die Anwendungen, die in diesen Clustern ausgeführt werden.

Kubernetes-Governance umfasst sowohl die Cloudumgebung als auch die Clusterbereitstellungsinfrastruktur sowie die Cluster selbst und ihre Anwendungen. Dieser Leitfaden konzentriert sich auf Governance in Kubernetes-Clustern. In diesem Artikel wird beschrieben und verglichen, wie Amazon Elastic Kubernetes Service (Amazon EKS) und Azure Kubernetes Service (AKS) Kubernetes-Clustergovernance verwalten.

Hinweis

Dieser Artikel ist Teil einer Artikelreihe, die Experten, die mit Amazon EKS vertraut sind, hilft, Azure Kubernetes Service (AKS) zu verstehen.

Kubernetes-Governancedimensionen

Drei Dimensionen definieren eine konsistente Kubernetes-Governancestrategie:

  • Ziele beschreiben die Sicherheits- und Compliancerichtlinienziele, die eine Governancestrategie erfüllen sollte. Beispielsweise geben Ziele an, welche Benutzer auf einen Kubernetes-Cluster, einen Kubernetes-Namespace oder eine Kubernetes-Anwendung zugreifen können oder welche Containerregistrierungen und -images in welchen Clustern verwendet werden sollen. Das Team für Sicherheitsvorgänge legt diese Ziele in der Regel als ersten Schritt bei der Definition der Governancestrategie eines Unternehmens fest.

  • Bereiche beschreiben die Elemente, auf die die Zielrichtlinien angewendet werden. Bereiche müssen alle sichtbaren Kubernetes-Komponenten adressiert werden. Bereiche können Organisationseinheiten wie Abteilungen, Teams und Gruppen oder Umgebungen wie Clouds, Regionen oder Namespaces oder beides sein.

  • Richtlinienanweisungen verwenden Kubernetes-Funktionen, um die Zielregeln in den angegebenen Bereichen zu erzwingen, um die Governancerichtlinien durchzusetzen.

Weitere Informationen finden Sie unter Wichtige Informationen zu Kubernetes-Governance.

Governance in EKS und AKS

  • AWS-Kunden (Amazon Web Services) verwenden in der Regel Kyverno, Gatekeeper oder andere Drittanbieterlösungen, um eine Governancestrategie für ihre Amazon EKS-Cluster zu definieren und zu implementieren. Das GitHub-Repository aws-eks-best-practices/policies enthält eine Sammlung von Beispielrichtlinien für Kyverno und Gatekeeper.

  • Azure-Kunden können auch Kyverno oder Gatekeeper verwenden und das Add-On für Azure Policy für Kubernetes verwenden, um Gatekeeper für eine AKS-Governancestrategie zu erweitern.

Gatekeeper

Cloud Native Computing Foundation (CNCF) sponsert den Open-Source-Gatekeeper-Richtliniencontroller für Kubernetes zum Erzwingen von Richtlinien in Kubernetes-Clustern. Gatekeeper ist ein Kubernetes-Zugangscontroller, der Richtlinien erzwingt, die mit Open Policy Agent (OPA), einer universellen Richtlinien-Engine, erstellt wurden.

OPA verwendet eine allgemeine deklarative Sprache namens Rego, um Richtlinien zu erstellen, die Pods von Mandanten in separaten Instanzen oder mit unterschiedlichen Prioritäten ausführen können. Eine Sammlung allgemeiner OPA-Richtlinien finden Sie in der OPA-Gatekeeper-Bibliothek.

Kyverno

CNCF unterstützt auch das Kyverno-Open-Source-Projekt zum Erzwingen von Richtlinien in Kubernetes-Clustern. Kyverno ist eine native Kubernetes-Richtlinien-Engine, die Kubernetes-Ressourcenkonfigurationen mit Richtlinien überprüfen, ändern und generieren kann.

Mit Kyverno können Sie Richtlinien als Kubernetes-Ressourcen definieren und verwalten, ohne eine neue Sprache zu verwenden. Dieser Ansatz ermöglicht die Verwendung vertrauter Tools wie kubectl, git und kustomize zum Verwalten von Richtlinien.

Kyverno verwendet Überlagerungen im kustomize-Stil für die Validierung, unterstützt JSON Patch und Merge Patch (strategisch) für Änderungen und kann Ressourcen namespaceübergreifend auf der Grundlage flexibler Trigger klonen. Sie können Richtlinien einzeln mithilfe ihrer YAML-Manifeste bereitstellen oder sie mithilfe von Helm-Charts packen und bereitstellen.

Kyverno kann im Gegensatz zu Gatekeeper oder Azure Policy für AKS neue Kubernetes-Objekte mit Richtlinien generieren und nicht nur vorhandene Ressourcen überprüfen oder ändern. Sie können beispielsweise eine Kyverno-Richtlinie definieren, um die Erstellung einer Standardnetzwerkrichtlinie für jeden neuen Namespace zu automatisieren.

Weitere Informationen finden Sie im offiziellen Kyverno-Installationshandbuch. Eine Liste der einsatzbereiten oder anpassbaren Richtlinien finden Sie in der Kyverno-Richtlinienbibliothek. Verweis zur Problembehandlung (z. B. APIServer schlägt bei webhook calls fehl), finden Sie unter der Kyverno-Problembehandlungsdokumentation.

Optional können Sie die Kyverno-Implementierung der Kubernetes-Podsicherheitsstandards (PSS) als Kyverno-Richtlinien bereitstellen. Die PSS-Kontrollen bieten einen Ausgangspunkt für die allgemeine Betriebssicherheit von Kubernetes-Clustern.

Azure Policy-Add-On für AKS

Das Azure Policy Add-on for AKS erweitert Gatekeeper, um umfangreiche Erzwingungs- und Schutzmaßnahmen zentral und einheitlich auf AKS-Cluster anzuwenden. Azure Policy ermöglicht eine zentrale Complianceverwaltung und Berichterstellung für mehrere Kubernetes-Cluster an einem einzigen Standort. Diese Funktion macht die Verwaltung und Governance von Multiclusterumgebungen effizienter als die Bereitstellung und Verwaltung von Kyverno oder Gatekeeper für jeden Cluster.

Das Azure Policy-Add-On für AKS bietet die folgenden Funktionen:

  • Überprüfen auf Richtlinienzuweisungen für den Cluster mit dem Azure Policy-Dienst
  • Bereitstellen von Richtliniendefinitionen im Cluster als Einschränkungsvorlage und benutzerdefinierte Einschränkungsressource
  • Senden von Details zur Überwachung und Konformität zurück an den Azure Policy-Dienst

Das Azure Policy-Add-On unterstützt die Clusterumgebungen für AKS und Kubernetes mit Azure Arc-Unterstützung. Weitere Informationen finden Sie unter Grundlegendes zu Azure Policy für Kubernetes-Cluster. Informationen zum Installieren des Add-Ons auf neuen und vorhandenen Clustern finden Sie unter Installieren des Azure Policy-Add-Ons für AKS.

Nach der Installation des Azure Policy-Add-Ons für AKS können Sie einzelne Richtliniendefinitionen oder Gruppen von Richtliniendefinitionen (sogenannte Initiativen) auf Ihren Cluster anwenden. Sie können integrierte Azure Policy-Richtlinien und -Initiativendefinitionen von Anfang an anwenden und erzwingen oder eigene benutzerdefinierte Richtliniendefinitionen erstellen und zuweisen. Die integrierten Azure Policy-Sicherheitsrichtlinien helfen, den Sicherheitsstatus Ihres AKS-Clusters zu verbessern, Organisationsstandards zu erzwingen und die Compliance im großen Stil zu bewerten.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautoren:

Andere Mitwirkende:

Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.

Nächste Schritte