|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
|
Dies ist eine unveröffentlichte Dokumentation für Admission Controller 1.34-dev. |
Verteilen einer Gatekeeper-Richtlinie mit SUSE Security Admission Controller
Richtlinien müssen annotiert werden, damit sie gepusht und schließlich von der SUSE Security Admission Controller policy-server in einem Kubernetes-Cluster ausgeführt werden können.
Das Annotieren und Verteilen einer Gatekeeper-Richtlinie ist ähnlich wie das Verteilen einer Open Policy Agent-Richtlinie.
Die Richtlinie annotieren
Sie werden eine metadata.yaml-Datei in Ihrem Richtlinienverzeichnis mit folgendem Inhalt schreiben:
rules:
- apiGroups: [""]
apiVersions: ["*"]
resources: ["*"]
operations: ["CREATE"]
mutating: false
contextAware: false
executionMode: gatekeeper
annotations:
io.kubewarden.policy.title: no-default-namespace
io.kubewarden.policy.version: 0.1.0 # should match the OCI tag
io.kubewarden.policy.description: This policy will reject any resource created inside the default namespace
io.kubewarden.policy.author: The Admission Controller Authors
io.kubewarden.policy.url: https://github.com/kubewarden/some-policy
io.kubewarden.policy.source: https://github.com/kubewarden/some-policy
io.kubewarden.policy.license: Apache-2.0
io.kubewarden.policy.usage: |
This policy is just an example.
You can write interesting descriptions about the policy here.
Sie können sehen, dass alles dasselbe ist wie die Metadaten der Open Policy Agent-Version, außer für den executionMode: gatekeeper-Teil.
Fahren Sie fort und annotieren Sie die Richtlinie:
$ kwctl annotate policy.wasm --metadata-path metadata.yaml --output-path annotated-policy.wasm
Die Richtlinie pushen
Pushen Sie Ihre Richtlinie in eine OCI-Registry:
$ kwctl push annotated-policy.wasm registry.my-company.com/kubewarden/no-default-namespace-gatekeeper:v0.0.1
Policy successfully pushed
Bereitstellung auf Kubernetes
Sie müssen Ihre Richtlinie zuerst in Ihren kwctl lokalen Speicher ziehen:
$ kwctl pull registry://registry.my-company.com/kubewarden/no-default-namespace-gatekeeper:v0.0.1
pulling policy...
Sie können jetzt eine Scaffold-ClusterAdmissionPolicy-Ressource erstellen:
$ kwctl scaffold manifest registry://registry.my-company.com/kubewarden/no-default-namespace-gatekeeper:v0.0.1 --type ClusterAdmissionPolicy
---
apiVersion: policies.kubewarden.io/v1alpha2
kind: ClusterAdmissionPolicy
metadata:
name: generated-policy
spec:
module: "registry://registry.my-company.com/kubewarden/no-default-namespace-gatekeeper:v0.0.1"
settings: {}
rules:
- apiGroups:
- ""
apiVersions:
- "*"
resources:
- "*"
operations:
- CREATE
mutating: false
Verwenden Sie jetzt diese ClusterAdmissionPolicy-Ressource, um Ihre Richtlinie in einem Kubernetes-Cluster bereitzustellen.