Kubernetes: ¿Dónde está Kubeconfig?
Kube config es el fichero que kubectl emplea para obtener la configuración de acceso a tu cluster de Kubernetes.
La ubicación de este fichero se puede configurar cuándo usas kubectl bien mediante la opción de línea de comandos --kubeconfig o con la variable de entorno $KUBECONFIG.
El orden de búsqueda por defecto es el siguiente:
--kubeconfigcomo opción al ejecutarkubectl. Si se pasa esta opción, únicamente se considerará este fichero. n.b. sólo se puede pasar la opción una vez (i.e. un único fichero se cargará para cada ejecución del comando).$KUBECONFIGdefinida en las variables de entorno. En este caso sí que se puede pasar una lista de ficheros ykubectllas combinará. Hay que pasar la lista de rutas delimitadas por el separador de tu sistema de ficheros.- La ubicación por defecto del fichero
.kube/configestá en el directorio del usuario local. Si ninguna de las demás opciones se ha activado,kubectlúnicamente utilizará este fichero sin combinarlo con otros.
¿Dónde está mi fichero Kubeconfig en Linux?
La ubicación por defecto del fichero .kube/config es:
~/.kube/config¿Dónde está mi fichero Kubeconfig en Windows?
La ubicación por defecto del fichero .kube/config es:
%USERPROFILE%\.kube\config¿Dónde está mi fichero Kubeconfig en Mac?
Del mismo modo que en Linux, la ubicación por defecto del fichero .kube/config es:
~/.kube/configUbicación de Kubeconfig por herramienta
Diferentes herramientas de Kubernetes almacenan su kubeconfig en ubicaciones específicas:
| Herramienta | Ubicación de Kubeconfig |
|---|---|
| Por defecto (kubectl) | ~/.kube/config |
| Docker Desktop | ~/.kube/config (contexto: docker-desktop) |
| Minikube | ~/.kube/config (certificados en ~/.minikube/) |
| Kind | ~/.kube/config |
| K3s | /etc/rancher/k3s/k3s.yaml |
| RKE2 | /etc/rancher/rke2/rke2.yaml |
Cómo ver tu Kubeconfig
Para ver la configuración kubeconfig combinada que kubectl está usando:
kubectl config viewPara ver qué contexto está activo:
kubectl config current-contextPara verificar qué fichero está cargando kubectl, ejecuta cualquier comando con mayor nivel de detalle:
kubectl get pods -v=6 2>&1 | grep "Config loaded"