He instalado helm 2.6.2 en el clúster de kubernetes 8. helm initfuncionó bien. pero cuando lo ejecuto helm listdando este error.
 helm list
Error: configmaps is forbidden: User "system:serviceaccount:kube-system:default" cannot list configmaps in the namespace "kube-system"
¿Cómo solucionar este mensaje de error de RABC?
                    
                        kubernetes
                                kubernetes-helm
                                
                    
                    
                        sfgroups
fuente
                
                
            fuente

--clusterrole=cluster-admin, lo que sin duda solucionará los problemas de permisos, pero puede que no sea la solución que desea. Es mejor crear sus propias cuentas de servicio, roles (clúster) y enlaces de roles (clúster) con los permisos exactos que necesita.The accepted answer gives full admin access to Helm which is not the best solution security wise(consulte stackoverflow.com/a/53277281/2777965 ).kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'consigoError from server (NotFound): deployments.extensions "tiller-deploy" not foundRespuesta más segura
La respuesta aceptada brinda acceso de administrador completo a Helm, que no es la mejor solución en cuanto a seguridad. Con un poco más de trabajo, podemos restringir el acceso de Helm a un espacio de nombres en particular. Más detalles en la documentación de Helm .
Defina un rol que le permita a Tiller administrar todos los recursos
tiller-worldcomo enrole-tiller.yaml:Entonces corre:
en
rolebinding-tiller.yaml,Entonces corre:
Luego, puede ejecutar
helm initpara instalar Tiller en eltiller-worldespacio de nombres.Ahora prefija todos los comandos con
--tiller-namespace tiller-worldo establezcaTILLER_NAMESPACE=tiller-worlden sus variables de entorno.Más respuesta a prueba de futuro
Deja de usar Tiller. Helm 3 elimina por completo la necesidad de Tiller. Si está usando Helm 2, puede usarlo
helm templatepara generar el yaml desde su gráfico de Helm y luego ejecutarlokubectl applypara aplicar los objetos a su clúster de Kubernetes.fuente
--tiller-namespace tiller-worldo establecerTILLER_NAMESPACE=tiller-worlden sus variables de entorno.Helm se ejecuta con una cuenta de servicio "predeterminada". Debe proporcionarle permisos.
Para permisos de solo lectura:
Para acceso de administrador: Ej .: para instalar paquetes.
fuente
kubectl create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default, y luego correrhelm list, todavía obtengoError: configmaps is forbidden: User "system:serviceaccount:tiller:default" cannot list configmaps in the namespace "tiller": no RBAC policy matchedLa cuenta de servicio predeterminada no tiene permisos de API. Es probable que a Helm se le deba asignar una cuenta de servicio y que esa cuenta de servicio tenga permisos de API. Consulte la documentación de RBAC para otorgar permisos a las cuentas de servicio: https://kubernetes.io/docs/admin/authorization/rbac/#service-account-permissions
fuente
kubectl apply -f your-config-file-name.yamly luego actualice la instalación del timón para usar serviceAccount:
helm init --service-account tiller --upgradefuente
Recibí este error al intentar instalar tiller en modo fuera de línea, pensé que la cuenta de servicio 'tiller' no tenía suficientes derechos, pero resulta que una política de red estaba bloqueando la comunicación entre tiller y el api-server.
La solución fue crear una política de red para el timón que permitiera todas las comunicaciones de salida del timón.
fuente
export TILLER_NAMESPACE=<your-tiller-namespace>Me lo resolvió, si<your-tiller-namespace>no es asíkube-system. Esto apunta al cliente de Helm al espacio de nombres correcto de Tiller.fuente
Si está utilizando un clúster EKS de AWS y se enfrentan a la cuestión prohibido ( por ejemplo :
forbidden: User ... cannot list resource "jobs" in API group "batch" in the namespace "default"a continuación, esto funcionó para mí:Solución:
fuente