.video-container {
position: relative;
width: 100%;
padding-top: 56.25%; /* 16:9 aspect ratio (height/width = 9/16 * 100%) */
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
Alertmanager 告警通知1.Alertmanager配置文件解析Alertmanager 本身不产生告警,它只负责”收快递 + 分拣 + 打包 + 派送”。Prometheus 判断规则触发后,把告警(一堆 label + annotation)POST 给 Alertmanager,之后的流程是:
接收告警 → 路由(route)决定交给哪个接收器 → 分组(group)把同类告警打包成一条通知 → 抑制(inhibit)/静默(silence)过滤掉不该发的 → ...
.video-container {
position: relative;
width: 100%;
padding-top: 56.25%; /* 16:9 aspect ratio (height/width = 9/16 * 100%) */
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
PrometheusRule告警实战1.PrometheusRule告警规则PrometheusRule 是 Prometheus Operator 提供的一种 Kubernetes 自定义资源(CRD),用来在 Kubernetes 中以声明式的方式管理 Prometheus 的告警规则。
Prometheus Operator 会监听 PrometheusRule,根据 Prometheus 资源的 ruleSelector 和 ruleNamespaceSelector 选择规则 ...
.video-container {
position: relative;
width: 100%;
padding-top: 56.25%; /* 16:9 aspect ratio (height/width = 9/16 * 100%) */
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
Prometheus语法PromQL1.PromQL语法初体验PromQL Web UI 的 Graph 选项卡提供了简单的用于查询数据的入口,对于 PromQL 的编写和校验都可以在此位置,如图所示:
输入 up,然后点击 Execute,就能查到监控正常的 Target:
通过标签选择器过滤出job 为node-exporter 的监控,语法为:**up{job=”node-exporter”}**,如果条件有多个使用逗号分隔:
注意此时是 **up{job ...
.video-container {
position: relative;
width: 100%;
padding-top: 56.25%; /* 16:9 aspect ratio (height/width = 9/16 * 100%) */
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
云原生和非云原生应用监控1.云原生应用监控-Etcd1.1测试是否能获取到监控数据Etcd属于云原生应用,是k8s核心组件之一,它自带了/metrics接口:
1234567#在安装了etcd组件的服务器上 查看etcd服务的端口,以k8s-master01为例:[root@k8s-master01 manifests]# netstat -lntup|grep etcdtcp 0 0 127.0.0.1:2379 0.0.0.0:* ...
.video-container {
position: relative;
width: 100%;
padding-top: 56.25%; /* 16:9 aspect ratio (height/width = 9/16 * 100%) */
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
一、部署基于Prometheus的全方位监控平台Prometheus的安装方式有多种,该笔记中选择Kube-Prometheus Stack的方式在k8s集群中安装部署。
Kube-Prometheus项目地址:https://github.com/prometheus-operator/kube-prometheus/
首先需要通过该项目地址,找到和自己Kubernetes版本对应的Kube Prometheus Stack的版本:(我的k8s集群版本是v1.31.4,选择rele ...
.video-container {
position: relative;
width: 100%;
padding-top: 56.25%; /* 16:9 aspect ratio (height/width = 9/16 * 100%) */
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
云原生监控Prometheus介绍一、什么是PrometheusPrometheus 是一个开源的系统监控和告警工具包。它最初是由 SoundCloud 开发的,目前已经成为云原生计算基金会(CNCF)的第二个毕业项目(仅次于 Kubernetes)。
主要特点包括:
多维度数据模型
时间序列数据由指标名称和键值对标签组成
支持灵活的查询语言 PromQL
数据收集
通过 HTTP 协议采用 pull 模型拉取数据
支持 push 网关来接收短期任务的数据推送
支持服务发现和静 ...
.video-container {
position: relative;
width: 100%;
padding-top: 56.25%; /* 16:9 aspect ratio (height/width = 9/16 * 100%) */
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
SpringCloud项目迁移到k8s集群一、项目迁移需求分析现有一个SpringCloud项目需要迁移至Kubernetes,该项目采用Eureka注册中心,并采用前后端分离框架。该项目首页域名为demo.test.com,域名的主路径/转发至项目的前端,路径/receiveapi转发至网关服务,其他服务注册至Eureka,由网关服务进行流量转发。
1.1迁移Eureka集群1.1.1代码构建及容器化代码地址:https://gitee.com/liujunwei ...
.video-container {
position: relative;
width: 100%;
padding-top: 56.25%; /* 16:9 aspect ratio (height/width = 9/16 * 100%) */
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
1.Service服务发布1.1传统架构和k8s架构
1.2Label和Selector
一般不推荐更改pod 的标签:
案例:
查看资源的标签--show-labels:
1[root@k8s-master01 pra]# kubectl get node --show-labels
使用-l参数过滤想要的标签:
123456#查看具有disktype=ssd标签的node节点,使用-l参数[root@k8s-master01 pra]# kubectl get nod ...
Jenkins声明式 Pipeline 语法声明式流水线必须包含在一个 Pipeline 块中,比如以下是一个 Pipeline 块的格式:
123pipeline { /* insert Declarative Pipeline here */}
在声明式流水线中有效的基本语句和表达式遵循与 Groovy 的语法同样的规则,但有以下例外:
流水线顶层必须是一个 block,即 pipeline{};
分隔符可以不需要分号,但是每条语句都必须在自己的行上;
块只能由 Sections、Directives、Steps 或 assignment statements 组成;
属性引用语句被当做是无参数的方法调用,比如 input 会被当做 input()。
1.Sections常用指令声明式流水线中的 Sections 不是一个关键字或指令,而是包含一个或多个 Agent、Stages、post、Directives 和 Steps 的代码区域块。
1.1Agent语法Agent 表示整个流水线或特定阶段中的步骤和命令执行的位置,该部分必须在 pipel ...
DevOps介绍1.DevOps是什么DevOps = Dev(开发) + Ops(运维)的组合。
DevOps 就是让写代码的人和管服务器的人像一个团队一样紧密合作,用自动化工具把软件从“写好”到“上线运行”整个过程变得又快又稳。
为什么重要?(好处超好记)
更快:新功能几天甚至几小时就能上线(而不是几个月)
更稳:出问题能立刻发现和修复,不用半夜被叫醒
更省心:大家互相理解,不再互相甩锅,团队开心
核心口诀(方便记忆) “自动化、协作、持续交付、快速反馈” —— 这四句话基本概括了DevOps的精髓。
记住这一个比喻就够了:DevOps 就是把开发和运维从“隔墙扔盘子”变成“一起开餐厅”。
Dev0ps核心目标:加速交付:快速迭代,频繁发布新功能提高质量:通过自动化任务减少错误增强协作:开发、运维、测试等角色紧密配合全自动化:减少手动操作,提升效率
2.DevOps相关工具链(技术层面)
阶段
工具示例
代码管理
Git、GitLab、Gitee、Github
代码扫描
Sonarqube
持续集成
Jenkins、Tekton、Gitlab CI
...

















