Jiangxl~
CSDN博客专家、51CTO专家博主、阿里云博客专家、华为云享专家、DevOps运维领域优质创作者、
2021年度博客之星运维与安全领域TOP1,InfoQ签约作者、阿里云社区签约作者。博客包括:Python、前端、Kubernetes、Docker、CI/CD、DevOps、Prometheus、Zabbix、MQ、Redis、MySQL、WEB集群、自动化运维、阿里云、ELK、Linux、等相关使用及进阶知识。查看博客过程中,如有任何问题,皆可随时沟通。
展开
-
jenkins开启web代理通过tcp端口方式使master与slave建立连接
jenkins web代理是指slave通过jenkins服务端提供的一个tcp端口,与jenkins服务端建立连接,docker版的jenkins默认开启web tcp代理,端口为50000,而自己手动制作的jenkins容器或者在物理机环境部署的jenkins,都需要手动开启web代理端口,如果不开启,slave无法通过web代理的方式与jenkins建立连接。jenkins web代理的tcp端口不是通过命令启动的而是通过在全局安全设置中配置的,配置成功后会在系统上运行一个指定的端口。原创 2022-11-23 10:15:31 · 4852 阅读 · 22 评论 -
云原生DevOps篇:jenkins发送通知到企业微信机器人
2.如果执行curl命令使用的是sh ‘’'单引号,则消息中有变量的情况下,将变量用单引号引起来,否则会不生效,双引号则没问题。1.如果消息中使用到了双引号则需要使用\\双斜杠来转译,比如给字体加颜色就用到了双引号需要通过双斜杠来转译字符。注意在jenkins的pipeline中使用makedown格式的企业微信消息时要注意以下几点。企业微信机器人的webhook地址如下,keys=后面的就是token值。点击推送消息配置,填写jenkins服务器所在的ip网段。将字段加粗并改变颜色。原创 2022-10-29 15:14:49 · 1408 阅读 · 1 评论 -
云原生DevOps篇:Jenkins集成Kubernetes实现动态Agent构建机制
之前agent都是运行在k8s node节点上,一般项目更新都是在晚上或者中午,agent只会在更新的时候才会去用,平时一直运行agent也会造成系统的资源浪费,因此可以在Jenkins上集成Kubernetes插件,通过定义Pod模板,当任务开始执行后动态创建一个agent程序,去运行任务,当任务执行完成后,agent也会自动消失。由于是容器版的agent,肯定有很多工具没有集成在容器里面,因此我们换需要自己制作一个容器,集成丰富的插件。原创 2022-10-18 09:12:36 · 1797 阅读 · 35 评论 -
云原生DevOps篇:Jenkins多分支流水线的使用
多分支流水线常用于项目有多个分支需要经常更新,多分支更新的情况下采用多分支流水线,可视化效果更好,可以非常方便的看出一个分支更新了多少次,多分支流水线可以针对分支、标签进行更新,自由选择。多分支流水线实现的目的就是更新不同的分支、不同的tag标签,其实如果只针对分支来更新,也可以通过Git parameters参数,列出所有可更新的分支,选择其中一个分支进行更新即可。有了多分支流水线后,想更新什么分支,直接点击分支任务,填写信息立即构建即可。3.行为新增根据名称过滤,选择扫描哪些分支。原创 2022-10-15 09:40:30 · 1485 阅读 · 13 评论 -
云原生DevOps篇:pipeline脚本通过Jenkinsfile的方式使用
由于我们可以把Jenkinsfile放在gitlab上,因此拉代码的时候可以使用checkout scm,意思就是拉取Jenkinsfile所在的gitlab项目。为了便于版本控制,有的公司也会将pipeline写成Jenkinsfile,保存在项目代码目录中,拉代码的时候就可以拉到Jenkinsfile。Jenkinsfile就是一个文件名,里面存的内容还是pipeline脚本,只不过必须写成Jenkinsfile,就像Dockerfile一样。原创 2022-10-15 09:36:08 · 1042 阅读 · 2 评论 -
云原生DevOps篇:使用Pipeline流水线将know-system项目自动化发版到Kubernetes集群
2.将部署know-system的yaml文件复制到代码目录中,并将deployment资源中容器image对应的镜像改成一个字符串,这样pipeline更新时可以通过更换这个字符串,把最新的镜像版本替换到deployment资源中完成更新,最后将代码及部署文件推送到gitlab。在前面的文章中,已经将know-system项目通过流水线自动化的打包成了Docker镜像,接下来,我们需要将这个镜像自动化的发布到K8S集群,完成项目的上线。4.更新代码,使用流水线更新项目到k8s。原创 2022-10-09 11:28:00 · 1431 阅读 · 41 评论 -
云原生DevOps篇:Pipeline流水线项目构建Docker镜像实战
如果不使用agent,那么就把宿主机的docker挂载到容器中,容器也可以执行docker命令完成打包任务。原创 2022-10-01 19:47:28 · 837 阅读 · 4 评论 -
云原生DevOps篇:使用Pipeline流水线项目构建Docker镜像实战
如果不使用agent,那么就把宿主机的docker挂载到容器中,容器也可以执行docker命令完成打包任务5.测试即可。原创 2022-09-09 14:26:04 · 1905 阅读 · 20 评论 -
云原生DevOps篇:Jenkins Pipeline流水线语法基础与进阶
pipline简单来说,就是运行在Jenkins上的工作流框架,将原来单独运行的单个任务可以关联起来,一起运行,比如有两个任务,A任务是将程序在一个物理机上部署,B程序是将war包通过dockerfile打包在镜像里,通过pipline就可以将两个任务关联起来,首先执行A任务在物理机上部署,A任务成功后,调用B任务将war包做成docker镜像,如果没有pipline则需要点两次任务,有了pipline就可以实现一次构建,多个任务串行。原创 2022-08-25 09:33:34 · 1564 阅读 · 46 评论 -
基于Kubernetes集群的Jenkins CI/CD版本上线流程部署
基于kubernetes平台的CICD持续集成文章目录基于kubernetes平台的CICD持续集成1.基于k8s集群的Jenkins持续集成2.将Jenkins部署在k8s集群2.1.编写Jenkins namespace文件2.2.编写Jenkins rbac授权文件2.3.编写Jenkins statefulset资源文件2.4.编写Jenkins StorageClass资源文件2.5.编写Jenkins svc资源文件2.6.准备Jenkins镜像并推送至harbor2.7.创建所有资源并查看资原创 2021-08-23 09:54:12 · 65587 阅读 · 70 评论 -
Gitlab定期自动备份解决方案
在很多情况下开发由于误删除代码分支,无法恢复的情况下,就需要运维从历史备份中拿到备份文件,进行还原从而解决问题,那么应该如何备份Gitlab呢?2、在Docker所在的宿主机中编写一个脚本,执行脚本时进入Gitlab容器中执行备份数据的脚本。此脚本放在Docker宿主机上,然后设置一个定时计划任务。Gitlab以Docker方式部署,写计划任务不合适。1、在Gitlab容器中编写一个脚本,用于执行备份命令。3、将备份好的文件拷贝至远程存储服务器。此脚本放在Gitlab容器中运行。...原创 2022-07-28 09:17:09 · 1845 阅读 · 1 评论 -
解决serviceaccount用户认证挂载密文token文件失败导致pod使用anonymous用户问题
下图报错的大致意思为sa用户systemanonymous没有权限对jenkins命名空间下的pod进行操作,奇怪的是我yaml中明明已经指定了sa用户jenkins-sa,并且jenkins-sa是绑定的cluster-admin角色,按理说不可能对某个命名空间下的pod资源无操作权限,而且使用anonymous用户表示的是rbac资源认证失败,只有失败的情况下才会使用anonymous用户。不过这一点只是我一点点找出来的,官方并没有明确说明。当我勾选了禁止http证书检查后产生了新的报错。...原创 2022-07-28 09:15:05 · 999 阅读 · 0 评论 -
Gitlab通过Webhook自动触发Jenkins构建任务并在更新完毕后发送钉钉消息通知
Gitlab通过Webhook自动触发Jenkins构建任务并在更新完毕后发送钉钉消息通知文章目录Gitlab通过Webhook自动触发Jenkins构建任务并在更新完毕后发送钉钉消息通知1.实现思路2.新增钉钉机器人并测试消息的发送2.1.新增钉钉机器人2.2.测试发送消息到钉钉3.在Jenkins中新建一个构建任务3.1.新建任务3.2.配置任务时增加参数化构建过程3.3.配置任务添加git地址3.4.配置构建触发器生成gitlab webhook使用的token3.5.配置任务构建过程中执行的She原创 2022-04-24 13:50:50 · 3303 阅读 · 38 评论 -
完完整整的带你建设一套基于生产环境的Kubernetes高可用集群生态圈
快速建设一套从无到有的K8S生态圈" 本文重点讲解从无到有来搭建一套生产环境可用的K8S高可用集群,搭建完K8S集群之后,再来部署Harbor镜像仓库为容器镜像提供存储服务,然后在K8S集群中部署Ingress-nginx组件用于发布集群中的应用程序,最后再使用Helm在K8S集群中搭建一套高可用集群模式的Rancher可视化仪表盘,用于管理K8S集群。"文章目录快速建设一套从无到有的K8S生态圈写在前面的话1.Sealos包管理工具简介以及环境规划2.使用sealos部署k8s1.19高可用集群原创 2022-03-31 09:27:00 · 1057 阅读 · 26 评论