Kubernetes安装配置Jenkins
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,一、Jenkins安装准备条件#在运维主机操作:1.准备镜像~]# docker pull jenkins/jenkins:2.190.3~]# docker images | grep jenkin
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
单身人才数据库
计算机网络技术考研难么
软件开发项目实训
软件开发外包要注意什么
mysql删除一个月前数据库
红帽杯网络安全攻防
西安邮电大学网络安全学院
邮箱拦截软件开发
网络安全工程师工作环境条件
orcl数据库服务名称是什么
长沙软件开发培训哪家好
网络服务器搭建 配置与管理
突破网络安全核心技术
微信小程序服务器搭建
测量设备管理与软件开发
北斗授时服务器
通过保密认证的软件开发商
办公室网络安全打油诗
洪洞县云启网络技术有限公司
杭州培训软件开发报价
长沙计算网络技术学院多少分
攸县碰胡软件开发者
数据库审计硬件厂家排名
网络安全防护考试
监控服务器的脚本
软件开发师工资待遇
创建电脑器材销售管理数据库
云州区网络安全常见问题
数据库中的插值函数
网络安全不忘初心主题教育