Kubernetes 无法列出资源“;“配置地图”;在GCP上部署Weaviate k8s设置时在API组中

Kubernetes 无法列出资源“;“配置地图”;在GCP上部署Weaviate k8s设置时在API组中,kubernetes,google-cloud-platform,kubernetes-helm,weaviate,Kubernetes,Google Cloud Platform,Kubernetes Helm,Weaviate,运行时(在GCP上): $helm升级\ --value./values.yaml\ --安装\ --名称空间“weaviate”\ “weaviate”\ weaviate.tgz 它回来了 升级失败 错误:禁止configmaps:用户“系统:服务帐户:kube系统:默认值”无法在命名空间“ku”中的API组“”中列出资源“configmaps” be系统“ 错误:升级失败:禁止configmaps:用户“系统:服务帐户:kube系统:默认值”无法在t中列出API组“”中的资源“confi

运行时(在GCP上):

$helm升级\
--value./values.yaml\
--安装\
--名称空间“weaviate”\
“weaviate”\
weaviate.tgz
它回来了

升级失败
错误:禁止configmaps:用户“系统:服务帐户:kube系统:默认值”无法在命名空间“ku”中的API组“”中列出资源“configmaps”
be系统“
错误:升级失败:禁止configmaps:用户“系统:服务帐户:kube系统:默认值”无法在t中列出API组“”中的资源“configmaps”
他称之为“kube系统”
更新:基于解决方案
$vim rbac-config.yaml
添加到文件中:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system
运行:

$kubectl create-f rbac-config.yaml
$helm init--服务帐户tiller--升级
注:基于头盔v2。

tl;dr:为群集设置具有适当授权设置的Helm,请参阅

长话短说 您的经验并不特定于Weaviate Helm图表,相反,它看起来并不是根据集群授权设置来设置Helm的。其他舵指令应以相同或类似错误失败

下面的错误

Error: configmaps is forbidden: User "system:serviceaccount:kube-system:default" cannot list resource "configmaps" in API group "" in the namespace "ku
be-system"
表示
kube系统
命名空间中的默认服务帐户缺少权限。我假设您已在
kube系统
名称空间中安装了Helm/Tiller,因为如果在
Helm init
上未指定其他参数,则这是默认值。由于您尚未创建供Tiller使用的特定服务帐户,因此默认为
default
服务帐户

既然您提到您正在GCP上运行,我想这意味着您正在使用GKE。默认情况下,GKE已启用。在RBAC设置中,默认情况下没有人拥有任何权限,所有权限都需要显式授予

helm文档列出了几个关于如何制作的选项。如果集群的唯一目的是运行Weaviate,则可以选择最简单的选项:。这里描述的过程基本上为Tiller创建了一个专用的服务帐户,并将所需的
ClusterRoleBinding
添加到现有的
群集管理
群集角色
。注意,这有效地使Helm/Tiller成为整个集群的管理员

如果您正在运行多租户群集和/或希望将Tillers权限限制为特定命名空间,则需要选择一个备选方案