|
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. |
Air-Gap-Installation
Für eine Air-Gapped-Installation von SUSE Security Admission Controller benötigen Sie ein privates Open Container Initiative (OCI) Registry, das von Ihrem Kubernetes-Cluster aus zugänglich ist. Admission Controller Richtlinien sind WebAssembly-Module, daher können Sie sie als OCI-Artefakte in einem OCI-konformen Registry speichern. Sie müssen die Bilder und Richtlinien von Admission Controller in dieses OCI-Registry hinzufügen. Sie können auf eine Liste von Admission Controller Artefakten auf der Seite Artefaktverzeichnis verweisen. Die folgenden Abschnitte beschreiben den Prozess.
|
Wir empfehlen die Verwendung von Hauler. Siehe unsere Hauler-Dokumentationsseite. Alternativ können Sie den unten aufgeführten manuellen Prozess verwenden. |
Speichern Sie Helm-Charts lokal
Sie müssen die folgenden Helm-Charts auf Ihren Arbeitsplatz herunterladen:
helm pull kubewarden/kubewarden-crds
helm pull kubewarden/kubewarden-controller
helm pull kubewarden/kubewarden-defaults
helm pull kubewarden/sbomscanner
|
Optional können Sie die Signaturen der Helm-Charts und Containerbilder überprüfen. |
Speichern Sie Containerbilder lokal
-
Jedes unserer Helm-Charts enthält ein
imagelist.txtmit den von ihm verwendeten Containerbildern und, falls zutreffend, einpolicylist.txtmit den OCI-Wasm-Modulen der Richtlinien, die es ebenfalls verwendet.Um sie zu erhalten, können Sie Folgendes tun:
helm pull --untar \ kubewarden/kubewarden-crds \ kubewarden/kubewarden-controller \ kubewarden/kubewarden-defaults \ kubewarden/sbomscannerUnd dann fügen Sie sie in eine Datei zusammen:
cat */imagelist.txt > kubewarden-images.txt -
Laden Sie
kubewarden-save-images.shundkubewarden-load-images.shaus dem Utilities-Repository herunter. -
Speichern Sie Admission Controller Containerbilder in einer
.tar.gzDatei:./kubewarden-save-images.sh \ --image-list ./kubewarden-images.txt \ --images kubewarden-images.tar.gzDocker beginnt mit dem Herunterladen der Bilder, die für eine Air-Gap-Installation verwendet werden. Dieser Vorgang kann ein paar Minuten dauern. Nach Abschluss hat Ihr aktuelles Verzeichnis, in dem Sie den Befehl ausgeführt haben, ein Tarball,
kubewarden-images.tar.gz.
Richtlinien lokal speichern
-
Fügen Sie alle Richtlinien, die Sie verwenden möchten, in eine
policies.txtDatei ein:cat */policylist.txt > policies.txtEine Datei mit einer Liste der Standardrichtlinien befindet sich auf der Admission Controller Standard- Release-Seite.
-
Laden Sie
kubewarden-save-policies.shundkubewarden-load-policies.shaus demkubewarden-controllerRepository herunter. -
Richtlinien in eine
.tar.gzDatei speichern:./kubewarden-save-policies.sh --policies-list policies.txtVerwenden Sie
kwctl, um die Richtlinien herunterzuladen. Daskubewarden-policies.tar.gzArchiv enthält die Richtlinien.
Helm-Charts
Sie müssen die folgenden Helm-Charts auf Ihren Arbeitsplatz herunterladen:
helm pull kubewarden/kubewarden-crds
helm pull kubewarden/kubewarden-controller
helm pull kubewarden/kubewarden-defaults
Private Registry befüllen
Verschieben Sie diese Dateien in die Air-Gapped-Umgebung:
-
Helm-Charts im
tgz-Format (zum Beispielkubewarden-crds-1.23.0.tgz) -
kubewarden-policies.tar.gz, -
kubewarden-images.tar.gz, -
kubewarden-load-images.sh, -
kubewarden-load-policies.shund -
policies.txt-
Laden Sie Admission Controller Bilder in das private Registry. Sie müssen den Docker-Client gegen das lokale Registry authentifizieren.
./kubewarden-load-images.sh \ --image-list ./kubewarden-images.txt \ --images kubewarden-images.tar.gz \ --registry <REGISTRY.YOURDOMAIN.COM:PORT> -
Laden Sie die Admission Controller Richtlinien in das private Registry. Sie sollten sich authentifizieren, um das lokale Registry (
kwctlverwendet denselben Mechanismus zur Authentifizierung wiedocker, eine~/.docker/config.jsonDatei)./kubewarden-load-policies.sh \ --policies-list policies.txt \ --policies kubewarden-policies.tar.gz \ --registry <REGISTRY.YOURDOMAIN.COM:PORT> \ --sources-path sources.yml
-
|
Der
Verweisen Sie auf den Abschnitt über benutzerdefinierte Zertifizierungsstellen in der Dokumentation, um zu erfahren, wie Sie die |
Installieren Sie Admission Controller
Jetzt, da Ihr privates Registry alles Erforderliche hat, können Sie Admission Controller installieren. Der einzige Unterschied zu einer Standardinstallation von Admission Controller besteht darin, dass Sie das Registry in den Containerbildern und Richtlinien auf das private Registry ändern müssen.
Installieren Sie den Admission Controller Stack:
helm install --wait -n kubewarden \
kubewarden-crds kubewarden-crds.tgz
helm install --wait -n kubewarden \
kubewarden-controller kubewarden-controller.tgz \
--set global.cattle.systemDefaultRegistry=<REGISTRY.YOURDOMAIN.COM:PORT>
|
Um das im
Es ist notwendig, |
helm install --wait -n kubewarden \
kubewarden-defaults kubewarden-defaults.tgz \
--set global.cattle.systemDefaultRegistry=<REGISTRY.YOURDOMAIN.COM:PORT>
|
Um die empfohlenen Richtlinien, die vom Um zu installieren und auf den Abschluss der Installation zu warten, verwenden Sie den folgenden Befehl:
Wenn die |
Schließlich müssen Sie den Policy Server so konfigurieren, dass er Richtlinien aus Ihrem privaten Registry abruft. Bitte beachten Sie den Abschnitt Verwendung des privaten Registry der Dokumentation.
Jetzt können Sie Admission Controller Richtlinien in Ihrem Cluster erstellen. Richtlinien müssen in Ihrem privaten Registry verfügbar sein.
kubectl apply -f - <<EOF
apiVersion: policies.kubewarden.io/v1
kind: ClusterAdmissionPolicy
metadata:
name: privileged-pods
spec:
module: registry://<REGISTRY.YOURDOMAIN.COM:PORT>/kubewarden/policies/pod-privileged:v0.2.2
rules:
- apiGroups: [""]
apiVersions: [“v1”]
resources: [“pods”]
operations:
- CREATE
mutating: false
EOF
|
|