【踩坑云原生】解决 Kubernete 动态的生成 Slave 的 Pod 报错
最近在研究云原生,使用Kubernete搭建了一个Jenkins平台,准备用其构建简单的Demo,根据网上的教程会有报错。
可能是Jenkins镜像版本的问题,这里先记录一下
报错1:
Exec Failure: HTTP 403, Status: 403 - events is forbidden: User "system:serviceaccount:kube-ops:jenkins2" cannot watch resource "events" in API group "" in the namespace "kube-ops"
kube-ops 是我自己配置的namespace
jenkins2是我创建一个用户
根据提示可以知道resource 这个event没有相关权限。想起权限可能就会想起我们在创建jenkins2,
我们创建新用户的时候一个是在node上,也就是一些文件权限,显然和这个关系不大,还有第二个就是rbac
apiVersion: v1
kind: ServiceAccount
metadata:
name: jenkins2
namespace: kube-ops
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: jenkins2
namespace: kube-ops
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update","watch"]
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["create","delete","get","list","patch","update","watch"]
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get","list","watch"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
、、、、、、
这里面查看resources 没有events这资源,所以有可能是这里少配置内容,去网上找一些resources的配置类型,但是很遗憾没有找到events,但是为了验证猜想,就配置了一下
resources: ["pods"] -->resources: ["pods","events"] 下面有watch 权限, 所以不用动。
kubectl apply 一下,更新配置文件。在Build Now, 这个问题解决。
报错2:
Warning: JnlpProtocol3 is disabled by default, use JNLP_PROTOCOL_OPTS to alter the behavior
"-workDir" is not a valid option
...
...
...
将 镜像:cnych/jenkins:jnlp --> cnych/jenkins:jnlp6
应用、保存、Build Now 问题解决
解决办法倒是很简单,只是这个查找问题的过程很痛苦。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?