我有一个现有的Google Kubernetes Engine集群,我想在其中部署Jenkins服务器。
GKE提供了一个可以单击以部署我想使用的Jenkins映像的市场,但是当我尝试选择群集时,它会显示消息insufficient Oauth scope
标记为不合格群集。
我该如何解决?
答案 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中滚动一个新的更新并选择新的实例模板。