Mit ComputeClasses in Google Kubernetes Engine (GKE) können Sie Knoten erstellen, die verschiedene Arbeitslastanforderungen erfüllen. Pods können ComputeClasses verwenden, um Hardware zu erstellen. Je nach ComputeClass kann die Hardware sehr gefragt, nur begrenzt verfügbar oder relativ teuer für Ihr Unternehmen sein. In diesem Tutorial wird gezeigt, wie Sie Kubernetes RBAC und ValidatingAdmissionPolicies verwenden, um das Erstellen, Löschen, Ändern und Auswählen von ComputeClasses einzuschränken.
Mit diesen Einschränkungen können Sie Situationen wie die folgenden vermeiden:
- Pods, die keine spezielle Hardware wie GPUs oder TPUs benötigen, wählen Compute-Klassen aus, die diese Hardware anfordern.
- Eine nicht autorisierte Einheit erstellt oder ändert Compute-Klassen, um Zugriff auf Hardware zu erhalten, die für kritische Arbeitslasten reserviert ist.
In diesem Dokument wird ein Beispiel für eine ValidatingAdmissionPolicy verwendet, die häufige Arten von Missbrauch blockiert, z. B. ComputeClass-Toleranzen mit Platzhaltern oder die Auswahl bestimmter nicht zulässiger ComputeClasses. Sie können die ValidatingAdmissionPolicy ändern, um Anforderungen zu erfüllen, die für Ihre Organisation spezifisch sind, z. B. das Blockieren von Arbeitslasten bestimmter Teams, die ComputeClasses verwenden.
Ziele
- Verwenden Sie eine ValidatingAdmissionPolicy, um die ComputeClasses, die Pods in jedem Namespace auswählen können, auf eine genehmigte Liste zu beschränken.
- Verwenden Sie die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC), um einzuschränken, wer ComputeClasses in Ihren Clustern erstellen, ändern oder löschen kann.
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Erstellen Sie ein Google Cloud Projekt oder wählen Sie eines aus.
Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (
roles/resourcemanager.projectCreator), die die Berechtigungresourcemanager.projects.createenthält. Weitere Informationen zum Zuweisen von Rollen
-
So erstellen Sie ein Google Cloud Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud Projekt, das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch den Namen Ihres Projekts in Google Cloud .
-
Wenn Sie für diese Anleitung ein vorhandenes Projekt verwenden, prüfen Sie, ob Sie die erforderlichen Berechtigungen haben. Wenn Sie ein neues Projekt erstellt haben, haben Sie bereits die erforderlichen Berechtigungen.
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
Aktivieren Sie die Kubernetes Engine API:
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von Rollengcloud services enable container.googleapis.com
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Erstellen Sie ein Google Cloud Projekt oder wählen Sie eines aus.
Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (
roles/resourcemanager.projectCreator), die die Berechtigungresourcemanager.projects.createenthält. Weitere Informationen zum Zuweisen von Rollen
-
So erstellen Sie ein Google Cloud Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud Projekt, das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch den Namen Ihres Projekts in Google Cloud .
-
Wenn Sie für diese Anleitung ein vorhandenes Projekt verwenden, prüfen Sie, ob Sie die erforderlichen Berechtigungen haben. Wenn Sie ein neues Projekt erstellt haben, haben Sie bereits die erforderlichen Berechtigungen.
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
Aktivieren Sie die Kubernetes Engine API:
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von Rollengcloud services enable container.googleapis.com
- Wenn Sie eine lokale Shell verwenden, installieren Sie die Komponente
kubectl:gcloud components install kubectl
- Sie benötigen einen GKE-Cluster, der Version 1.30 oder höher verwendet. Sie können für dieses Tutorial auch einen Autopilot-Cluster erstellen.
- Konfigurieren Sie Ihren Cluster für Google Groups for RBAC:
- Richten Sie die Gruppe
gke-security-groupsin Ihrer Domain ein. - Aktivieren Sie Google Groups for RBAC in Ihrem Cluster.
Weitere Informationen finden Sie unter Google Groups einrichten.
- Richten Sie die Gruppe
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle „Kubernetes Engine-Administrator“ (role/container.admin) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von RBAC-Richtlinien und Kubernetes-Objekten in Ihrem Cluster benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Umgebung vorbereiten
So bereiten Sie Ihren Cluster für die Erstellungs- und Überprüfungsaufgaben in diesem Tutorial vor:
Mit dem Cluster verbinden:
gcloud container clusters get-credentials CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATIONErsetzen Sie Folgendes:
CLUSTER_NAME: Der Name Ihres Clusters.CONTROL_PLANE_LOCATION: Die Region oder Zone der Cluster-Steuerungsebene, z. B.us-central1oderus-central1-a.
Erstellen Sie einen Namespace für dieses Tutorial. Sie können auch einen vorhandenen Namespace im Cluster verwenden.
kubectl create namespace computeclass-vap-tutorialErstellen Sie eine RBAC-Richtlinie, die den Zugriff zum Verwalten von ValidatingAdmissionPolicies und ValidatingAdmissionPolicyBindings gewährt:
Speichern Sie das folgende Manifest als
validatingadmissionpolicy-editor.yaml:apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: validatingadmissionpolicy-editor rules: - apiGroups: ["admissionregistration.k8s.io"] resources: ["validatingadmissionpolicies","validatingadmissionpolicybindings"] verbs: ["get", "list", "create", "update", "patch", "delete"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: edit-validatingadmissionpolicies subjects: - kind: User name: USER_ACCOUNT apiGroup: rbac.authorization.k8s.io roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: validatingadmissionpolicy-editorErsetzen Sie
USER_ACCOUNTdurch die E-Mail-Adresse Ihres Nutzerkontos.RBAC-Richtlinie erstellen:
kubectl apply -f validatingadmissionpolicy-editor.yaml
Erstellen Sie eine ComputeClass in Ihrem Cluster. Wenn der Cluster bereits eine ComputeClass hat, überspringen Sie diesen Schritt.
Speichern Sie das folgende Manifest als
access-computeclass.yaml:apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: access-restriction-class spec: priorities: - machineFamily: e2 nodePoolAutoCreation: enabled: true whenUnsatisfiable: ScaleUpAnywayComputeClass erstellen:
kubectl apply -f access-computeclass.yaml
ValidatingAdmissionPolicy erstellen
Wenn Sie die Compute-Klassen einschränken möchten, die Pods auswählen können, erstellen Sie eine ValidatingAdmissionPolicy und erzwingen sie in einem bestimmten Namespace. Mit der ValidatingAdmissionPolicy-Spezifikation steuern Sie, wie Pods Compute-Klassen auswählen können. Die folgenden Schritte zeigen, wie Sie diese Richtlinie erstellen und erzwingen:
Speichern Sie das folgende ValidatingAdmissionPolicy-Manifest als
restrict-computeclass-usage-vap.yaml:apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicy metadata: name: restrict-computeclass-usage spec: failurePolicy: Fail # If an internal error occurs, deny the request. variables: # Check whether the admission request is for a Deployment. - name: isDeployment expression: "object.kind == 'Deployment'" # Get the Pod specification from the admission request by reading the # spec.template.spec field for Deployments or the spec field for static Pods. - name: podSpec expression: "variables.isDeployment ? object.spec.template.spec : object.spec" # Check whether a node selector or an affinity rule that explicitly requests a # disallowed ComputeClass. - name: hasForbiddenNodeSelectorOrAffinity expression: >- (has(variables.podSpec.nodeSelector) && variables.podSpec.nodeSelector['cloud.google.com/compute-class'] == 'COMPUTECLASS_NAME') || (has(variables.podSpec.affinity) && has(variables.podSpec.affinity.nodeAffinity) && has(variables.podSpec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution) && variables.podSpec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.exists(term, has(term.matchExpressions) && term.matchExpressions.exists( exp, exp.key == 'cloud.google.com/compute-class' && exp.operator == 'In' && exp.values.exists(v, v == 'COMPUTECLASS_NAME') ) )) # Check whether the Pod has a toleration for the taint that corresponds to a # disallowed ComputeClass. - name: hasForbiddenComputeClassToleration expression: >- has(variables.podSpec.tolerations) && variables.podSpec.tolerations.exists(t, t.key == 'cloud.google.com/compute-class' && (t.operator == 'Exists' || (t.operator == 'Equal' && t.value == 'COMPUTECLASS_NAME')) && has(t.effect) && t.effect == 'NoSchedule') # Check whether the Pod has a toleration that could match any taint. - name: hasWildcardToleration expression: >- has(variables.podSpec.tolerations) && variables.podSpec.tolerations.exists(t, (t.operator == 'Exists' && !(has(t.key) && t.key != '')) ) # Trigger the ValidatingAdmissionPolicy when Pods or Deployments are created or # updated. matchConstraints: resourceRules: - apiGroups: [""] apiVersions: ["v1"] operations: ["CREATE", "UPDATE"] resources: ["pods"] - apiGroups: ["apps"] apiVersions: ["v1"] operations: ["CREATE", "UPDATE"] resources: ["deployments"] # Validate whether any of the expressions in the variables section evaluate to # true. validations: - expression: >- !(variables.hasForbiddenNodeSelectorOrAffinity || variables.hasForbiddenComputeClassToleration || variables.hasWildcardToleration) message: >- Pods and Deployments in this namespace cannot request ComputeClass COMPUTECLASS_NAME or use wildcard tolerations.Ersetzen Sie
COMPUTECLASS_NAMEdurch den Namen einer ComputeClass, die Pods nicht auswählen sollen.Diese ValidatingAdmissionPolicy hat die folgenden Eigenschaften:
- Trigger für statische Pods oder Pods in Deployments.
Sucht nach Pods, die eine der folgenden Aktionen ausführen:
- Verwenden Sie eine Knotenauswahl oder eine Knotenaffinitätsregel, um explizit eine bestimmte unzulässige ComputeClass auszuwählen.
- Verwenden Sie eine Toleranz, die einer Knoten-Markierung für eine bestimmte unzulässige Compute-Klasse entspricht.
- Verwenden Sie eine Toleranz, die mit allen Knotenmarkierungen im Cluster übereinstimmt.
Diese ValidatingAdmissionPolicy ist ein Beispiel. Sie können Ausdrücke verwenden, um die Richtlinie basierend auf Ihren eigenen Bedingungen auszulösen, z. B. um zu verhindern, dass Pods mit bestimmten Labels bestimmte Compute-Klassen auswählen.
ValidatingAdmissionPolicy erstellen:
kubectl apply -f restrict-computeclass-usage-vap.yamlSpeichern Sie die folgende ValidatingAdmissionPolicyBinding als
restrict-computeclass-usage-binding.yaml:apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicyBinding metadata: name: restrict-computeclass-usage-binding spec: policyName: restrict-computeclass-usage validationActions: ["Deny","Audit"] matchResources: namespaceSelector: matchLabels: kubernetes.io/metadata.name: computeclass-vap-tutorial # Replace with the name of any namespace in the cluster.Mit dieser ValidatingAdmissionPolicyBinding wird die ValidatingAdmissionPolicy aus dem vorherigen Schritt im Namespace
computeclass-vap-tutorialerzwungen. Die Werte im FeldvalidationActionslehnen Pods oder Deployments ab, die gegen die ValidatingAdmissionPolicy verstoßen, und fügen dem Kubernetes-Audit-Log einen Eintrag hinzu.Erstellen Sie die ValidatingAdmissionPolicyBinding:
kubectl apply -f restrict-computeclass-usage-binding.yaml
RBAC-Richtlinien konfigurieren
Zusätzlich zur Verwendung einer ValidatingAdmissionPolicy, um zu verhindern, dass Arbeitslasten bestimmte ComputeClasses verwenden, sollten Sie RBAC verwenden, um zu verhindern, dass nicht autorisierte Principals die ComputeClasses in Ihrem Cluster erstellen und ändern. Die folgenden Schritte zeigen, wie Sie einer bestimmten Nutzergruppe mithilfe von Google Groups for RBAC Zugriff auf ComputeClasses gewähren:
Gruppe für ComputeClass-Bearbeiter erstellen:
Rufen Sie in der Google Admin-Konsole die Seite Gruppen auf.
Klicken Sie auf Gruppe erstellen.
Gehen Sie auf der Seite Gruppendetails so vor:
- Geben Sie im Feld Gruppenname den Wert
computeclass-editorsein. - Geben Sie im Feld Gruppen-E-Mail
computeclass-editorsan. - Klicken Sie das Kästchen Sicherheit an.
- Klicken Sie auf Weiter.
- Geben Sie im Feld Gruppenname den Wert
Prüfen Sie auf der Seite Zugriffstyp in der Spalte Gruppenmitglieder, ob das Kästchen Wer kann die Mitgliederliste sehen? angeklickt ist.
Klicken Sie auf Gruppe erstellen.
Klicken Sie im Navigationsmenü auf Verzeichnis > Gruppen.
Bewegen Sie den Mauszeiger auf die Zeile gke-security-groups und klicken Sie dann auf Mitglieder hinzufügen.
Geben Sie im Dialogfeld Mitglieder zu gke-security-groups hinzufügen
computeclass-editorsan und wählen Sie die Gruppe aus den Ergebnissen aus.Klicken Sie auf Zu Gruppe hinzufügen.
Fügen Sie der Gruppe
computeclass-editorsdie E‑Mail-Adressen autorisierter Nutzer hinzu.Speichern Sie die folgende ClusterRole als
computeclass-editor-clusterrole.yaml:apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: computeclass-editor rules: - apiGroups: ["cloud.google.com"] resources: ["computeclasses"] verbs: ["create","update"]ClusterRole erstellen:
kubectl apply -f computeclass-editor-clusterrole.yamlSpeichern Sie das folgende ClusterRoleBinding als
computeclass-editor-role-binding.yaml:apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: computeclass-editor-role-binding subjects: - kind: Group name: computeclass-editors@GROUP_DOMAIN apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: computeclass-editor apiGroup: rbac.authorization.k8s.io # Required for role referencesErsetzen Sie
GROUP_DOMAINdurch den Domainnamen der Gruppecomputeclass-editors.ClusterRoleBinding erstellen:
kubectl apply -f computeclass-editor-role-binding.yaml
Einschränkungen prüfen
In den folgenden Abschnitten wird beschrieben, wie Sie überprüfen, ob die Einschränkungen, die Sie in den vorherigen Abschnitten konfiguriert haben, wie erwartet funktionieren. Wenn Sie eigene Einschränkungen in ValidatingAdmissionPolicies oder RBAC-Richtlinien konfigurieren, testen Sie die Einschränkungen, indem Sie eine Arbeitslast erstellen, die gegen diese Richtlinien verstößt.
ValidatingAdmissionPolicy prüfen
Speichern Sie eines der folgenden Manifeste, die jeweils gegen eine andere Bedingung der ValidatingAdmissionPolicy verstoßen:
Deployment, das einen Knotenselektor verwendet, um eine nicht zulässige ComputeClass auszuwählen:
apiVersion: apps/v1 kind: Deployment metadata: name: disallowed-computeclass-deployment namespace: computeclass-vap-tutorial spec: replicas: 1 selector: matchLabels: app: forbidden-selector-app template: metadata: labels: app: forbidden-selector-app spec: containers: - name: my-app-container image: nginx:latest # The node selector triggers the policy. nodeSelector: cloud.google.com/compute-class: COMPUTECLASS_NAMEBereitstellung mit einer Toleranz für eine nicht zulässige ComputeClass:
apiVersion: apps/v1 kind: Deployment metadata: name: disallowed-computeclass-deployment-toleration namespace: computeclass-vap-tutorial spec: replicas: 1 selector: matchLabels: app: forbidden-selector-app template: metadata: labels: app: forbidden-selector-app spec: containers: - name: my-app-container image: nginx:latest tolerations: - key: cloud.google.com/compute-class operator: Equal value: COMPUTECLASS_NAME effect: NoScheduleDeployment mit einer Knotenaffinitätsregel für eine nicht zulässige ComputeClass:
apiVersion: apps/v1 kind: Deployment metadata: name: disallowed-computeclass-deployment-toleration namespace: computeclass-vap-tutorial spec: replicas: 1 selector: matchLabels: app: forbidden-selector-app template: metadata: labels: app: forbidden-selector-app spec: containers: - name: my-app-container image: nginx:latest affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: cloud.google.com/compute-class operator: In values: - COMPUTECLASS_NAMEPod mit einer Toleranz für jede Knotenmarkierung im Cluster:
apiVersion: v1 kind: Pod metadata: name: disallowed-computeclass-deployment-toleration namespace: computeclass-vap-tutorial spec: containers: - name: my-app-container image: nginx:latest tolerations: - operator: Exists effect: NoSchedule
Testarbeitslast erstellen:
kubectl apply -f PATH_TO_WORKLOAD_MANIFESTDie Ausgabe sieht etwa so aus:
Error from server (BadRequest): admission webhook "validation-policy.kubernetes.io" denied the request: Pods and Deployments in this namespace cannot request ComputeClass COMPUTECLASS_NAME or use wildcard tolerations.
RBAC-Konfiguration überprüfen
So prüfen Sie Ihre RBAC-Konfiguration:
Authentifizieren Sie sich beim Cluster mit den Anmeldedaten eines Nutzers, der Mitglied der Gruppe
computeclass-editorsist.Prüfen Sie, ob der Nutzer eine ComputeClass erstellen kann:
kubectl auth can-i create computeclasses.cloud.google.com \ --as=MEMBER_USERErsetzen Sie
MEMBER_USERdurch die E-Mail-Adresse eines Nutzers, der Mitglied der Gruppe ist.Die Ausgabe lautet
yes.Authentifizieren Sie sich beim Cluster mit den Anmeldedaten eines Nutzers, der kein Mitglied der Gruppe
computeclass-editorsist.Prüfen Sie, ob der Nutzer eine ComputeClass erstellen kann:
kubectl auth can-i create computeclasses.cloud.google.com \ --as=NON_MEMBER_USERErsetzen Sie
NON_MEMBER_USERdurch die E-Mail-Adresse eines Nutzers, der kein Mitglied der Gruppe ist.Die Ausgabe lautet
no.
Wenn die Ausgabe des Befehls kubectl auth can-i für einen Nutzer, der kein Mitglied der Gruppe ist, yes lautet, prüfen Sie Folgendes:
- Die Gruppe
computeclass-editorsist Mitglied der Gruppegke-security-groups. - Die E-Mail-Adresse der Gruppe in Ihrer ClusterRoleBinding ist die genaue E-Mail-Adresse der Gruppe, z. B.
computeclass-editors@example.com.
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
Wenn Sie die ValidatingAdmissionPolicy- und RBAC-Richtlinien in dieser Anleitung in einem Produktionscluster bereitstellen, blockiert GKE eingehende Pods und API-Anfragen, die gegen die Richtlinien verstoßen. Wenn Sie diese Richtlinien aktiv lassen möchten, überspringen Sie diesen Abschnitt. In den folgenden Abschnitten wird beschrieben, wie Sie das Projekt oder einzelne Ressourcen löschen, wenn Sie diese Anleitung in einer Lern- oder Testumgebung durchgearbeitet haben.
Projekt löschen
Google Cloud -Projekt löschen:
gcloud projects delete PROJECT_ID
Einzelne Ressourcen löschen
Löschen Sie die von Ihnen erstellte ComputeClass:
kubectl delete computeclass access-restriction-classLöschen Sie die ValidatingAdmissionPolicy und die ValidatingAdmissionPolicyBinding:
kubectl delete validatingadmissionpolicy restrict-computeclass-usage kubectl delete validatingadmissionpolicybinding restrict-computeclass-usage-bindingLöschen Sie die ClusterRoles und ClusterRoleBindings:
kubectl delete clusterroles \ computeclass-editor validatingadmissionpolicy-editor kubectl delete clusterrolebindings \ computeclass-editor-role-binding edit-validatingadmissionpoliciesLöschen Sie den Beispiel-Namespace:
kubectl delete namespace computeclass-vap-tutorial
Nächste Schritte
- Best Practices für die Clustersicherheit
- Referenzarchitekturen, Diagramme und Best Practices zu Google Cloud kennenlernen. Weitere Informationen zu Cloud Architecture Center