我有服务帐户名:myservice

$ kubectl get serviceaccount
NAME        SECRETS   AGE
default     1         15d
myservice   1         15d


$ kubectl get serviceaccount myservice -o yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  creationTimestamp: 2018-06-13T12:41:18Z
  name: myservice
  namespace: default
  ...

我想将服务的 namespace default更改为development
我尝试使用以下方法进行编辑:kubectl edit serviceaccount myservice
保存后,我收到:
A copy of your changes has been stored to "/tmp/kubectl-edit-gjae6.yaml"
error: the namespace from the provided object "development" does not match the namespace "default". You must pass '--namespace=development' to perform this operation.

因此,我尝试像他们写的那样仍然无法正常工作:
$ kubectl edit serviceaccount myservice --namespace=development
Error from server (NotFound): serviceaccounts "myservice" not found

命名空间development存在,服务myservice也存在。

最佳答案

似乎您应该在开发NS中创建新的myservice SA,而不是修改默认 namespace 中的现有SA。在开发NS中创建新的myservice,然后在默认NS中删除一个。该错误甚至在开发NS中也导致不存在的myservice。

关于service - 如何编辑Kubernetes ServiceAccount的命名空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51087230/

10-10 04:30