实战:k8s里通过argoCD部署jenkins-2023.7.24(测试成功)

image-20230724233310211

目录

image-20230804123129322

实验环境

操作系统: CentOS8 Linux (我本次用centos7.6)
内存资源:32GB+ (自己nuc机器32G内存)

实验软件版本:

工具名称Version描述信息
Terraform1.1.7使用kind provider操作kind
Kind0.14.0创建Kubernetes集群工具
Docker-CE1.19+以上 (Docker version 23.0.3, build 3e7cbfd)容器运行时
kubectlversion.Info{Major:“1”, Minor:“24”, GitVersion:"v1.24.0
Kubernetes1.24.0容器云环境
ArgoCD2.6.7云原生应用持续部署工具
NFS172.29.9.130存储系统,持久化存储容器数据
jenkinsjenkins/jenkins:2.415-jdk11/
jenkins agentjenkins/inbound-agent:latest/

实验软件

链接:https://pan.baidu.com/s/1vQp0Uhug81vLYOUdCb5kwg?pwd=0820
提取码:0820
2023.7.27-jenkins安装-k8s-argocd

image-20230731081440611

  • 代码库

代码库地址: https://jihulab.com/learndevops/myiac

image-20230724234237513

  • 离线包
[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存储

image-20230727074212679

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 

image-20230724182417493

  • 配置自己pc hosts,映射域名
172.29.9.130 jenkins.idevops.site

image-20230731080345475

Jenkins初始化配置

  • 从日志中获取解锁秘钥:在ArgoCD选中jenkins pod 然后进入LOGS菜单。

tstmp_20230723223701

  • 【注意: 插件安装界面,选择自定义,然后什么插件都不选择哈 避免网络问题】

3、部署Agent

1.创建Agent

  • 新增节点

image-20230724225657743

  • 填写节点信息

image-20230724225723591

  • 填写配置

image-20230724230025083

image-20230724230045660

  • 获取密钥信息:

image-20230724230428227

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"
  • 更新此处配置:

image-20230727080541859

2.部署Agent

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

image-20230724233310211

image-20230724233316976

image-20230724233354136

  • 需安装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

tstmp_20230724225934

关于我

我的博客主旨:

  • 排版美观,语言精炼;
  • 文档即手册,步骤明细,拒绝埋坑,提供源码;
  • 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!

🍀 微信二维码
x2675263825 (舍得), qq:2675263825。

image-20230107215114763

🍀 微信公众号
《云原生架构师实战》

image-20230107215126971

🍀 语雀

https://www.yuque.com/xyy-onlyone

image-20230624093747671

🍀 csdn
https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

image-20230107215149885

🍀 知乎
https://www.zhihu.com/people/foryouone

image-20230107215203185

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!

image-20230727080832064

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐