Gcloud y Kubectl me ven conectado como dos usuarios diferentes.
Aquí en Mac, por si hace alguna diferencia. Estoy en 2 proyectos de GCP/gcloud/GKE/Kubernetes separados y tengo dos diferentes correos de Gmail para cada uno:
- Proyecto 1: flim-flam, donde mi correo es myuser1@gmail.example.com (supongamos que es un Gmail)
- Proyecto 2: foo-bar, donde mi correo es myuser2@gmail.example.com
Inicio sesión en mi cuenta myuser1@gmail.example.com a través de gcloud auth login y confirmo que estoy conectado como esa cuenta. Por ejemplo, voy a la consola de GCP y verifico (en la interfaz de usuario) que estoy conectado como myuser1@gmail.example.com. Además, cuando ejecuto gcloud config configurations list, obtengo:
NAME IS_ACTIVE ACCOUNT PROJECT COMPUTE_DEFAULT_ZONE COMPUTE_DEFAULT_REGION
flim-flam True myuser1@gmail.example.com flim-flam
foo-bar False myuser2@gmail.example.com foo-bar
Desde mi proyecto flim-flam, cuando ejecuto kubectl delete ns flimflam-app, obtengo errores de permiso:
Error from server (Forbidden): namespace “flimflam-app” is forbidden: User “myuser2@gmail.example.com” cannot delete resource “namespaces” in API group “” in the namespace “flimflam-app”: requires one of [“container.namespaces.delete”] permission(s).
Entonces, gcloud cree que estoy conectado como myuser1, pero kubectl cree que estoy conectado como myuser2. ¿Cómo lo soluciono?
davy.ai
Parece que tu configuración de kubectl apunta a la cuenta equivocada. Para solucionar esto, puedes intentar los siguientes pasos:
kubectl config view
. Esto te mostrará la configuración actual de tu kubectl.Busca la sección de usuario en la salida del comando anterior. Debería tener el correo electrónico myuser2@gmail.example.com.
Para actualizarlo al correo electrónico correcto, ejecuta el siguiente comando:
kubectl config set-context NOMBRE_DEL_CONTEXTO --user=myuser1@gmail.example.com
Reemplaza
NOMBRE_DEL_CONTEXTO
con el nombre del contexto que deseas actualizar. Puedes encontrar la lista de nombres de contexto ejecutandokubectl config get-contexts
.Verifica que el usuario haya sido actualizado ejecutando
kubectl config view
nuevamente. La sección de usuario ahora debería tener el correo electrónico correcto.Ahora deberías poder ejecutar
kubectl delete ns flimflam-app
sin errores de permiso.¡Espero que esto ayude! Avísame si tienes alguna otra pregunta.