|
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. |
Crea y ejecuta una directiva de Gatekeeper
Puedes crear y ejecutar la directiva exactamente de la misma manera que una directiva de Rego dirigida al Open Policy Agent. La estructura de tu proyecto es:
. ├── data │ ├── default-ns.json │ └── other-ns.json └── policy.rego 1 directory, 3 files
Construir
Construye la directiva ejecutando el comando opa:
$ opa build -t wasm -e policy/violation policy.rego
Esto construye la directiva de Rego, con:
-
target:wasm. Queremos construir la directiva para el objetivowasm. -
entrypoint:policy/violation. El punto de entrada es la reglaviolationdentro del paquetepolicy. -
policy.rego: construir e incluir el archivopolicy.rego.
El comando anterior genera un archivo bundle.tar.gz.
Puedes extraer el módulo Wasm de él:
$ tar -xf bundle.tar.gz /policy.wasm
El árbol del proyecto se ve como el siguiente:
. ├── bundle.tar.gz ├── data │ ├── default-ns.json │ └── other-ns.json ├── policy.rego └── policy.wasm 1 directory, 5 files
Ahora puedes ejecutar tu directiva.
Ejecute:
Utiliza kwctl para ejecutar tu directiva de la siguiente manera:
$ kwctl run -e gatekeeper --request-path data/other-ns.json policy.wasm | jq
{
"uid": "1299d386-525b-4032-98ae-1949f69f9cfc",
"allowed": true
}
Este es tu recurso creado en el espacio de nombres llamado other, se acepta, como se esperaba.
Ahora puedes ejecutar una solicitud que es rechazada por la directiva:
$ kwctl run -e gatekeeper --request-path data/default-ns.json policy.wasm | jq
{
"uid": "1299d386-525b-4032-98ae-1949f69f9cfc",
"allowed": false,
"status": {
"message": "it is forbidden to use the default namespace"
}
}
Puedes ver que tu directiva de Gatekeeper rechazó este recurso.