实战:k8s里通过argoCD部署jenkins-2023.7.24(测试成功)
目录
实验环境
操作系统: CentOS8 Linux (我本次用centos7.6)
内存资源:32GB+ (自己nuc机器32G内存)
实验软件版本:
工具名称 | Version | 描述信息 |
---|---|---|
Terraform | 1.1.7 | 使用kind provider操作kind |
Kind | 0.14.0 | 创建Kubernetes集群工具 |
Docker-CE | 1.19+以上 (Docker version 23.0.3, build 3e7cbfd) | 容器运行时 |
kubectl | version.Info{Major:“1”, Minor:“24”, GitVersion:"v1.24.0 | |
Kubernetes | 1.24.0 | 容器云环境 |
ArgoCD | 2.6.7 | 云原生应用持续部署工具 |
NFS | 172.29.9.130 | 存储系统,持久化存储容器数据 |
jenkins | jenkins/jenkins:2.415-jdk11 | / |
jenkins agent | jenkins/inbound-agent:latest | / |
实验软件
链接:https://pan.baidu.com/s/1vQp0Uhug81vLYOUdCb5kwg?pwd=0820
提取码:0820
2023.7.27-jenkins安装-k8s-argocd
- 代码库
代码库地址: https://jihulab.com/learndevops/myiac
- 离线包
[root@devops7 docker_images]#docker save jenkins/jenkins:2.415-jdk11 |gzip > jenkins-jenkins-2.415-jdk11.tar.gz
[root@devops7 docker_images]#docker save jenkins/inbound-agent:latest |gzip > jenkins-inbound-agent-latest.tar.gz
[root@devops7 docker_images]#ll
total 440176
-rw-r--r-- 1 root root 165069819 Jul 27 08:00 jenkins-inbound-agent-latest.tar.gz
-rw-r--r-- 1 root root 285663588 Jul 27 07:59 jenkins-jenkins-2.415-jdk11.tar.gz
前提
- 此文档依赖于基础环境配置文档, 运行K8s集群并配置NFS存储。
https://www.yuque.com/xyy-onlyone/exkgza/na7w52cntw6l3a1g?singleDoc# 《Devops7实验环境搭建(terraform-kind-k8s-argocd)》
1、拉取镜像
## LoadDockerImage
docker pull jenkins/jenkins:2.415-jdk11
docker pull jenkins/inbound-agent:latest
kind load docker-image jenkins/jenkins:2.415-jdk11 --name devopscluster
kind load docker-image jenkins/inbound-agent:latest --name devopscluster
2、部署Jenkins
- 已经编写好了一套K8s 清单文件和一个声明式的Argo APP。【具体参考代码库】
kubectl -n argocd apply -f jenkins-argoapp.yaml
- 配置自己pc hosts,映射域名
172.29.9.130 jenkins.idevops.site
Jenkins初始化配置
- 从日志中获取解锁秘钥:在ArgoCD选中jenkins pod 然后进入LOGS菜单。
- 【注意: 插件安装界面,选择自定义,然后什么插件都不选择哈 避免网络问题】
3、部署Agent
1.创建Agent
- 新增节点
- 填写节点信息
- 填写配置
- 获取密钥信息:
curl -sO http://jenkins.idevops.site/jnlpJars/agent.jar
java -jar agent.jar -jnlpUrl http://jenkins.idevops.site/computer/build01/jenkins-agent.jnlp -secret 93522fc440e122052dd7ce72e6d1a6b961f401506a729d8ed3433cb3b4fec04f -workDir "/opt/jenkinsagent"
- 更新此处配置:
2.部署Agent
kubectl -n argocd apply -f jenkins-agent-argoapp.yaml
- 需安装
Instance identity
插件
遇到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
关于我
我的博客主旨:
- 排版美观,语言精炼;
- 文档即手册,步骤明细,拒绝埋坑,提供源码;
- 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!
🍀 微信二维码
x2675263825 (舍得), qq:2675263825。
🍀 微信公众号
《云原生架构师实战》
🍀 语雀
https://www.yuque.com/xyy-onlyone
🍀 csdn
https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421
🍀 知乎
https://www.zhihu.com/people/foryouone
最后
好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!