Estoy tratando de seguir INSTALLING TILLER , pero me encuentro con el siguiente error:
$ helm list
Error: configmaps is forbidden: User "system:serviceaccount:kube-system:default" cannot list resource "configmaps" in API group "" in the namespace "kube-system"
$
Salida de helm version
:
$ helm version
Client: &version.Version{SemVer:"v2.12.1", GitCommit:"02a47c7249b1fc6d8fd3b94e6b4babf9d818144e", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.12.1", GitCommit:"02a47c7249b1fc6d8fd3b94e6b4babf9d818144e", GitTreeState:"clean"}
$
Salida de kubectl version
:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.1", GitCommit:"eec55b9ba98609a46fee712359c7b5b365bdd920", GitTreeState:"clean", BuildDate:"2018-12-13T10:39:04Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.1", GitCommit:"eec55b9ba98609a46fee712359c7b5b365bdd920", GitTreeState:"clean", BuildDate:"2018-12-13T10:31:33Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}
$
Plataforma/proveedor de la nube (AKS, GKE, Minikube, etc.):
metal desnudo, linux
posiblemente relacionado, también estoy tratando de acceder a Tiller y Control de acceso basado en roles , pero obtengo 404.
Nueva URL para cualquiera que busque: https://helm.sh/docs/rbac/#role -based-access-control
No es bueno cerrar un problema sin explicar la forma de solucionarlo :-)
Déjame hacerlo en su lugar entonces.
Error: los mapas de configuración están prohibidos: el usuario " system:serviceaccount :kube- system:default " no puede aparecer en la lista
Primero, algo de información para los novatos.
En Kubernetes hay:
Por lo tanto, en nuestro mensaje anterior, vemos que nuestro Tiller actúa como una cuenta "predeterminada" registrada en el espacio de nombres "kube-system". Lo más probable es que no lo vinculaste a un papel suficiente.
Ahora volvamos al problema.
Cómo lo rastreamos:
kubectl [--namespace kube-system] get serviceaccount
kubectl [--namespace kube-system] create serviceaccount tiller
kubectl [--namespace kube-system] get clusterrole
kubectl [--namespace kube-system] get clusterrole cluster-admin -o yaml
kubectl [--namespace kube-system] get clusterrolebinding
kubectl [--namespace kube-system] create clusterrolebinding tiller-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
kubectl [--namespace kube-system] get deploy tiller-deploy -o yaml
Sospecho que su salida no tendrá configuraciones "serviceAccount" y "serviceAccountName":
...
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
...
En caso afirmativo, agregue una cuenta que desee que use Tiller:
kubectl [--namespace kube-system] patch deploy tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
(si usa PowerShell, verifique a continuación la publicación de @snpdev)
Ahora repite el comando de verificación anterior y ve la diferencia:
...
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: tiller <-- new line
serviceAccountName: tiller <-- new line
terminationGracePeriodSeconds: 30
...
Si. Algo como eso.
La solución de @m-abramovich funcionó para mí.
Nota: si usa Powershell, el comando es:
kubectl --namespace kube-system patch deploy tiller-deploy -p '{\"spec\":{\"template\":{\"spec\":{\"serviceAccount\":\"tiller\"}}}}'
y 2 meses y medio su explicación sigue siendo útil muchas gracias por tomarse el tiempo de su apretada agenda para ser detallada y útil. @m-abramovich a diferencia de @bacongobbler
y 2 meses y medio su explicación sigue siendo útil muchas gracias por tomarse el tiempo de su apretada agenda para ser detallada y útil. @m-abramovich a diferencia de @bacongobbler
La persona que cerró este problema fue la persona que lo abrió. Claramente sintieron que el problema estaba resuelto.
Además, la descripción original solicitaba el enlace adecuado a la documentación de control de acceso basado en roles, que se proporcionó sin cerrar el problema.
Finalmente, @bacongobbler se tomó el tiempo de brindar la información solicitada el 25 de diciembre, que para muchos es un feriado importante. Lo siento @iamaverrick pero encuentro tu comentario bastante inapropiado.
Guau. Ni siquiera recuerdo haber respondido a este hilo... Ha pasado un tiempo.
La suposición de @marckhouzam aquí es correcta: el problema se abrió el día de Navidad. Estaba con mi familia ese día, pero vi esta pregunta rápida del OP:
posiblemente relacionado, también estoy tratando de acceder a Tiller y Control de acceso basado en roles , pero obtengo 404.
Así que pensé en disparar una respuesta rápida con el enlace correcto y volver a celebrar la Navidad. Al día siguiente, el OP cerró el problema, por lo que asumí que no se requería más seguimiento.
Realmente me molesta pensar que se asumió que mi comentario era breve o inútil. No estaba tratando de resolver el problema; Simplemente estaba brindando contexto mientras el OP intenta encontrar la solución por sí mismos durante la temporada navideña.
Gracias @m-abramovich y @snpdev por dar seguimiento y brindar respuestas al problema de OP.
@iamaverrick Proporcionar un enlace a la documentación no es raro cuando se responde a un problema. Esto no es inútil, sino una creencia en nuestra documentación en la que nosotros, como comunidad, invertimos mucho tiempo. si la documentación es inadecuada, entonces la persona generalmente responde y esto le da al respondedor la oportunidad de brindar más contexto. También nos hace conscientes de que el documento necesita mejoras. Sin interacción o comentarios como este de los usuarios, los documentos no mejorarán.
A la larga, una mejor documentación ayuda a las personas más que tener que plantear problemas por errores o características no relacionadas.
En otro nivel, que @bacongobbler responda durante la temporada navideña es bastante impresionante. Recuerda que todos somos personas tratando de dar lo mejor de nosotros.
Chicos, por favor tómenlo con calma.
Todos somos desarrolladores de software, compartimos los mismos valores en la vida. Tenemos mucho más en común de lo que puedes imaginar. Respetemosnos unos a otros por favor.
@marckhouzam inapropiado? De ninguna manera he faltado el respeto a nadie con mi comentario. Simplemente expuse los hechos desde mi perspectiva. Este comentario fue mencionado directamente @bacongobbler, no todos los demás que pusieron allí 2 centavos. Agradezco a @bacongobbler por pegar el enlace en un día festivo. La pregunta original dice que estaba teniendo problemas y necesitaba orientación, no un enlace. Chicos, si no pueden aceptar críticas constructivas, no publiquen nada en estos hilos. Todos somos desarrolladores de software tratando de ser mejores y brindar mejor información.
Pido disculpas por no probar mi respuesta con más detalles, ya que insinué la respuesta en mi pregunta y luego @bacongobbler confirmó mi respuesta, seguida de un excelente comentario de @m-abramovich
Realmente aprecio la ayuda y/o aporte de todos y trataré de hacer un mejor trabajo la próxima vez, ¡lo prometo!
y nuevamente, lo siento por causar esto (realmente no pensé que llegaría a eso...
Mis dos centavos: al seguir https://helm.sh/docs/intro/quickstart/ , no se menciona RBAC y las instrucciones allí conducen a una instalación de Tiller que no funciona. Una búsqueda en Google conduce a este problema aquí.
¿Quizás se pueda volver a abrir como "mejorar la guía de inicio rápido para que advierta a los novatos sobre este escollo"?
Hay "Decidir qué configuraciones de seguridad aplicar a su instalación, si las hay" en los requisitos previos, pero como solo lo estaba probando en un clúster desechable, el "si las hay" me implicaba que como no me importa, no No necesitas hacer nada.
Incluso si hubiera notado que necesito hacer algo, no hay un enlace a las instrucciones.
Mis dos centavos: al seguir https://helm.sh/docs/intro/quickstart/ , no se menciona RBAC y las instrucciones allí conducen a una instalación de Tiller que no funciona. Una búsqueda en Google conduce a este problema aquí.
¿Quizás se pueda volver a abrir como "mejorar la guía de inicio rápido para que advierta a los novatos sobre este escollo"?
@pohly
Patrick, creo que esto ya no es relevante.
Helm v3 no usa Tiller. Entonces, tal vez, todo eso ya no vale nada.
@m-abramovich ¡Gracias! Su recorrido detallado me ayudó a superar este problema. Le agradezco mucho el tiempo que se tomó para escribir su respuesta.
Esta explicación es genial! ¡Gracias!
Comentario más útil
No es bueno cerrar un problema sin explicar la forma de solucionarlo :-)
Déjame hacerlo en su lugar entonces.
Primero, algo de información para los novatos.
En Kubernetes hay:
Por lo tanto, en nuestro mensaje anterior, vemos que nuestro Tiller actúa como una cuenta "predeterminada" registrada en el espacio de nombres "kube-system". Lo más probable es que no lo vinculaste a un papel suficiente.
Ahora volvamos al problema.
Cómo lo rastreamos:
kubectl [--namespace kube-system] get serviceaccount
crear si no:
kubectl [--namespace kube-system] create serviceaccount tiller
kubectl [--namespace kube-system] get clusterrole
puede verificar el contenido del rol a través de:
kubectl [--namespace kube-system] get clusterrole cluster-admin -o yaml
kubectl [--namespace kube-system] get clusterrolebinding
si es difícil de averiguar en función de los nombres, simplemente puede crear uno nuevo:
kubectl [--namespace kube-system] create clusterrolebinding tiller-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
kubectl [--namespace kube-system] get deploy tiller-deploy -o yaml
Sospecho que su salida no tendrá configuraciones "serviceAccount" y "serviceAccountName":
En caso afirmativo, agregue una cuenta que desee que use Tiller:
kubectl [--namespace kube-system] patch deploy tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
(si usa PowerShell, verifique a continuación la publicación de @snpdev)
Ahora repite el comando de verificación anterior y ve la diferencia:
Si. Algo como eso.