|
Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado. |
|
Esta es documentación inédita para Admission Controller 1.34-dev. |
Instalación en entorno aislado con Hauler
Esta guía te muestra cómo instalar SUSE Security Admission Controller en entornos aislados utilizando Hauler. Hauler es una herramienta que ayuda a los usuarios a ejecutar cargas de trabajo en entornos aislados. Mueve los recursos necesarios para las aplicaciones a esos entornos aislados.
Admission Controller proporciona un archivo de manifiesto con todos los recursos necesarios para ejecutar Admission Controller en un entorno privado. Esta documentación describe cómo puedes utilizarlo. Consulta la documentación de Hauler para aprender más sobre ello.
El flujo de trabajo básico utilizando el manifiesto de Hauler es:
-
Consíguelo desde una página de lanzamiento de Admission Controller
-
Carga todos los recursos necesarios para ejecutar Admission Controller en un almacén local
-
Expórtalos a un archivo
-
Mueve el archivo al entorno privado.
-
Carga los recursos en Hauler ejecutándose dentro del entorno privado.
-
Copia todo en un registro, para ser utilizado en el proceso de instalación, en tu entorno aislado.
Descarga el manifiesto de Hauler desde la página de lanzamiento del gráfico de Helm
Descarga hauler_manifest.yml desde la Admission Controllerpágina de lanzamiento.
Sincroniza los recursos definidos en el manifiesto a tu almacén de Hauler:
hauler store sync --filename hauler_manifest.yaml
Hauler descarga todos los recursos del manifiesto al almacén local. Este proceso tarda unos minutos. Cuando se complete, podrás ver los recursos sincronizados con el comando hauler store info.
Genera el archivo tarball con todos los recursos de Admission Controller.
Ejecuta el comando Hauler para exportar todos los recursos previamente cargados en el almacén a un archivo:
hauler store save --filename kubewarden-resources.tar.zst
|
Las imágenes de contenedor de Admission Controller son compatibles con arquitecturas x86_64 y de la familia de arquitecturas ARM. Por lo tanto, cuando guardes el recurso en el archivo, podrás ver mensajes de advertencia como este:
Para evitar este mensaje de advertencia, puedes establecer la bandera CLI |
Transfiere el tarball a tu entorno aislado.
Ahora que tienes todos los recursos de Admission Controller en kubewarden-resources.tar.zst, cópialo en tu entorno aislado y cárgalo en el almacén de Hauler allí:
hauler store load --filename kubewarden-resources.tar.zst
# Check if the resources are loaded
hauler store info
Ahora todos los recursos necesarios para instalar Admission Controller están en el almacén de Hauler en tu entorno aislado.
Poblar el registro privado
Para utilizar los recursos de tu almacén de Hauler, es necesario hacerlos disponibles en un registro interno. Puedes usar comandos de Hauler para copiarlos en tu registro privado.
hauler store copy registry://localhost:5000
También puedes ejecutar Hauler para iniciar un registro con todos los recursos del almacén. Este registro no es seguro, y necesitas adaptar la configuración del clúster:
# Find IP address of your host
# hostname -I
# Update registries.yaml for k3s based cluster to allow insecure access
# mirrors:
# "<HOST_IP>:5000":
# endpoint:
# - "http://<HOST_IP>:5000"
# configs:
# "<HOST_IP>:5000":
# tls:
# insecure_skip_verify: true
# Configure policy-server to allow pulling policies from insecure sources
# helm install .. kubewarden-defaults .. --set policyServer.insecureSources[0]=<HOST_IP:5000>
hauler store serve registry
Esto inicia un registro en la dirección localhost:5000. A partir de este momento, puedes usar otros comandos como Skopeo para copiar todas las imágenes de contenedor, módulos de directiva y gráficos de Helm utilizados por Admission Controller en tu registro privado.
Instalar Admission Controller
Ahora que tu registro privado tiene todo lo necesario, puedes instalar Admission Controller. La diferencia con una instalación estándar de Admission Controller es que necesitas cambiar el registro en las imágenes de contenedor y directivas para que sea el registro privado. Además, necesitas instalar los gráficos de Helm de los artefactos OCI.
Instala el Admission Controllerstack:
helm install --wait -n kubewarden kubewarden-crds --create-namespace \
oci://<REGISTRY.YOURDOMAIN.COM:PORT>/hauler/kubewarden-crds
helm install --wait -n kubewarden kubewarden-controller \
--set "global.cattle.systemDefaultRegistry=<REGISTRY.YOURDOMAIN.COM:PORT>" \
oci://<REGISTRY.YOURDOMAIN.COM:PORT>/hauler/kubewarden-controller
|
Para usar el subgráfico Policy Reporter disponible en el
Es necesario definir |
helm install --wait -n kubewarden \
kubewarden-defaults oci://<REGISTRY.YOURDOMAIN.COM:PORT>/hauler/kubewarden-defaults \
--set global.cattle.systemDefaultRegistry=<REGISTRY.YOURDOMAIN.COM:PORT>
Finalmente, configura cada Servidor de Directivas para obtener directivas de tu registro privado. Consulta la sección usando registro privado de la documentación.
Ahora crea Admission Controller directivas en tu clúster. Las directivas deben estar disponibles en tu registro privado.
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
|
Los `PolicyServer`recursos deben utilizar la imagen disponible en tu registro privado. Por ejemplo:
|