K8S中Jenkins该怎么安装
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,今天就跟大家聊聊有关K8S中Jenkins该怎么安装,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、Jenkins安装准备条件#在运维主机操
千家信息网最后更新 2025年02月03日K8S中Jenkins该怎么安装
今天就跟大家聊聊有关K8S中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
看完上述内容,你们对K8S中Jenkins该怎么安装有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
准备
内容
资源
镜像
配置
主机
仓库
客户
容器
文件
生成
代码
公钥
原因
客户端
密钥
控制器
时区
更多
条件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
嵌入式软件开发区万达
企业网站服务器搭配
数据库维保计算机
服务器跑HFSS
网络安全规定天津
中文数据库提供同义词的
早期的数据库
丰润区软件开发常见问题
可以python的软件开发
数据库81
重庆电信服务器托管哪找云空间
如何监控数据库表的增加情况
魔兽数据库技术路线
企业级网络安全软件
telnet 服务器客户端
哈利波特同一兑换码不同服务器
吉大计算机网络安全
新一代软件开发设施以客为尊
带数据库的网站安装
网络安全法培训文稿
mc服务器地形
广西创诚互联网络科技
如何重启戴尔服务器
长宁区网络技术转让业务流程
ios电视台直播软件开发
网络安全重大风险隐患排查
注重网络安全心理漫画
数据库多对多关系的设计
php将图片传到数据库
网络安全毕业设计选题背景