基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点

这篇具有很好参考价值的文章主要介绍了基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点,kubernetes,argocd,jenkins,容器,云原生

今天是「DevOps云学堂」与你共同进步的第 47

第⑦期DevOps实战训练营· 7月15日已开营

实践环境升级基于K8s和ArgoCD


本文节选自第⑦期DevOps训练营 , 对于训练营的同学实践此文档依赖于基础环境配置文档, 运行K8s集群并配置NFS存储。实际上只要有个K8s集群并安装好Ingress、配置好持久化存储并部署好ArgoCD就可以实践了。

基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点,kubernetes,argocd,jenkins,容器,云原生

本文主要分享的是编写Jenkins部署文件并通过ArgoCD自动化发布到Kubernetes集群。附加静态的Jenkins Agent在Kubernetes环境的配置。

基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点,kubernetes,argocd,jenkins,容器,云原生

实践效果参考此视频:

部署文件代码库地址:https://jihulab.com/devopsvip/myiac/-/tree/main/devops/jenkins

基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点,kubernetes,argocd,jenkins,容器,云原生

实践用到的Docker镜像:

  • docker pull jenkins/jenkins:2.415-jdk11  

  • docker pull jenkins/inbound-agent:latest

Step1 镜像配置

这里是个可选的步骤,我们将镜像下载到本地并加载到Kind集群中。

## LoadDockerImage
kind load  docker-image jenkins/jenkins:2.415-jdk11 --name devopscluster
kind load  docker-image jenkins/inbound-agent:latest --name devopscluster

Step2 部署Jenkins

已经编写好了一套K8s 清单文件和一个声明式的Argo APP。【具体参考代码库】

kubectl -n argocd apply -f jenkins-argoapp.yaml

Step3 Jenkins初始化配置

从日志中获取解锁秘钥:在ArgoCD选中jenkins pod 然后进入LOGS菜单。
基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点,kubernetes,argocd,jenkins,容器,云原生
【注意:插件安装界面,选择自定义,然后什么插件都不选择哈 避免网络问题】

Step4 创建Agent

新增节点
基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点,kubernetes,argocd,jenkins,容器,云原生

填写节点信息
基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点,kubernetes,argocd,jenkins,容器,云原生
填写配置
基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点,kubernetes,argocd,jenkins,容器,云原生

基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点,kubernetes,argocd,jenkins,容器,云原生
image.png

获取密钥信息:
基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点,kubernetes,argocd,jenkins,容器,云原生

更新此处配置:
基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点,kubernetes,argocd,jenkins,容器,云原生

Step5 部署Agent

kubectl -n argocd apply -f jenkins-agent-argoapp.yaml

FAQ

遇到Agent日志出现下面错误,需要安装Instance identity插件解决。【记得插件安装完成后重启Jenkins】

SEVERE: http://jenkins.jenkins.svc.cluster.local:8080/tcpSlaveAgentListener/ appears to be publishing an invalid X-Instance-Identity.
5
java.io.IOException: http://jenkins.jenkins.svc.cluster.local:8080/tcpSlaveAgentListener/ appears to be publishing an invalid X-Instance-Identity.
4
 at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:284)
3
 at hudson.remoting.Engine.innerRun(Engine.java:724)
2
 at hudson.remoting.Engine.run(Engine.java:540)

https://community.jenkins.io/t/invalid-x-instance-identity/4038
基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点,kubernetes,argocd,jenkins,容器,云原生

最后,祝实践顺利,如果遇到问题可以在代码库中提交Issue!文章来源地址https://www.toymoban.com/news/detail-612479.html

到了这里,关于基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jenkins使用k8s部署应用

    1、jenkins在k8s内部署(请参考其他人的文章) 2、jenkins安装kubenents相关插件 3、配置k8s云         非常重要,目的是实现jenkins可以远程调用k8s进行部署,并可实现安装jenkins-slave进行构建。使得不再依赖jenkins单机能力进行构建,比较适合一定规模的公司。  插件安装后,打开

    2024年02月15日
    浏览(60)
  • Prometheus+Grafana监控K8S集群(基于K8S环境部署)

    1、服务器及K8S版本信息: IP地址 主机名称 角色 K8S版本 16.32.15.200 master-1 Master节点 v1.23.0 16.32.15.201 node-1 Node节点 v1.23.0 16.32.15.202 node-2 Node节点 v1.23.0 2、部署组件版本: 序号 名称 版本 作用 1 Prometheus v2.33.5 收集、存储和处理指标数据 2 Node_exporter v0.16.0 采集服务器指标,如CP

    2024年02月04日
    浏览(67)
  • Prometheus接入AlterManager配置邮件告警(基于K8S环境部署)

    基于 此环境做实验 1.创建AlertManager ConfigMap资源清单 执行YAML资源清单: 2.配置文件核心配置说明 group_by: [alertname]:采用哪个标签来作为分组依据。 group_wait:10s:组告警等待时间。就是告警产生后等待10s,如果有同组告警一起发出。 group_interval: 10s :上下两组发送告警的间隔

    2024年04月17日
    浏览(36)
  • k8s 部署 jenkins

    一.前提条件 1.安装helm 二.安装harbor 1.添加harbor helm仓库 helm repo add jenkins https://charts.jenkins.io 2.更新仓库 helm repo update

    2023年04月08日
    浏览(42)
  • K8S部署jenkins

    NFS服务器:1xx.xxx.xxx.229 K8Smaster:1xx.xxx.xxx.221 k8Snode1: 1xx.xxx.xxx.228 (宿主机) 需要将jenkins的配置目录挂载到NFS中,如果没安装可以参考之前的文档。 注意:jenkins2.372默认安装jdk11版本,没有mvn和jdk8,如果有需求就需要将宿主机的mvn、jdk、环境变量、都挂载到容器内。 jenki

    2024年02月14日
    浏览(37)
  • k8s 部署Jenkins项目

    要求:当前集群配置了storageClass,并已指定默认的storageClass,一般情况下,创建的storageClass即为默认类 指定默认storageClass的方式 1.1 部署helm 1.2 部署jenkins 1.3 检查 jenkins 1.4 配置访问 3.1 准备ruoyi数据 3.2 准备k8s证书 3.3 准备maven配置文件 3.4 配置钉钉插件 在系统管理的下方有未

    2024年01月21日
    浏览(47)
  • jenkins部署K8S应用

      PS:这种方式是jenkins独立,然后slave已容器方式运行,master是独立出来的,减少运维成本,还能提高效率。 如果使用master部署需要把master加入k8s集群 jenkins安装不赘述 在k8s-master节点上生成对应的证书 在jenkins里添加凭据 凭据类型选Certificate 上传cert.pfx,输入刚才设置的密码

    2024年02月04日
    浏览(36)
  • Prometheus接入AlterManager配置企业微信告警(基于K8S环境部署)

    注意:请基于 Prometheus+Grafana监控K8S集群(基于K8S环境部署)文章之上做本次实验。 1、创建企业微信机器人 点击登入企业微信网页版: 应用管理 机器人 创建应用 创建好之后如上图,我们获取 点击查看获取 Secret 值。 2、获取企业ID 1、创建AlterManager ConfigMap资源清单 执行YAML资源

    2024年02月04日
    浏览(41)
  • 基于kubesphere的k8s环境部署单点版本的rook-ceph

    基于kubesphere的k8s环境部署单点版本的rook-ceph,实验性质大于使用性质,不推荐在物理资源有限的情况下使用。 Rook is an open source cloud-native storage orchestrator, providing the platform, framework, and support for Ceph storage to natively integrate with cloud-native environments. Rook是一个开源的云原生存储编

    2024年02月07日
    浏览(47)
  • 基于kubesphere的k8s环境部署三节点的rook-ceph集群

    这次实验记录的是使用虚拟机搭建的使用了三个计算存储节点的rook-ceph集群,模拟真实的使用场景。补充之前发的只有单点的部署方式。 Rook is an open source cloud-native storage orchestrator, providing the platform, framework, and support for Ceph storage to natively integrate with cloud-native environments. Ro

    2024年02月11日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包