DevOps
文章平均质量分 74
流水线:gitlab+jenkins+sonarqube+k8s
可视化K8s:Rancher
账号统一认证管理:openldap
自动监控:Prometheus+Grafana+Consul
日志:EFK
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
登云时刻
花有重开日,人无再少年,加油,陌生人!
展开
-
云原生课程之DevOps实战资料获取
由于语雀开始收费,不面向免费用户了,文章比较多,暂时还在语雀中没有搬走,大家关注下面的公众号获取资料地址将自动获得所有文章阅读权限。关注公众号:云原生推广者。原创 2023-01-01 12:53:44 · 601 阅读 · 0 评论 -
流程图(1)
原创 2022-04-26 22:12:48 · 406 阅读 · 0 评论 -
【GitOps】使用Google工具JIB实现本地无需安装容器推送镜像,加速SpringCloud项目开发
Jib 是 Google 开发的一款开源工具,旨在帮助 Java 开发者更高效地将 Java 应用程序构建为 Docker 容器镜像或 OCI(Open Container Initiative)镜像。Jib 以 Maven 和 Gradle 插件的形式存在,因此它可以无缝集成到现有的Java构建流程中,而无需开发者手动编写 Dockerfile 或运行 Docker 守护进程。原创 2024-06-26 18:04:32 · 137 阅读 · 0 评论 -
【DevOps】使用Filebeat收集华为云cce containerd日志
通过 Kubernetes 的 Container Runtime Interface (CRI),kubelet 可以直接与 containerd 进行通信,无需经过 Docker 的 shim 层,简化了调用链路,降低了潜在的故障点,从而提高系统的稳定性和安全性。总结来说,从 Docker 迁移到 containerd,特别是在 Kubernetes 集群环境下,可以得到更高的性能、更好的资源利用率、更强的稳定性以及更简洁的架构,这些优势对于大规模生产环境尤其重要。如上图,真正存放容器路径的位置是在。原创 2024-04-01 14:21:15 · 188 阅读 · 0 评论 -
【HPA】华为云CCE根据Prometheus Adapter 自定义custom和external业务指标,实现业务Pod自动扩缩容(更新:2024.4.1)
到目前为止,我们准备好了Exporter、Prometheus、Adapter,接下来是最关键的一步,也是核心步骤,我们把他们串一起从上面原理图分析,可以得到下面的图。原创 2024-04-01 09:34:01 · 279 阅读 · 0 评论 -
【DevOps】Jenkins Extended E-mail 邮件模板添加自定义变量
自定义变量:DYSK_PYTEST_STATUS。原创 2024-01-23 15:09:30 · 359 阅读 · 0 评论 -
【APM】Alertmanager+Loki实现Teams告警
在前面的文章我们实现了Loki日志告警,接下来新增一种告警媒介:微软Teams。原创 2024-01-10 13:36:41 · 431 阅读 · 0 评论 -
【APM】Loki+Alertmanager日志告警
设置Loki的日志告警,我们必须借助其他相关服务,Promtail打标签用于过滤日志,Alertmanager用于告警目前为止,Loki并没有打印日志周围几行日志的能力,我们只能打印第一行日志发送告警,大体思路是先截取自己想要的日志把他们打成不同的标签,Alertmanager告警模板定义标签的值发送出去。原创 2023-12-29 10:49:22 · 1004 阅读 · 0 评论 -
【APM】Loki日志多行显示
修改完成后,重启Promtail服务,再去Grafana查看日志,已经变成多行显示。文章我们搭建了Alertmanager和Loki,接下来我们来实现日志并行显示。我们是需要修改Promtail服务的配置文件即可。原创 2023-12-29 10:07:49 · 999 阅读 · 0 评论 -
【APM】安装Prometheus/Loki+Alertmanager+Grafana并实现指标监控告警和日志监控告警
添加监控规则内容是在Prometheus服务中添加的,使用helm部署的Prometheus添加监控规则很简单,正如上面提到的监控规则配置文件configmap,我们只需要修改该文件即可。这个正则表达式的目的是在一段文本中找到包含 "INFO"、"WARN" 或 "ERROR" 的部分,并将这些部分标记为名为 "level" 的捕获组。第二个规则比较好实现,比较创建一个nginx服务,名称:scpo-nginx,副本数2,然后把服务副本数调成1,看看Prometheus和Alertmanager的变化。原创 2023-12-29 09:37:36 · 627 阅读 · 0 评论 -
【日志】Prometheus/Loki+Alertmanager+Grafana监控告警
参考文章:匹配写法:https://blog.ossq.cn/2674.html。原创 2023-12-12 15:42:17 · 337 阅读 · 0 评论 -
【DevOps】Jenkins:配置jenkins 流水线/多分支流水线任务构建成功通知企业微信@相关人(二)
实现了企业微信通知,但仅仅是Jenkins构建后通知,如果在K8s侧配置了就绪检测和滚动更新,那构建完成并不能代表服务已经发布完成,本篇文章我们就来解决这个问题。以上,输入命名空间和deployment名称,查询该服务不可用的副本数,如果不等于0,将每3秒循环一次查询,并返回。在Jenkinsfile流水线中,新增一个stage,将要发布更新的服务变量。最后,这一步将一直检测服务是否更新完成,直到不可用副本数为0为止。,如果等于0,将终止循环,并返回。接收传参,即之后我们可以使用。和所在的命名空间变量。原创 2023-12-04 14:31:17 · 517 阅读 · 0 评论 -
使用Jenkins中的ThinBackup插件备份与恢复
再点击【Restore】,可以看到备份的记录了,如果看不到备份记录,查看Jenkins运行日志,无报错尝试下重启jenkins或者检查下thinbackup的版本与jenkins版本是否兼容,检查方法建议去【插件管理】,查看已安装的插件列表是否是。比如创建了test1项目,做了备份,再创建test2项目,此时恢复备份点,会恢复test1项目的数据,而test2项目不会被删除或者被改变。现在我们去备份,点击【Backup Now】,立即备份一次。恢复在备份记录内的项目数据,与不在备份记录内的项目无关。原创 2023-05-19 11:40:42 · 945 阅读 · 0 评论 -
【DevOps】总结下容器方式构建Grafana-reporter生成PDF格式报告
总结下在Grafana平台容器方式构建Grafana-reporter生成PDF格式报告原创 2022-12-14 12:02:25 · 1442 阅读 · 0 评论 -
【DevOps】pipeline流水线,jenkins构建任务在k8s-slave节点执行,节省jenkins-master资源,适用于多个cloud集群
使用pipeline替代大部分jenkins的非pipeline界面化配置,Jenkinsfile就能把构建流水线跑起来原创 2022-05-22 23:21:38 · 522 阅读 · 0 评论 -
问题记录:阿里云ALB七层负载代理配置(为了HTTP协议支持1.2)
目录需求解决过程总结需求使用阿里云ALB七层负载配置ECS中的前后端服务(配置HTTP协议1.2版本)阿里云产品介绍:什么是应用型负载均衡解决过程1、购买ALB产品,我这里是需要暴露到外网,选择了公网网络类型,加入共享宽带。2、配置监听端口,比如配置HTTPS协议,443端口号,将意味着客户端通过https://请求ALB3、配置服务器组服务器组内服务用于客户端最用被ALB转发进来后提供的服务,注意后端协议,比如这里后端开启了31167端口号,我们后端协议选择HTTP,如果是443,可能原创 2022-03-11 14:59:14 · 1366 阅读 · 0 评论 -
使用Go语言开发生成阿里云ECS监控报表,定时自动发送邮件给指定人员
目录效果实现下载文件使用说明继下面两篇博客,优化一下推荐Go语言开源项目:Excelize ,获取阿里云ECS实例监控数据导出到自定义Excel表格(三)推荐Go语言开源项目:Excelize ,获取阿里云ECS实例监控数据导出到自定义Excel表格(四)上面两篇博客已经实现了怎么生成监控报表,我本人从事是Liunx运维,所以对Linux很熟悉,我这里就用Linux系统实现定时自动发送邮件效果每周一0点将自动发送监控报表邮件到上级邮箱里(下图是测试,周六发送的)实现下载文件cd /dwz原创 2022-01-29 14:52:46 · 914 阅读 · 0 评论 -
Elasticsearch 设置X-pack时,报错ERROR: Failed to set password for user [apm_system].解决方法
环境信息:系统centos7.9elasticsearch7.1.1集群信息:服务ip地址es1192.168.1.200es2192.168.1.201es3192.168.1.202问题经过:配置文件elasticsearch.yml新增x-pack功能xpack.license.self_generated.type: basicxpack.security.enabled: truexpack.security.tr原创 2021-07-13 17:14:20 · 6427 阅读 · 0 评论 -
推荐Go语言开源项目:Excelize ,获取阿里云ECS实例监控数据导出到自定义Excel表格(四)
目录愿你前行的路上终有人陪????~安装要求目标目前调用了两种阿里云API目前进度本篇效果使用说明愿你前行的路上终有人陪????~安装要求1、Golang版本 1.15+2、调用阿里云API权限目标利用阿里云现有的云监控服务,生成自定义数据报表。以七天为周期定时收集数据发送到企业邮箱目前调用了两种阿里云API获取监控数据API:查询指定云服务时序指标的监控数据https://next.api.aliyun.com/api/Cms/2019-01-01/DescribeMetricList原创 2022-01-11 19:34:58 · 464 阅读 · 0 评论 -
【DevOps】nexus3:找出在nexus中,未被k8s集群使用的所有镜像
目录列出集群中所有运行容器的镜像准备开始案例列出集群中所有运行容器的镜像准备开始你必须拥有一个 Kubernetes 的集群,同时你的 Kubernetes 集群必须带有 kubectl 命令行工具。要获知版本信息,请输入 kubectl version.在本练习中,你将使用 kubectl 来获取集群中运行的所有 Pod,并格式化输出来提取每个 Pod 中的容器列表。列出所有命名空间下的所有容器使用 kubectl get pods --all-namespaces 获取所有命名空间下的所有原创 2022-01-06 10:03:08 · 364 阅读 · 0 评论 -
【DevOps】kubernetes 健康检查,POD状态事件events日志数据持久化(ES+Kibana)
目录需求现有方案实现需求查看K8S集群被探针检测重启的pod什么时间段,因为什么重启了。现有方案如果环境中只有一种探针方式(HTTP),可以通过Prometheus+grafana来监控pod的可用状态数量,来达到pod什么时间被重启了,原因当然就HTTP方式检测状态码失败导致的。如果环境中存在多种探针方式(HTTPS、HTTP、TCP),再加上kubernetes目前events事件保留一个小时,超时后就查不到events事件了,我们可以把events做到持久化数据,并可以通知企业微信????。原创 2022-01-02 13:06:43 · 1928 阅读 · 0 评论 -
记不住sql命令怎么办?试试用这款工具为你自动补全吧
mycli介绍:mycli是MySQL的客户端工具,主要用于在命令行连接MySQL服务器使用。这个工具的主要好处就是可以实现sql语法的自动补全和语法高亮,这对于初学MySQL的新手来说,是非常友好的。如果你的环境是全新的(刚安装的centos系统),还没有将默认的镜像文件替换为国内的镜像文件,或者还不会配置,那么可以用下面的方法实现:第一步:安装wget命令:如果没有现成的已经配置好的国内镜像的其他服务器(即不能直接传镜像文件过来),那么可以先利用系统自带的镜像文件安装wget命令。安装好后,在利转载 2021-12-27 17:32:22 · 1058 阅读 · 0 评论 -
【DevOps】Kube forwarder实现开发者本地调试线上kubernetes集群中的服务
目录需求实现效果需求让开发人员在本地就可以调试部署在开发环境k8s集群中的某一个服务实现基于k8s管理工具,最简单粗暴的方式就是暴露一个nodeport端口出来,开发人员直接连接即可,考虑到服务众多,端口号管理费时费力,使用kube forwarder来实现,它可以把K8S集群中的指定pod映射到开发人员的电脑本地,开发人员通过locahost+端口号方式连接效果可视化配置界面,选择一个mysql服务点击【ADD RESOURCE】后,点击启动本地通过navicat服务测试连接..原创 2021-12-27 14:34:13 · 534 阅读 · 0 评论 -
【DevOps】问题记录:查看Rancher拉取镜像参数registryPullQPS参数
问题记录:关于kubernetes拉取镜像参数:registryPullQPS int32 registryPullQPS is the limit of registry pulls per second. The value must not be a negative number. Setting it to 0 means no limit. If DynamicKubeletConfig (deprecated; default off) is on, when dynamically原创 2021-12-20 14:25:04 · 617 阅读 · 0 评论 -
【DevOps】Prometheus+consul :自动管理节点添加到grafana模板中
摘要最终效果最终效果使用Prometheus+grafana服务,实现监控数据可视化,动态添加被监控节点原创 2021-12-19 15:45:46 · 890 阅读 · 0 评论 -
【DevOps】nexus3:清理镜像、镜像大小排序
目录定时删除镜像镜像大小排序续nexus3:配置docker私有仓库(配置)继续优化在nexus3中,默认创建docker镜像名称是没有限制的,没有harbor、阿里云个人版仓库对名称级别有要求,这样时间久了,就会导致私有库中存在非常多的镜像版本,最终私有库磁盘空间不足,服务停止。为了解决这个问题,在上面的博客中说了一种清理方法,通过nexus-cli命令定时删除符合要求的镜像。定时删除镜像编写清理脚本vim nexus-cleanimages.sh#! /bin/sh# 自定义的开发分支保留原创 2021-12-17 10:41:23 · 1911 阅读 · 0 评论 -
【DevOps】nexus3:配置docker私有仓库(配置)
转发:2.使用nexus3配置docker私有仓库 - 三度 - 博客园 (cnblogs.com)总结:客户端主机操作1.echo "192.168.0.254 idocker.io" >> /etc/hosts2.mkdir -p /etc/docker/certs.d/idocker.io3.把192.168.0.254主机上的/etc/nginx/ssl/out/...原创 2021-06-23 17:03:00 · 766 阅读 · 0 评论 -
【DevOps】推荐Go语言开源项目:Excelize ,获取阿里云ECS实例监控数据导出到自定义Excel表格(三)
目录每一篇文章思路不同,都是一个新的开始~安装要求目标目前调用了两种阿里云API目前进度目前效果安装说明每一篇文章思路不同,都是一个新的开始~安装要求1、Golang版本 15+2、调用阿里云API权限目标利用阿里云现有的云监控服务,生成自定义数据报表。以七天为周期定时收集数据发送到企业邮箱目前调用了两种阿里云API获取监控数据API:查询指定云服务时序指标的监控数据https://next.api.aliyun.com/api/Cms/2019-01-01/DescribeMetric原创 2021-12-03 19:46:46 · 1174 阅读 · 0 评论 -
【DevOps】使用client-go工具调kubernetes API接口(针对集群v1.17+版本)
摘要说明效果实现1、拉取工具源码2、创建目录结构查询代码实例查询pod信息查询一个pod是否在一个命名空间下查询deployment服务类型信息创建deployment资源更新deployment类型服务删除deployment类型服务说明可以调取k8s API 接口的工具有很多,这里我就介绍下client-gogitlab上client-go项目地址:https://github.com/kubernetes/client-go这个工具是由kubernetes官方指定维护的,大家可以放心使用效原创 2021-08-24 17:02:14 · 740 阅读 · 0 评论 -
【DevOps】2021.11 centos7搭建公司内网链接 ,集成openldap服务统一账号管理登录内网服务
安装环境服务性质公网IP私网IPCentOS7 服务端8.142.118.12eth0:172.16.0.37Windows10 客户端-无线局域网适配器 WLAN:192.168.49.22效果三种登录方式,个人建议使用ldap登录,可以在ldap服务中指定组权限限制登录等操作配置无密码认证个人认证统一认证认证方式配置无密码证书配置有密码证书集成ldap服务登录方式无需输入用户名和密码登录输入个人密码登录输入用户名和原创 2021-11-15 19:22:46 · 760 阅读 · 0 评论 -
推荐Go语言开源软件:sftpgo 一款基于Golang编写的sftp、ftp等协议的web界面软件
容器部署:docker run --name some-sftpgo -p 8080:8090 -e SFTPGO_HTTPD__BINDINGS__0__PORT=8090 -p 2022:2022 -d "drakkan/sftpgo:v2.1.0"浏览器打开配置界面http://192.168.3.5:8080/web/admin/setup1、-e SFTPGO_HTTPD__BINDINGS__0__PORT=8090:指定web界面端口号2、默认sftp端口号原创 2021-08-19 15:28:08 · 2442 阅读 · 0 评论 -
【DevOps】Prometheus+Grafana:生成pdf报表
安装Grafana下载地址:https://grafana.com/grafana/downloadwget https://dl.grafana.com/enterprise/release/grafana-enterprise-7.4.3-1.x86_64.rpmsudo yum install grafana-enterprise-7.4.3-1.x86_64.rpm安装Prometheus下载地址:https://prometheus.io/download/得到二进制文件,解压后,运原创 2021-11-01 15:55:32 · 3553 阅读 · 0 评论 -
【DevOps】通过kubernetes可视化界面(rancher)安装kibana
服务器地址:192.168.1.128挂载情况部署创建kibana的配置文件需要去NFS的服务器目录下,我们下面会把这个文件映射到容器内部创建pv1、创建kibana config的pv2、创建kibana data的pv3、创建kibana plugins的pv1‘、创建kibana config的pvc2、创建kibana data的pvc3、创建kibana plugins的pvc服务类型:服务名称:镜像:命名空间:网络模式: 容器端口号:数据卷vol1:原创 2022-06-21 22:58:13 · 549 阅读 · 0 评论 -
【DevOps】jenkins:升级K8S集群中jenkins版本1.190.2-->2.263.2
Jenkins1.190.0升级到Jenkins2.303.2jenkinsci/blueocean镜像是优化界面化的一个版本目前镜像版本: jenkinsci/blueocean:1.19.0,对应的jenkins版本为:1.190.2升级后的版本: jenkinsci/blueocean:1.24.3,对应的jenkins版本为:2.263.2注:如果不是这个版本的镜像不能使用这个镜像版本升级1、提前准备备份数据查看目前容器挂载的数据卷,把数据做备份第一种备份方式:通过容器信息找到所对原创 2021-10-20 15:05:58 · 1002 阅读 · 0 评论 -
【DevOps】rancher添加阿里云驱动调用阿里云ecs实例创建集群(包含组网)
目录一、提前准备二、开始安装1、配置ui-rancher-driver一、提前准备1、rancher服务,我这里使用的是2.4.3版本2、rancher可连接外网(用途是下载镜像,组网等)二、开始安装1、配置ui-rancher-driver1)拉取rancher提供的开源ui-driver项目git clone https://github.com/rancher/ui-driver-skel.git2)构建项目先安装npm工具yum install -y gcc gcc-c++原创 2021-09-13 11:27:19 · 903 阅读 · 0 评论 -
【DevOps】Rancher:升级高可用Rancher部署方式,从rancher2.4.3升级2.5.8版本
Rancher2.4.3升级2.5.8Rancher 2.5.8 版本于 2021 年 5 月 6 日发布。单击这里查看英文版版本说明安装和升级说明#升级前,请关闭所以配置的监控、日志和网格,新版本不再支持旧版本。升级完成后,需要手动启动。不然新版本中的cluster explorer 无法进行安装Rancher 的安装或升级必须与 Helm 3.2.x+一起进行,因为最新的 cert-manager 版本有变化。具体参考在安装 Rancher 2.5 之前,Rancher Serve原创 2021-06-11 17:08:28 · 1586 阅读 · 0 评论 -
【DevOps】Rancher:升级高可用Rancher部署方式,从rancher2.4.3升级2.5.8版本之helm2升级到helm3
摘要介绍安装helm3安装升级工具开始迁移清理数据介绍Helm2有两个主要的组件:Tiller: helm的服务端,部署在k8s里面的一个pod,通常在kube-system这个系统空间里。主要负责部署helm charts,管理release,跟k8s API通信。Helm Client: 主要负责从共有或者私有helm charts仓库拉取chart包,修改变量值,然后直接扔给tiller。Helm2的问题Helm2的一个主要问题是需要在k8s集群里面运行一个服务端,而这就需要把tiller原创 2021-06-09 16:41:36 · 907 阅读 · 0 评论 -
【DevOps】Jenkins+Kubernetes:K8S集群内部署的Jenkins,设置动态Jenkins-slave工作节点到K8S集群中
K8S集群外部署的Jenkins,设置动态Jenkins-slave工作节点到K8S集群中点击这里从图上可以看到 Jenkins Master 和 Jenkins agent 以 Pod 形式运行在 Kubernetes 集群的 Node 上,Master 运行在其中一个节点,并且将其配置数据存储到一个 Volume 上去,agent 运行在各个节点上,并且它不是一直处于运行状态,它会按照需求动态的创建并自动删除。原创 2022-10-23 17:51:44 · 1259 阅读 · 0 评论 -
【DevOps】Jenkins+Kubernetes:K8S集群外部署的Jenkins,设置动态Jenkins-slave工作节点到K8S集群中
Jenkins部署,设置动态slave到K8S集群中centosdockerjenkinskubernets7.920.102.28919.10通常情况下jenkins单节点自己可以工作,但是一旦发布任务量巨大,server端自己肯定是靠不住的。为了解决这个问题,可利用Jenkins server端和slave节点,server端用作调度任务,slave节点用于工作。随着容器化不断盛行和kubernetes容器编排工具加持,对于企业并发构建任务起到了重要的自动化作用。原创 2021-06-24 17:03:19 · 1392 阅读 · 1 评论 -
问题记录:k8s部署时报错: ErrImagePull 和 ImagePullBackOff 的错误
k8s在默认情况下,只能拉取镜像仓库的公有镜像,如果拉取私有仓库镜像,则是会报 ErrImagePull 和 ImagePullBackOff 的错误解决方法:1、先在任意机器登陆私有仓库,以harbor为例$ docker login 192.168.1.180:8077$ Username: admin$ Password:Login Succeeded2、在k8s中生成登陆harbor配置文件#查看上一步登陆harbor生成的凭证$ cat /root/.docker/config原创 2022-03-15 17:15:15 · 4619 阅读 · 0 评论