k8s如何部署分布式jenkins
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,k8s如何部署分布式jenkins,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Kubernetes是一个开源的,用于管理云平台中多
千家信息网最后更新 2025年12月03日k8s如何部署分布式jenkins
k8s如何部署分布式jenkins,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
| Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。 |
前提条件是,有storageclass,利用pvc 创建持久化存储 创建kube-ops namespace
这里创建opspvc 另外把accessmode 换成readwritemany,因为会有多个pod 进行读写
然后部署jenkins master deployment如下
---apiVersion: extensions/v1beta1kind: Deploymentmetadata: name: jenkins namespace: kube-opsspec: template: metadata: labels: app: jenkins spec: terminationGracePeriodSeconds: 10 serviceAccountName: jenkins containers: - name: jenkins image: jenkins/jenkins:lts imagePullPolicy: IfNotPresent ports: - containerPort: 8080 name: web protocol: TCP - containerPort: 50000 name: agent protocol: TCP resources: limits: cpu: 2000m memory: 4Gi requests: cpu: 1000m memory: 2Gi livenessProbe: httpGet: path: /login port: 8080 initialDelaySeconds: 60 timeoutSeconds: 5 failureThreshold: 12 readinessProbe: httpGet: path: /login port: 8080 initialDelaySeconds: 60 timeoutSeconds: 5 failureThreshold: 12 volumeMounts: - name: jenkinshome subPath: jenkins mountPath: /var/jenkins_home env: - name: LIMITS_MEMORY valueFrom: resourceFieldRef: resource: limits.memory divisor: 1Mi - name: JAVA_OPTS value: -Xmx$(LIMITS_MEMORY)m -XshowSettings:vm -Dhudson.slaves.NodeProvisioner.initialDelay=0 -Dhudson.slaves.NodeProvisioner.MARGIN=50 -Dhudson.slaves.NodeProvisioner.MARGIN0=0.85 -Duser.timezone=Asia/Shanghai securityContext: fsGroup: 1000 volumes: - name: jenkinshome persistentVolumeClaim: claimName: opspvc---apiVersion: v1kind: Servicemetadata: name: jenkins namespace: kube-ops labels: app: jenkinsspec: selector: app: jenkins ports: - name: web port: 8080 targetPort: web - name: agent port: 50000 targetPort: agent
分配权限,配置rbac如下
apiVersion: v1kind: ServiceAccountmetadata: name: jenkins namespace: kube-ops---kind: RoleapiVersion: rbac.authorization.k8s.io/v1beta1metadata: name: jenkins namespace: kube-opsrules: - 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"]---apiVersion: rbac.authorization.k8s.io/v1beta1kind: RoleBindingmetadata: name: jenkins namespace: kube-opsroleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: jenkinssubjects: - kind: ServiceAccount name: jenkins namespace: kube-ops
安装k8s 插件,与k8s 目标集群进行远程连接
因为是腾讯云,并没有提供tls 客户端认证,所以直接利用账号密码,进行认证,记得,禁用https 证书检查,jenkins和k8s 就集成好了
划重点!!!:jenkins地址,这里我这里写的是内网地址以及暴露了50000端口(用来与slave 建立通信使用),因为master 和slave 分别在不通的k8s 集群里,那么需要远程进行联通,而jenkins-ui 我是以ingress 的方式对外暴露
slave 的配置
这里需要注意的是标签列表,这里填写的标签,需要在slave 所在k8s 集群的节点上进行标注,而这个名字,是label这个字段里的key 并未是value,这里要注意
job 里配置

关于k8s如何部署分布式jenkins问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
问题
集群
应用
配置
分布式
地址
多个
容器
更多
标签
目标
帮助
解答
认证
易行
简单易行
主机
内容
前提
名字
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
公路网络技术图法
网络安全靠人民作文100字
vb文档怎么转换成数据库
西安软件开发前端平均工资是多少
lol比赛中各个选手的服务器
高新兴fsu服务器地址
朝阳区网络技术服务工作室
牙克石租房软件开发
cs数据库系统的特点是
2019教育局网络安全答题
孤岛惊魂6服务器进行连接
计算机三级网络技术实用性
时间敏感型网络技术
河南第三方软件开发费用是多少
浙江 网络安全应急演练
联想服务器管理口怎么重启
铁路网络技术与应用
江苏进口刀片服务器销售
网博思创网络技术
教培定制版联盟拼团软件开发
富平哪个软件开发最好
sap软件开发工具包包括
邮箱的服务器和域
牙克石租房软件开发
七日杀服务器后台管理工具
中职计算机网络技术四科
小白怎样做个数据库程序
数据库子系统的作用
连接不到mysql数据库
现代软件开发过程