gcloud\kubectl 认证问题:忘记服务账号
gcloud \ kubectl authentication problem: forget service account
我正在使用 gcloud 和 kubectl 来处理我的资源(Kubernetes、VM 等)。一切正常,直到我阅读了一些创建新服务帐户并通过云激活它的文章。像这样:
gcloud auth activate-service-account --key-file=path/to/key
创建的服务帐户对少数资源的权限有限。当我 运行 命令时,例如:
kubectl --namespace production get pods
我收到的回复如下:
Error from server (Forbidden): pods is forbidden: User
"SA-USER@PROGECTNAME.iam.gserviceaccount.com"
cannot list resource "pods" in API group "" in the namespace
"production": requires one of ["container.pods.list"] permission(s).
SA SA-USER@PROGECTNAME.iam.gserviceaccount.com
是我昨天创建的服务帐户。出于某种原因,它控制了我的默认权限,我被锁定了,因为这个用户几乎没有权限。
我试图让 gcloud
忘记此服务帐户,但没有成功。我尝试过的事情:
- 卸载和安装
gcloud
和 kubectl
- 删除配置目录("~/.config/gcloud/")
gcloud auth login
试过的都失败了。我仍然收到与上面相同的消息。
如何让 gcloud
和 kubectl
忘记这个服务帐户?
谢谢!
您可以执行 gcloud auth application-default login
您还可以通过 gcloud config list
查看 gcloud CLI 的当前配置。您可以使用 gcloud config set param_name param_value
更改一些默认参数。例如(因为如果你有多个项目,你会经常使用它)
gcloud config set project MyProjectId
有了这些,就可以解决你的问题
kubectl 使用的身份验证令牌过期问题。
当您通过 gcloud
选择新用户并发出 kubectl
请求时,身份验证令牌会缓存在本地。
解决方法是编辑您的 ~/.kube/config 并为相关用户部分的 expiry
字段设置过去的日期。
我正在使用 gcloud 和 kubectl 来处理我的资源(Kubernetes、VM 等)。一切正常,直到我阅读了一些创建新服务帐户并通过云激活它的文章。像这样:
gcloud auth activate-service-account --key-file=path/to/key
创建的服务帐户对少数资源的权限有限。当我 运行 命令时,例如:
kubectl --namespace production get pods
我收到的回复如下:
Error from server (Forbidden): pods is forbidden: User "SA-USER@PROGECTNAME.iam.gserviceaccount.com" cannot list resource "pods" in API group "" in the namespace "production": requires one of ["container.pods.list"] permission(s).
SA SA-USER@PROGECTNAME.iam.gserviceaccount.com
是我昨天创建的服务帐户。出于某种原因,它控制了我的默认权限,我被锁定了,因为这个用户几乎没有权限。
我试图让 gcloud
忘记此服务帐户,但没有成功。我尝试过的事情:
- 卸载和安装
gcloud
和kubectl
- 删除配置目录("~/.config/gcloud/")
gcloud auth login
试过的都失败了。我仍然收到与上面相同的消息。
如何让 gcloud
和 kubectl
忘记这个服务帐户?
谢谢!
您可以执行 gcloud auth application-default login
您还可以通过 gcloud config list
查看 gcloud CLI 的当前配置。您可以使用 gcloud config set param_name param_value
更改一些默认参数。例如(因为如果你有多个项目,你会经常使用它)
gcloud config set project MyProjectId
有了这些,就可以解决你的问题
kubectl 使用的身份验证令牌过期问题。
当您通过 gcloud
选择新用户并发出 kubectl
请求时,身份验证令牌会缓存在本地。
解决方法是编辑您的 ~/.kube/config 并为相关用户部分的 expiry
字段设置过去的日期。