一尘不染

尝试部署Jenkins时Oauth范围不足,请点击部署在现有的Google Kubernetes Engine集群上

jenkins

我有一个现有的Google Kubernetes Engine集群,我想在其中部署Jenkins服务器。

GKE提供了一个可以单击以部署我想使用的Jenkins映像的市场,但是当我尝试选择我的集群时,该消息被标记为不合格集群insufficient Oauth scope

我该如何解决?


阅读 292

收藏
2020-07-25

共1个答案

一尘不染

如果您的群集没有合适的范围来部署Jenkins服务器,则会由于节点池而出现此错误。不幸的是,您无法停止节点更改其范围,IG将使用旧的范围重新创建这些节点。

要解决此问题,您需要创建具有正确范围的另一个池:

--scopes=https://www.googleapis.com/auth/cloud-platform

首先创建一个新的节点池:

gcloud container node-pools create adjust-node-scope \
   --cluster <YOUR_CLUSTER_NAME> --zone <YOUR_ZONE> \
   --num-nodes 3 \
   --scopes=https://www.googleapis.com/auth/cloud-platform

第二个耗尽旧节点池:

kubectl cordon <NODE_NAME> #This will prevent new pods from being scheduled onto them
kubectl drain <NODE_NAME> --force #This will delete all the pods on that node.

第三删除旧的节点池:

gcloud container node-pools delete default-pool \
   --cluster <YOUR_CLUSTER_NAME> --zone <YOUR_ZONE>

然后,部署您的Jenkins服务器。另一个解决方法但不安全的方法是创建一个新实例模板,该实例模板几乎与您的集群在新作用域上使用的模板相同,也可以设置完整的API访问权限。然后在IG中滚动一个新的更新并选择新的实例模板。

2020-07-25