.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:* ...
Prometheus
未读
.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 ...
.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入门17.1什么是PrometheusPrometheus 是一个开源的系统监控和告警工具包。它最初是由 SoundCloud 开发的,目前已经成为云原生计算基金会(CNCF)的第二个毕业项目(仅次于 Kubernetes)。
主要特点包括:
多维度数据模型
时间序列数据由指标名称和键值对标签组成
支持灵活的查询语言 PromQL
数据收集
通过 HTTP 协议采用 pull 模型拉取数据
支持 push 网关来接收短期任务的数据推送
...
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
...
DevOps平台搭建部署流程1.DevOps整体流程Kubernetes 中进行微服务的 CI/CD 自动化流水线,一般会有如下步骤:
在 GitLab 中创建对应的项目(一个微服务建议对应一个gitlab项目仓库,项目名称建议和微服务名称保持一致);
配置 Jenkins 集成 Kubernetes 集群,后期 Jenkins 的 Slave 将为在 Kubernetes 中动态创建的 Slave;
Jenkins 创建对应的任务(Job),一个微服务建议创建一个Jenkins流水线工程,集成该项目的 Git 地址和Kubernetes 集群;
开发者将代码提交到GitLab;
如有配置钩子,推送(Push)代码会自动触发 Jenkins 构建,如没有配置钩子,需要手动构建;
Jenkins 控制 Kubernetes(使用的是 Kubernetes 插件)创建 Jenkins Slave(Pod 形式);
Jenkins Slave 根据流水线(Pipeline)定义的步骤执行构建;
通过 Dockerfile 生成镜像;
将镜像推送(Push)到私有仓库 Harbor ...










