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

时间:2018-08-08 15:30:28

标签: jenkins kubernetes google-cloud-platform google-kubernetes-engine

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

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

我该如何解决?

1 个答案:

答案 0 :(得分:2)

如果您的群集没有合适的范围来部署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中滚动一个新的更新并选择新的实例模板。