es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que tu configuración de kubectl apunta a la cuenta equivocada. Para solucionar esto, puedes intentar los siguientes pasos:

    1. Verifica tu configuración de kubectl ejecutando kubectl config view. Esto te mostrará la configuración actual de tu kubectl.
    2. Busca la sección de usuario en la salida del comando anterior. Debería tener el correo electrónico myuser2@gmail.example.com.

    3. 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 ejecutando kubectl config get-contexts.

    4. 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.

    5. 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.

Comments are closed.