Qué es kuberc? Es tu mejor aliado para personalizar kubectl
Si día a día estás más de cinco minutos metido/a en un terminal, sabes que kubectl es tu mejor partner, pero al mismo tiempo es el culpable de que tengas el túnel carpiano "pal' gato". Por años, hemos dependido de los aliases del shell o de herramientas de terceros como kubectx y fzf para no volvernos locos. Por fin, los mantenedores de Kubernetes se compadecieron y nos tiraron un hueso con kuberc.
Introducido como una funcionalidad beta en Kubernetes 1.34, kuberc te permite definir preferencias de usuario, aliases de comandos y políticas de seguridad sin "dejar la crema" en tu kubeconfig con datos que no son del clúster. Básicamente, es una forma de decirle a kubectl cómo comportarse antes de que te entre lag mental y borres un namespace de producción por andar tipeando muy rápido.
¿dónde vive este archivo kuberc?
Por defecto, kubectl busca su "personalidad" en las siguientes rutas:
- Linux / macOS:
$HOME/.kube/kuberc - Windows:
%USERPROFILE%\.kube\kuberc
Si eres de esos que les gusta guardar sus archivos de configuración en lugares raros, como quién escribe, que tiene una obsesión con sus dotfiles sólo para sentirnos diferentes, puedes sobrescribir esto usando el flag --kuberc o seteando la variable de entorno KUBERC.
aliases: ahorrándole movimientos a tus dedos por el exceso de yaml
La sección de aliases es donde puedes crear atajos para los comandos que más utilizas. A diferencia de los aliases del shell (como el típico alias k=kubectl), estos están integrados directamente en la lógica de ejecución de kubectl.
estructura básica de un alias
Por ejemplo, convierte kubectl getn en una metralleta JSON:
apiVersion: kubectl.config.k8s.io/v1beta1
kind: Preference
aliases:
- name: getn
command: get
options:
- name: output
default: json
En este escenario, ejecutar kubectl getn pods es lo mismo que tirar un kubectl get pods -o json. Si de repente te baja lo masoquista y quieres un YAML, correr kubectl getn pods -o yaml va a mandar "a la punta del cerro" el valor por defecto y te dará el YAML.
anteponiendo y agregando argumentos
A veces un simple flag no basta. Puede que quieras inyectar argumentos específicos en el flujo del comando.
- prependArgs: Inserta argumentos justo después del subcomando.
- appendArgs: Los arroja al final.
apiVersion: kubectl.config.k8s.io/v1beta1
kind: Preference
aliases:
- name: run-busy
command: run
options:
- name: image
default: busybox
appendArgs:
- --
- /bin/sh
Ejecutar kubectl run-busy my-pod se traduciría en kubectl run my-pod --image busybox -- /bin/sh. Es como si por fin la CLI te estuviera ayudando de verdad.
defaults: para que no hagas explotar el cluster por un error
La sección defaults te permite cambiar el comportamiento global de los comandos estándar de kubectl. Esto está "de pana" para los que "accidentalmente" hemos borrado recursos por andar con exceso de cafeína en el cuerpo.
apiVersion: kubectl.config.k8s.io/v1beta1
kind: Preference
defaults:
- command: delete
options:
- name: interactive
default: "true"
Con esto configurado, kubectl delete pod/oopsie te va a preguntar si de verdad estás seguro. Es un costo mínimo para evitar una reunión de post-mortem de emergencia con el jefe soplándote la nuca.
política de plugins de credenciales
ESTADO DE LA FUNCIONALIDAD: Kubernetes v1.35 [beta]La seguridad suele ser la parte donde todos se quedan dormidos o pasan de largo, pero ojo acá: kuberc ahora te permite controlar qué plugins de credenciales exec tienen permiso para correr. Esto evita que un kubeconfig malicioso ejecute binarios arbitrarios en tu máquina; un truco interesante para pentesters, pero una crucificción garantizada para ti.
tipos de políticas
- AllowAll: El "viva la fiesta". Pasa cualquier cosa. Es el comportamiento por defecto en versiones viejas.
- DenyAll: El modo paranoico. No se permite ningún plugin. Súper seguro, pero no te vas a poder conectar ni a palos a EKS, GKE o AKS.
- Allowlist: El camino sensato. Tú defines exactamente en qué binarios confiar.
implementando una lista blanca (allowlist)
Si eliges Allowlist, tienes que poner el nombre de los binarios explícitamente:
apiVersion: kubectl.config.k8s.io/v1beta1
kind: Preference
credentialPluginPolicy: Allowlist
credentialPluginAllowlist:
- name: aws-iam-authenticator
- name: /usr/local/bin/gke-gcloud-auth-plugin
Ojo que los symlinks no se resuelven por razones de seguridad. Si apuntas a un symlink, la lista va a chequear la ruta del link, no el destino final.
configuraciones sugeridas (las "sanas")
Los mantenedores sugieren una configuración que priorice la seguridad y el uso de APIs modernas. Si todavía no utilizas Server-Side Apply, estái obsoleto, hermano!.
apiVersion: kubectl.config.k8s.io/v1beta1
kind: Preference
defaults:
- command: apply
options:
- name: server-side
default: "true"
- command: delete
options:
- name: interactive
default: "true"
credentialPluginPolicy: Allowlist
credentialPluginAllowlist:
- name: mi-auth-handler-de-confianza
cómo desactivar kuberc?
Si tus aliases empiezan a comportarse como una IA con crisis existencial, puedes desactivar kuberc temporalmente seteando una variable de entorno:
export KUBERC=off
# O TAMBIÉN
export KUBECTL_KUBERC=false
Esto se salta el archivo de preferencias y devuelve kubectl a su estado original: verboso, "latero" y un poquito hinchapelotas.
referencias
- Documentación oficial de Kubectl kuberc
- Esquema de la API Kuberc v1beta1
- Guía de Kubernetes Server-Side Apply
Fuente: kubernetes.io

Más contenido:
El nuevo Traefik Proxy v3.5 te permite migrar desde ingress-nginx sin modificar tus actuales recursos e incluye soporte Post-Quantum-Secure TLS
Cómo migrar desde Ingress NGINX sin editar tus actuales manifiestos? Traefik 3.5 presenta un Ingress Provider compatible con ingress-nginx, permitiendo migrar sin reescribir tus manifiestos existentes.
Leer más →
Knative se gradúa en la CNCF: serverless en Kubernetes va en serio
La CNCF ha declarado oficialmente a Knative como listo para producción. Prometen menos dolores de cabeza con YAML, más fooco en "event driven" y, quizás, ahorres algunos centavos en el billing de tu señor feudal en la nube favorito.
Leer más →
- Register with Email
