Spring batch worker pods 无法为 spring 云部署器 kubernetes 选择自定义服务帐户
Spring batch worker pods are unable to pick custom service account for spring cloud deployer kubernetes
我正在尝试 运行 spring 使用 spring-cloud-deployer-kubernetes 在 K8s 集群上进行远程分区的批处理。尽管我已经配置了一个服务帐户并在我的应用程序属性中提到了以下方式
spring.cloud.deployer.kubernetes.deployment-service-account-name=scdf-sa
master 任务仍然无法生成 worker pods 并且它似乎在从 spring 云数据流 UI 启动任务时没有选择 属性 并抛出master pod 中的这个错误:
io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: GET at: https://<IP>/api/v1/namespaces/test/pods/batchsampleappworker-aeghj644g. Message: Forbidden!Configured service account doesn't have access. Service account may have been revoked. pods "batchsampleappworker-j3ljqq3de9" is forbidden: User "system:serviceaccount:test:default" cannot get resource "pods" in API group "" in the namespace "test".
PS: 我使用的是spring-cloud-deployer-kubernetes 版本2.5.0
请提供一些关于如何正确配置服务帐户的提示?
提前致谢!
根据 spring 云数据流 here 的官方文档,将以下内容添加到 SCDF 服务器配置映射解决了我的问题。
data:
application.yaml: |-
spring:
cloud:
dataflow:
task:
platform:
kubernetes:
accounts:
default:
deploymentServiceAccountName: myserviceaccountname
我正在尝试 运行 spring 使用 spring-cloud-deployer-kubernetes 在 K8s 集群上进行远程分区的批处理。尽管我已经配置了一个服务帐户并在我的应用程序属性中提到了以下方式
spring.cloud.deployer.kubernetes.deployment-service-account-name=scdf-sa
master 任务仍然无法生成 worker pods 并且它似乎在从 spring 云数据流 UI 启动任务时没有选择 属性 并抛出master pod 中的这个错误:
io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: GET at: https://<IP>/api/v1/namespaces/test/pods/batchsampleappworker-aeghj644g. Message: Forbidden!Configured service account doesn't have access. Service account may have been revoked. pods "batchsampleappworker-j3ljqq3de9" is forbidden: User "system:serviceaccount:test:default" cannot get resource "pods" in API group "" in the namespace "test".
PS: 我使用的是spring-cloud-deployer-kubernetes 版本2.5.0
请提供一些关于如何正确配置服务帐户的提示? 提前致谢!
根据 spring 云数据流 here 的官方文档,将以下内容添加到 SCDF 服务器配置映射解决了我的问题。
data:
application.yaml: |-
spring:
cloud:
dataflow:
task:
platform:
kubernetes:
accounts:
default:
deploymentServiceAccountName: myserviceaccountname