Kustomize en Kali Linux: Guía Rápida

 

 https://www.onlinetis.com/es/

Kustomize en Kali Linux: Guía Rápida

Si estás trabajando con Kubernetes en Kali Linux, Kustomize es una herramienta esencial. A diferencia de Helm (que usa plantillas), Kustomize permite personalizar archivos YAML de Kubernetes sin modificarlos directamente, usando un concepto llamado "capas".

Aquí tienes una guía rápida de cómo usarlo en español.


1. Instalación en Kali Linux

Kali está basado en Debian, así que puedes instalarlo fácilmente. Primero, asegúrate de tener los repositorios actualizados:

Bash
sudo apt update
sudo apt install kustomize

Nota: Kustomize también viene integrado dentro de kubectl. Puedes usarlo con kubectl apply -k . sin instalar nada extra, pero tener el binario independiente te da más funciones de edición.


2. Conceptos Clave

Para que Kustomize funcione, necesitas un archivo llamado kustomization.yaml en tu carpeta. Los tres pilares son:

  • Resources: Los archivos YAML originales (servicios, deployments).

  • Generators: Crean recursos nuevos (como ConfigMaps a partir de archivos .env).

  • Transformers: Modifican los recursos (añaden prefijos al nombre, cambian la imagen, añaden etiquetas).


3. Comandos más comunes

Visualizar el resultado (Build)

Este es el comando más importante. Te muestra en pantalla el YAML final resultante de aplicar todas tus personalizaciones antes de enviarlo al clúster.

Bash
kustomize build .

Añadir recursos automáticamente

En lugar de escribir el archivo kustomization.yaml a mano, puedes añadir archivos YAML de la carpeta actual:

Bash
kustomize edit add resource deployment.yaml service.yaml

Cambiar la imagen del contenedor

Muy útil para procesos de CI/CD cuando quieres actualizar una versión:

Bash
kustomize edit set image mi-app=nombre-usuario/mi-app:v2.0

Añadir un prefijo a todos los nombres

Si quieres desplegar la misma app varias veces en el mismo namespace sin conflictos:

Bash
kustomize edit set nameprefix prod-

4. Ejemplo de flujo de trabajo

  1. Crea una carpeta: mkdir mi-despliegue && cd mi-despliegue

  2. Crea un kustomization inicial: kustomize create --autodetect

  3. Genera el YAML final: kustomize build . > output.yaml

  4. Aplica directamente al clúster:

    Bash
    kubectl apply -k .
    

¿Por qué usarlo en Kali?

Aunque Kali es una distro de Pentesting, Kustomize es vital si estás auditando la seguridad de infraestructuras Cloud Native. Te permite modificar rápidamente manifiestos para inyectar sidecars de seguridad o probar configuraciones de RBAC sin romper los archivos originales.


Vamos a crear un ejemplo práctico. Imagina que tienes una aplicación web sencilla y quieres prepararla para dos entornos: Desarrollo (dev) y Producción (prod), sin duplicar todos tus archivos YAML.

Esta es la estructura recomendada (el estándar de la industria):

Plaintext
mi-proyecto/
├── base/
│   ├── deployment.yaml
│   ├── service.yaml
│   └── kustomization.yaml
└── overlays/
    ├── dev/
    │   └── kustomization.yaml
    └── prod/
        └── kustomization.yaml

1. La Base (/base)

Aquí defines cómo es tu aplicación normalmente.

kustomization.yaml (base):

YAML
resources:
  - deployment.yaml
  - service.yaml

2. Entorno de Desarrollo (/overlays/dev)

Aquí le decimos a Kustomize: "Usa la base, pero añade un prefijo y cambia el número de réplicas".

kustomization.yaml (dev):

YAML
resources:
  - ../../base

namePrefix: dev-
commonLabels:
  env: development

patches:
  - target:
      kind: Deployment
      name: mi-webapp
    patch: |-
      - op: replace
        path: /spec/replicas
        value: 1

3. Entorno de Producción (/overlays/prod)

Aquí aplicamos configuraciones más robustas, como más réplicas y una imagen específica.

kustomization.yaml (prod):

YAML
resources:
  - ../../base

namePrefix: prod-
commonLabels:
  env: production

replicas:
  - name: mi-webapp
    count: 5

images:
  - name: mi-contenedor-base
    newName: mi-registro.com/mi-app
    newTag: v1.2.0

Cómo ejecutarlo en tu terminal de Kali

Para ver cómo quedaría el YAML de producción antes de lanzarlo, sitúate en la raíz de tu proyecto y ejecuta:

Bash
kustomize build overlays/prod

O si quieres aplicarlo directamente a tu clúster de Kubernetes:

Bash
kubectl apply -k overlays/prod

¿Qué hace esto por ti?

  1. Mantiene la limpieza: No tienes que editar el deployment.yaml original cada vez que cambias de entorno.

  2. Seguridad: En Kali, esto te permite inyectar políticas de red o contextos de seguridad (SecurityContext) solo en producción de forma rápida. 

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux