Kubernetes安装配置Jenkins
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,一、Jenkins安装准备条件#在运维主机操作:1.准备镜像~]# docker pull jenkins/jenkins:2.190.3~]# docker images | grep jenkin
千家信息网最后更新 2026年11月03日Kubernetes安装配置Jenkins
一、Jenkins安装准备条件
#在运维主机操作:1.准备镜像~]# docker pull jenkins/jenkins:2.190.3~]# docker images | grep jenkins~]# docker tag 22b8b9a84dbe test-harbor.cedarhd.com/public/jenkins:v2.190.3~]# docker push test-harbor.cedarhd.com/public/jenkins:v2.190.32.自定义Dockerfile#官网拉取的镜像需要做些自定义操作,才能在k8s集群中部署(运维主机上运行)mkdir -p /data/dockerfile/jenkinscd /data/dockerfile/jenkinsvim DockerfileFROM test-harbor.cedarhd.com/public/jenkins:v2.190.3USER rootRUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&\ echo 'Asia/Shanghai' >/etc/timezoneADD id_rsa /root/.ssh/id_rsaADD config.json /root/.docker/config.jsonADD get-docker.sh /get-docker.shRUN echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config &&\ /get-docker.sh#解释:> - 设置容器用户为root> - 设置容器内的时区> - 将ssh私钥加入(使用git拉代码时要用到,配对的公钥应配置在gitlab中)> - 加入了登录自建harbor仓库的config文件> - 修改了ssh客户端的> - 安装一个docker的客户端> - 如果因为网络原因构建失败,可以在最后" /get-docker.sh --mirror Aliyun"3.生成ssh密钥对jenkins]# ssh-keygen -t rsa -b 2048 -C "xxxxxxx@qq.com" -N "" -f /root/.ssh/id_rsaGenerating public/private rsa key pair.Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:SHA256:bIajghsF/BqJouTeNvZXvQWvolAKWvhVSuZ3uVWoVXU 897307140@qq.comThe key's randomart image is:+---[RSA 2048]----+| ...E||. o .||.. o . o . ||..+ + oo +.. ||o=.+ +ooS+..o ||=o* o.++..o. o ||++...o .. + ||.o.= .. . o ||..o.o.... . |+----[SHA256]-----+enkins]# cp /root/.ssh/id_rsa .4.准备其它文件jenkins]# cp /root/.docker/config.json .jenkins]# curl -fsSL get.docker.com -o get-docker.shjenkins]# chmod +x get-docker.sh jenkins]# lltotal 28-rw------- 1 root root 160 Jan 28 23:41 config.json-rw-r--r-- 1 root root 355 Jan 28 23:38 Dockerfile-rwxr-xr-x 1 root root 13216 Jan 28 23:42 get-docker.sh-rw------- 1 root root 1675 Jan 28 23:38 id_rsa5、登陆harbor创建infra私有仓库创建infra的project,access level 为Private6、生成jenkins镜像jenkins]# docker build -t harbor.phc-dow.com/infra/jenkins:v2.190.3 .jenkins]# docker push test-harbor.cedarhd.com/infra/jenkins:v2.190.37、准备共享存储yum install nfs-utils -y~]# vim /etc/exports/data/nfs-volume 10.4.7.0/24(rw,no_root_squash)###启动NFS服务~]# mkdir -p /data/nfs-volume~]# systemctl start nfs~]# systemctl enable nfs二、Jenkins安装所需资源配置清单
mkdir /data/k8s-yaml/jenkins && mkdir -p /data/nfs-volume/jenkins_home && cd /data/k8s-yaml/jenkins~]# vi dp.yaml #用于创建配置pod控制器与pod资源kind: DeploymentapiVersion: extensions/v1beta1metadata: name: jenkins namespace: infra labels: name: jenkinsspec: replicas: 1 selector: matchLabels: name: jenkins template: metadata: labels: app: jenkins name: jenkins spec: volumes: - name: data nfs: server: test-operator.cedarhd.com path: /data/nfs-volume/jenkins_home - name: docker hostPath: path: /run/docker.sock type: '' containers: - name: jenkins image: test-harbor.cedarhd.com/infra/jenkins:v2.190.3 imagePullPolicy: IfNotPresent ports: - containerPort: 8080 protocol: TCP env: - name: JAVA_OPTS value: -Xmx512m -Xms512m volumeMounts: - name: data mountPath: /var/jenkins_home - name: docker mountPath: /run/docker.sock imagePullSecrets: - name: harbor securityContext: runAsUser: 0 strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 1 maxSurge: 1 revisionHistoryLimit: 7 progressDeadlineSeconds: 600-----------------------------------------------------------------------------------------------~]# vim service.yaml #用于创建cluster ip与端口映射kind: ServiceapiVersion: v1metadata: name: jenkins namespace: infraspec: ports: - protocol: TCP port: 80 targetPort: 8080 selector: app: jenkinsjenkins]# cat ingress.yaml #用于创建ingress转发规则kind: IngressapiVersion: extensions/v1beta1metadata: name: jenkins namespace: infraspec: rules: - host: test-jenkins.cedarhd.com http: paths: - path: / backend: serviceName: jenkins servicePort: 80-----------------------------------------------------------------------------------------------三、在其中一个运算节点上创建资源
kubectl apply -f http://k8s-yaml.cedarhd.com/jenkins/dp.yaml kubectl apply -f http://k8s-yaml.cedarhd.com/jenkins/service.yaml kubectl apply -f http://k8s-yaml.cedarhd.com/jenkins/ingress.yaml
准备
配置
资源
镜像
主机
仓库
客户
容器
文件
生成
代码
公钥
原因
客户端
密钥
控制器
时区
条件
清单
用户
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网龙头
A股互联网金融科技公司
互联网科技会
互联网核心科技是什么
互联网科技垄断
重庆互联网络科技
互联网科技战争
华宇互联网科技
美国互联网科技
互联网科技英文
互联网 卓越科技
北京互联网络科技有限公司
互联网大会黑科技排名
科技大学互联网
本届互联网大会上的黑科技
2021世界互联网领先科技成果发布
济南小医互联网科技有限公司招聘
米泉互联网科技专业怎么样
陕西彩京云互联网科技有限公司
现代科技的标志之一的互联网
广州淘业互联网络科技
为想互联网科技怎么样
互联网为科技
金融科技与互联网金融
北京互联网络科技有限公司
互联网科技论文
老年人脱离互联网科技的作文
福建科技产业互联网发展
特约风豹互联网科技为什么扣费
西安有哪些互联网高科技企业