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