当前位置: 首页 > 知识库问答 >
问题:

Kubernetes:SpringCloudDataFlowServer的服务帐户权限问题

阴雪风
2023-03-14

我一直在尝试使用minikube在本地为Kubernetes设置Spring Cloud Dataflow Server。已遵循以下链接中的安装说明:SCDF安装参考

我收到了SCDF服务器的以下错误:


11:32:52.095 [main] DEBUG io.fabric8.kubernetes.client.Config - Trying to configure client namespace from Kubernetes service account namespace path...
11:32:52.096 [main] DEBUG io.fabric8.kubernetes.client.Config - Found service account namespace at: [/var/run/secrets/kubernetes.io/serviceaccount/namespace].
2018-04-24 11:33:14.348  WARN 1 --- [           main] o.s.cloud.kubernetes.StandardPodUtils    : Failed to get pod with name:[scdf-server-869d56967c-97lsd]. You should look into this if things aren't working as you expect. Are you missing serviceaccount permissions?

io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: GET at: https://kubernetes.default.svc/api/v1/namespaces/default/pods/scdf-server-869d56967c-97lsd. Message: Forbidden!Configured service account doesn't have access. Service account may have been revoked. pods "scdf-server-869d56967c-97lsd" is forbidden: User "system:serviceaccount:default:default" cannot get pods in the namespace "default".

以下是版本详细信息:

  • Spring的云数据流服务器:1.4.0.发布
  • 使用 minikube 的 Kubernetes Local Deployment
  • Kubernetes 版本 : 1.10

共有2个答案

孟昆
2023-03-14

从安装指南,步骤7:https://docs.spring.io/spring-cloud-dataflow-server-kubernetes/docs/1.4.0.RELEASE/reference/htmlsingle/#_deploying_using_kubectl

kubernetes的最新版本在api服务器上启用了RBAC。如果您的目标平台启用了RBAC,您必须在部署数据流服务器之前让集群管理员为您创建角色和角色绑定。他们将数据流服务帐户与它需要运行的角色相关联。

$ kubectl create -f src/kubernetes/server/server-roles.yaml
$ kubectl create -f src/kubernetes/server/server-rolebinding.yaml

你执行了这些步骤吗?

牟恺
2023-03-14

Minikube的最新版本默认启用RBAC。

对于支持RBAC的集群,我们在安装部分添加了关于此问题的说明。

“kubernetes的最新版本已在api服务器上启用RBAC。如果目标平台启用了RBAC,则在部署数据流服务器之前,必须要求集群管理员为您创建角色和角色绑定。他们将数据流服务帐户与需要运行的角色相关联。”

但是,对于 minikube,您可以运行以下命令并重试安装。

kubectl create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default

或者,如果您使用helm图表,您可以禁用RBAC并在minikube上安装带有以下内容的图表。

舵手初始化

Helm repo添加孵化器https://kubernetes-charts-incubator.storage.googleapis.com

helm repo更新

helm install--name my-version--set server. service.type=NodePort--set rbak.create=false孵化器/spring-cloud d-data-flow

 类似资料:
  • 为Google Apps域的管理员寻找当前修改其他用户拥有的Google Drive对象权限的最佳方法。我将在Google App Engine上开发该应用程序。 使用两条腿的OAuth和Google文档列表API非常简单:https://developers.google.com/gdata/docs/auth/oauth#2LeggedOAuth但是现在Google Drive SDK是实时A

  • 文档建议将服务帐户添加到GApps的第三方oauth访问列表必须由域管理员手动完成:https://developers.google.com/drive/delegation#delegate_domain-wide_authority_to_your_service_account 有没有一种方法可以通过身份验证页面来实现这一点?

  • 我正试图从Python脚本中获得一个服务帐户来在Google Cloud Storage中创建Blob,但我遇到了凭据问题。 如果我将环境变量设置为 然后重新运行脚本。但是,我希望它在创建帐户的脚本的一个实例中运行,并继续在桶中创建必要的文件。如果我知道我的json凭据文件在哪里,我如何访问my_bucket。

  • Config Config=new ConfigBuilder().withMasterURL(“https://c2.eu-de.containers.cloud.ibm.com:78945”).build();try(KubernetesClient client=new DefaultKubernetesClient(config)){ 我得到了io.fabric8.kubernetes.c

  • 我正在尝试使用django-storages为带有服务帐户json文件的google云存储桶授予权限。但是,只有当我向所有具有对象视图权限的用户授予访问权限时,才能访问桶中的项目。我如何限制桶的公共访问。

  • 我正在编写一个从诊断包中收集信息的工具。此工具的结果将写入Firestore进行分析。该工具是用Python编写的,并作为一个包分发,包括。服务帐户的json。该服务帐户用于验证数据库中的读写操作。下面是每个包中使用的数据库组件的一个片段: 我正在寻找缩小FiRecovery的权限,因为目前,所有拥有这些凭据的用户都可以完全访问FiRecovery。查看文档,这似乎是不可能的: 使用带有服务号的F

  • 我们正在尝试创建一个与谷歌管理SDK的集成,以便能够检索,更新和创建帐户在我们的领域。但是,我们不断收到一个403错误,表明我们没有被授权访问Resource/API。 我们正在使用从一个服务帐户获得的凭据,该帐户启用了域范围的授权,并且具有以下两个作用域:https://www.googleapis.com/auth/admin.directory.user.readonly,https://w

  • 我想使用gsutil和服务帐户在命令行上访问Goolge播放报告。有一个云存储URI,格式为gs://bucket\u name,我可以用我的用户帐户列出和下载报告,但不能用我创建的服务帐户。错误总是相同的: 我已向服务帐户授予了所有必需的权限,因此我不明白为什么用户帐户可以使用,而服务帐户却无法使用。 所以如果你知道如何帮助我,我会非常感谢你。