通过jenkins交付微处事到kubernetes(8)

建设一个service-account绑定到rbac内里,rbac主要就是配置一些权限让jenkins会见到k8s,service-connout主要是让pod会见到apiserver,它去apiserver调治建设pod
这是我jenkins的地点,假如警惕的需要将id_rsa.pub给我

git clone git@gitee.com:zhaocheng172/jenkins-k8s.git [root@k8s-master1 jenkins]# ls deployment.yml ingress.yml rbac.yml service-account.yml service.yml

deployment参数详解:
主要来陈设jenkins的容器的设置

serviceAccountName: jenkins 利用service-account建设的名字 image: jenkins/jenkins:lts 利用官方恒久维护lts镜像 - containerPort: 8080 jenkins ui的会见的端口 - containerPort: 50000 slave会见master会见jenkins所利用的端口 volumeMounts: - name: jenkins-home mountPath: /var/jenkins_home 说到jenkins耐久化数据,在jenkins中需要耐久化的目次就是它的事情目次,也就是它所发生有状态的数据都放在这个/var/jenkins_home下 volumes: - name: jenkins-home persistentVolumeClaim: claimName: jenkins-home 而耐久化的这个目次也城市落到这个pvc这个卷 name: jenkins-home spec: storageClassName: "managed-nfs-storage" accessModes: ["ReadWriteOnce"] 而pvc这里就是我们建设利用的storageclass自动供应来提供的pv,申请5G,配置都可读写

查察建设的storage class

[root@k8s-master1 jenkins]# kubectl get sc NAME PROVISIONER AGE managed-nfs-storage fuseim.pri/ifs 22h

service参数:
这里主要就是利用nodeport去开放一个端口,别的一般出产情况都利用ingress,ingress需要关联service,还要利用nginx做反向署理,将这个域名通过slb宣布出去
[root@k8s-master1 jenkins]# kubectl apply -f .

四、jenkins pipeline及参数化构建
jenkins pipeline是一套插件,支持在jenkins中实现集成和一连交付管道;
pipeline通过特定语法对简朴到巨大的传输管道举办建模;

声明式:遵循与Groovy沟通语法。pipeline{}

剧本式:支持Groovy大部门成果,也长短常表达和机动的东西。node{}
*jenkins pipeline的界说被写入一个文本文件,称为jenkinsfile。

去Manage jenkins去安装插件,找到manage plugins ,点击Available检索pipeline,举办安装,安装后选择install without restart
此刻去建设一个流水线举办测试一下
陈设完之后可以利用log查察登录的暗码

[root@k8s-master jenkins]# kubectl logs jenkins-7d5fbd857d-tmwbm 6e22df63432f474f863dc07c9d291967

通过jenkins交付微处事到kubernetes


一般最好进去的时候不安装插件,第一默认利用的海外的源,下载插件的时候很慢,我们需要做做一些优化

通过jenkins交付微处事到kubernetes


通过jenkins交付微处事到kubernetes

先建设一个test的pipeline的语法流水线,熟悉一下怎么宣布任务

通过jenkins交付微处事到kubernetes


在这里就可以看到语法的名目,这里分为两种,以pipeline开头的也啼声明式语法,主要遵循的Groovy的沟通语法来实现的pipeline {}
这个也是较量主流的方法。

通过jenkins交付微处事到kubernetes


测试一个hello的语法,默认提供的pipeline,举办利用

通过jenkins交付微处事到kubernetes


直接build,这个就能构建

通过jenkins交付微处事到kubernetes


当我们构建完成后,这里会显示一个执行的步调显示一个详细的内容,可以看到jenkins的事情目次,默认传统陈设jenkins的目次为/root/.jenkins下,而作为在k8s陈设jenkins需要思量数据的耐久化了,因为pod碰着不确定的因素举办重启之后,那么这个pod的数据就会丢失,所以针对这个问题,我们就需要将这个pod的事情目次挂载到耐久卷上,这样的话,纵然pod重启飘移到其他的节点也能读取到相应的数据了。

通过jenkins交付微处事到kubernetes


可以看到k8s的耐久化目次是在这个jobs目次下,将我们构建的内容和数据都放在这里了。

[root@k8s-node3 ~]# ll /ifi/kubernetes/default-jenkins-home-pvc-0d67f7f5-2b31-4dc8-aee2-5e7b9e0e7e19/jobs/test/ 总用量 8 drwxr-xr-x 3 1000 1000 50 113 11:36 builds -rw-r--r-- 1 1000 1000 1021 113 11:36 config.xml -rw-r--r-- 1 1000 1000 2 113 11:36 nextBuildNumber

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsddpg.html