Sí, es posible configurar el acceso a Kubernetes sin usar `sudo` para el usuario `usuari`. Esto se puede lograr de manera que el usuario `usuari` tenga acceso al archivo de configuración de K3s (`/etc/rancher/k3s/k3s.yaml`) y a los certificados necesarios sin necesidad de permisos de superusuario. Te detallo cómo hacerlo: ### 1. **Cambiar los permisos del archivo de configuración** El archivo `/etc/rancher/k3s/k3s.yaml` por defecto es accesible solo por el usuario `root`, lo que requiere el uso de `sudo`. Para permitir que el usuario `usuari` pueda acceder a este archivo, necesitas cambiar los permisos del archivo. #### **Pasos:** 1. **Cambiar los permisos del archivo de configuración** Cambia la propiedad del archivo `/etc/rancher/k3s/k3s.yaml` para que el usuario `usuari` pueda leerlo. ```bash sudo chown usuari:usuari /etc/rancher/k3s/k3s.yaml ``` Esto le da acceso de lectura y escritura al usuario `usuari` para ese archivo específico. 2. **Permitir la lectura de certificados para `usuari`** Si tienes certificados o claves privadas almacenadas en directorios que requieren permisos especiales (como `/etc/ssl/certs` o `/usr/local/share/ca-certificates`), tendrás que cambiar los permisos de esos archivos o directorios también. Puedes hacerlo de esta manera: ```bash sudo chmod 644 /usr/local/share/ca-certificates/k3s.crt ``` Esto le permitirá al usuario `usuari` leer el archivo del certificado y añadirlo al almacén de certificados del sistema. ### 2. **Configurar `kubectl` para que funcione sin `sudo`** Asegúrate de que el archivo `k3s.yaml` esté correctamente configurado en la variable `KUBECONFIG` sin necesidad de usar `sudo`. #### **Pasos:** 1. **Configura `KUBECONFIG` para el usuario `usuari`** Asegúrate de que el usuario `usuari` exporte la variable de entorno `KUBECONFIG` en su sesión, o de manera persistente, para usar el archivo `/etc/rancher/k3s/k3s.yaml` de la siguiente forma: - Para configurar esto solo en la sesión actual: ```bash export KUBECONFIG=/etc/rancher/k3s/k3s.yaml ``` - Para hacer que esta configuración persista en futuras sesiones, añade la línea anterior al final de su archivo `.bashrc` o `.zshrc`, dependiendo de tu shell. Si usas `bash`, puedes hacerlo así: ```bash echo "export KUBECONFIG=/etc/rancher/k3s/k3s.yaml" >> ~/.bashrc ``` Luego, asegúrate de recargar el archivo de configuración: ```bash source ~/.bashrc ``` 2. **Verifica que `kubectl` ahora funciona correctamente sin `sudo`:** Ahora, el usuario `usuari` debería poder ejecutar `kubectl` sin la necesidad de usar `sudo`. ```bash kubectl get nodes ``` ### 3. **Configurar los permisos del socket de K3s** K3s expone su API en un socket que, por defecto, suele ser accesible solo por `root`. Sin embargo, puedes configurar el socket de Kubernetes para que el usuario `usuari` también tenga acceso sin `sudo`. #### **Pasos:** 1. **Revisar el socket de K3s** Normalmente, el socket de K3s está en `/var/run/k3s/k3s.sock` o en una ruta similar. Verifica la ubicación del socket de K3s: ```bash sudo ls -l /var/run/k3s/ ``` 2. **Cambiar permisos del socket de K3s** Si el socket tiene permisos restrictivos, puedes cambiar los permisos para permitir que el usuario `usuari` lo acceda. ```bash sudo chmod 666 /var/run/k3s/k3s.sock ``` Esto permite que cualquier usuario lea y escriba en el socket. 3. **Verifica que `kubectl` funciona sin `sudo`** Una vez hecho esto, el usuario `usuari` debería poder comunicarse con el servidor API de Kubernetes sin problemas. ### Resumen de lo que se ha hecho: - **Cambiar los permisos del archivo `k3s.yaml`** para que el usuario `usuari` pueda acceder a él sin `sudo`. - **Asegurarse de que los certificados** sean legibles por `usuari` para evitar errores de autoridad desconocida. - **Configurar la variable de entorno `KUBECONFIG`** para que apunte al archivo correcto. - **Ajustar los permisos del socket de K3s** para permitir la comunicación sin `sudo`. Con estos pasos, el usuario `usuari` podrá interactuar con Kubernetes usando `kubectl` sin tener que utilizar `sudo`.