【k8s】监控metrics-server
metrics-server介绍
Metrics Server是一个集群范围的资源使用情况的数据聚合器。作为一个应用部署在集群中。Metric server从每个节点上KubeletAPI收集指标,通过Kubernetes聚合器注册在Master APIServer中。为集群提供Node、Pods资源利用率指标。
就像Linux 系统一样有一个命令 top 能够实时显示当前系统的 CPU 和内存利用率,它是性能分析和调优的基本工具,非常有用。Kubernetes 也提供了类似的命令,就是 kubectl top,不过默认情况下这个命令不会生效,必须要安装一个插件 Metrics Server
才可以。Metrics Server
是一个专门用来收集 Kubernetes 核心资源指标(metrics)的工具,它定时从所有节点的 kubelet 里采集信息,但是对集群的整体性能影响极小,每个节点只大约会占用 1m 的 CPU 和 2MB 的内存,所以性价比非常高。
下面的这张图来自 Kubernetes 官网,你可以对 Metrics Server 的工作方式有个大概了解:它调用 kubelet 的 API 拿到节点和 Pod 的指标,再把这些信息交给 apiserver,这样 kubectl、HPA 就可以利用 apiserver 来读取指标了:
Metrics Server项目的地址github:https://github.com/kubernetes-sigs/metrics-server
metrics-server作用
功能
metrics-server 是 Kubernetes 的一个集群范围的资源使用数据聚合器。它从各个节点上的 kubelet 收集资源使用数据(如 CPU、内存),并通过 Kubernetes API 服务器公开这些数据。metrics-server 使得 Kubernetes 控制平面和其他组件能够访问这些资源使用数据.
为 Kubernetes 控制平面提供实时的资源使用数据,支持水平 Pod 自动扩展 (HPA)、
HorizontalPodAutoscaler 实现了应用的自动水平伸缩功能,它从 Metrics Server 获取应用的运行指标,再实时调整 Pod 数量,可以很好地应对突发流量。还有k8s 的Dashboard 中的资源使用图表等功能。通过 kubectl top 命令查看节点和 Pod 的资源使用情况。
metrics-server安装
安装要求
Metrics Server 对集群和网络配置有特定的要求。这些要求并不是所有集群分布的默认要求。在使用 Metrics Server 之前,请确保您的集群分布支持这些要求:
1、kube-apiserver 必须启用聚合层。
api-server的配置: - --enable-aggregator-routing=true
2、Kubelet 证书需要由集群证书颁发机构签名;如果kubelet是有自己本地创建的证书,那么metrics-server需要配置args : "--kubelet-insecure-tls"
网上还有人提到: 节点必须启用 Webhook身份验证和授权。【没有找到配置的地方,可能是默认开启了】
安装资料准备
本次安装是: Release v0.7.2 · kubernetes-sigs/metrics-server · GitHub
安装的yaml文件:kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.7.2/components.yaml
修改镜像国内镜像地址:
apiVersion: v1
kind: ServiceAccount
metadata:labels:k8s-app: metrics-servername: metrics-servernamespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:labels:k8s-app: metrics-serverrbac.authorization.k8s.io/aggregate-to-admin: "true"rbac.authorization.k8s.io/aggregate-to-edit: "true"rbac.authorization.k8s.io/aggregate-to-view: "true"name: system:aggregated-metrics-reader
rules:
- apiGroups:- metrics.k8s.ioresources:- pods- nodesverbs:- get- list- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:labels:k8s-app: metrics-servername: system:metrics-server
rules:
- apiGroups:- ""resources:- nodes/metricsverbs:- get
- apiGroups:- ""resources:- pods- nodesverbs:- get- list- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:labels:k8s-app: metrics-servername: metrics-server-auth-readernamespace: kube-system
roleRef:apiGroup: rbac.authorization.k8s.iokind: Rolename: extension-apiserver-authentication-reader
subjects:
- kind: ServiceAccountname: metrics-servernamespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:labels:k8s-app: metrics-servername: metrics-server:system:auth-delegator
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: system:auth-delegator
subjects:
- kind: ServiceAccountname: metrics-servernamespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:labels:k8s-app: metrics-servername: system:metrics-server
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: system:metrics-server
subjects:
- kind: ServiceAccountname: metrics-servernamespace: kube-system
---
apiVersion: v1
kind: Service
metadata:labels:k8s-app: metrics-servername: metrics-servernamespace: kube-system
spec:ports:- name: httpsport: 443protocol: TCPtargetPort: httpsselector:k8s-app: metrics-server
---
apiVersion: apps/v1
kind: Deployment
metadata:labels:k8s-app: metrics-servername: metrics-servernamespace: kube-system
spec:selector:matchLabels:k8s-app: metrics-serverstrategy:rollingUpdate:maxUnavailable: 0template:metadata:labels:k8s-app: metrics-serverspec:containers:- args:- --cert-dir=/tmp- --secure-port=10250- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname- --kubelet-insecure-tls 【后面添加的】- --kubelet-use-node-status-port- --metric-resolution=15simage: xxxxxxx/metrics-server/metrics-server:v0.7.2imagePullPolicy: IfNotPresentlivenessProbe:failureThreshold: 3httpGet:path: /livezport: httpsscheme: HTTPSperiodSeconds: 10name: metrics-serverports:- containerPort: 10250name: httpsprotocol: TCPreadinessProbe:failureThreshold: 3httpGet:path: /readyzport: httpsscheme: HTTPSinitialDelaySeconds: 20periodSeconds: 10resources:requests:cpu: 100mmemory: 200MisecurityContext:allowPrivilegeEscalation: falsecapabilities:drop:- ALLreadOnlyRootFilesystem: truerunAsNonRoot: truerunAsUser: 1000seccompProfile:type: RuntimeDefaultvolumeMounts:- mountPath: /tmpname: tmp-dirnodeSelector:kubernetes.io/os: linuxpriorityClassName: system-cluster-criticalserviceAccountName: metrics-servervolumes:- emptyDir: {}name: tmp-dir
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:labels:k8s-app: metrics-servername: v1beta1.metrics.k8s.io
spec:group: metrics.k8s.iogroupPriorityMinimum: 100insecureSkipTLSVerify: trueservice:name: metrics-servernamespace: kube-systemversion: v1beta1versionPriority: 100
执行部署
kubectl apply -f metrics-server_v0.7.2.yaml
查看metrics-server的pod运行状态
kubectl get pods -n kube-system
查看metrics-server是否部署成功
[root@master pki]# kubectl get apiservices | grep metrics
v1beta1.metrics.k8s.io kube-system/metrics-server False (MissingEndpoints) 78m
false表示没有获取到信息。
查看metrics-server pod日志:
E1201 08:25:10.784262 1 scraper.go:149] "Failed to scrape node" err="Get \"https://172.30.218.120:10250/metrics/resource\": tls: failed to verify certificate: x509: cannot validate certificate for 172.30.218.120 because it doesn't contain any IP SANs" node="node2"
E1201 08:25:10.793010 1 scraper.go:149] "Failed to scrape node" err="Get \"https://172.30.218.119:10250/metrics/resource\": tls: failed to verify certificate: x509: cannot validate certificate for 172.30.218.119 because it doesn't contain any IP SANs" node="master"
E1201 08:25:10.797384 1 scraper.go:149] "Failed to scrape node" err="Get \"https://172.30.218.118:10250/metrics/resource\": tls: failed to verify certificate: x509: cannot validate certificate for 172.30.218.118 because it doesn't contain any IP SANs" node="node1"
I1201 08:25:11.514112 1 server.go:191] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
日志上看是证书验证不通过,就是说metrics-server作为客户端去采集kubelet服务端的信息时,使用的时: https://172.30.218.120:10250/metrics/resource 地址,但是kubelet提供的证书中san信息是没有这个ip的,所以客户端验证服务端证书就认为这个证书不合法,因为证书里面没有这个ip信息,然后去看下kubelet服务端证书【【k8s】kubelet 的相关证书-CSDN博客】具体信息:
解决方法是:
1、用上面安装要求中的: --kubelet-insecure-tls
就是告诉metrics-server不验证 kubelet的证书。
2、 修改配置为:- --kubelet-preferred-address-types=Hostname,InternalIP,ExternalIP
首先为主机名,但是由于coredns没有配置hostname的ip映射,可以自己手动到coredns中添加。kubectl edit configmap coredns -n kube-system,具体怎么修改大家可以查查
查看监控信息
效果: 在k8s中的dashboard就有了监控信息
测试kubectl top命令的使用
kubectl top nodes
kubectl top pods -n kube-system
相关文章:
【k8s】监控metrics-server
metrics-server介绍 Metrics Server是一个集群范围的资源使用情况的数据聚合器。作为一个应用部署在集群中。Metric server从每个节点上KubeletAPI收集指标,通过Kubernetes聚合器注册在Master APIServer中。为集群提供Node、Pods资源利用率指标。 就像Linux 系统一样…...
「Qt Widget中文示例指南」如何为窗口实现流程布局?(二)
Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 本文将展示如何为不…...
EditInPlace就地编辑:Dom vs Form
利用Dom和Form实现就地编辑(EditInPlace)功能,两者在实现方式、用户体验和适用场景上有一些区别。下面我将详细解释这些区别: 1. EditInPlace 就地编辑(EditInPlace)是一种用户界面设计模式,允…...
【SCT63142FIB】15W高集成、高效率的无线功率发射PMIC
SCT63142FIB 15W高集成、高效率的无线功率发射PMIC 描述 SCT63142是一款高度集成的电源管理IC,可实现符合WPC规范的高性能,高效率和成本效益的无线电源发送系统,支持高达15W的功率传输,可与无线应用特定控制器或基于通用MCU的发送…...
STM32F4系列单片机新玩法---Micropython--pyBoard
只需要更改main.py文件的内容即可,例程CRTLV 1、流水灯: # main.py -- put your code here! import pyb while(1): for n in range(1,5) ledpyb.LED(n) led.on() pyb.delay(1000) led.off() 2、灯条,可以改变delay值来凸显效果…...
MFC中如何在工具条动态增加菜单
在C:\temp\VCSamples-master\VC2010Samples\MFC\Visual C 2008 Feature Pack\WordPad 这个例子中倒是有在工具条上动态增加菜单的方法,但有个缺陷,必须预先将需要的按钮定死。现将方法总结如下: 效果如下:点击前: 点击…...
行为型模式-迭代器模式
迭代器模式(Iterator Pattern)是一种行为型设计模式,主要用于提供一种方法顺序访问一个聚合对象中的各个元素,而不需要暴露其内部表示。这个模式常被用于集合类对象(如列表、数组、图等)的实现中。 模式结构…...
SAP SD学习笔记17 - 投诉处理3 - Credit/Debit Memo依赖,Credit/Debit Memo
上一章讲了 请求书(发票)的取消。 SAP SD学习笔记16 - 请求书的取消 - VF11-CSDN博客 再往上几章,讲了下图里面的返品传票: SAP SD学习笔记14 - 投诉处理1 - 返品处理(退货处理)的流程以及系统实操&#…...
digit_eye开发记录(3): C语言读取MNIST数据集
在前两篇,我们解读了 MNIST 数据集的 IDX 文件格式,并分别用 C 和 Python 做了 读取 MNIST 数据集的实现。 基于 C 的代码稍长,基于 Python 的代码则明显更短,然而它们的共同特点是:依赖了外部库: 基于 C …...
快速学习GO语言总结
干货分享,感谢您的阅读!备注:本博客将自己初步学习GO的总结进行分享,希望大家通过本博客可以在短时间内快速掌握GO的基本程序编码能力,如有错误请留言指正,谢谢! 一、初步了解Go语言 …...
开源多媒体处理工具ffmpeg是什么?如何安装?使用ffmpeg将M3U8格式转换为MP4
目录 一、FFmpeg是什么二、安装FFmpeg(windows)三、将M3U8格式转换为MP4格式 一、FFmpeg是什么 FFmpeg是一款非常强大的开源多媒体处理工具,它几乎可以处理所有类型的视频、音频、字幕以及相关的元数据。 FFmpeg的主要用途包括但不限于&…...
Python面试实战:高效处理海量日志,找出高频IP
Python面试实战:高效处理海量日志,找出高频IP 问题描述 在处理海量服务器日志时,一个常见的需求是统计出现次数最多的IP地址。这不仅有助于分析网站访问流量,还能为安全监控提供有价值的信息。然而,当日志文件过大,无法一次性加载到内存时,如何高效地解决这个问题就成…...
基于Java Springboot蛋糕订购小程序
一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 微信…...
Java进程为什么会消失
深夜,办公室里只剩下电脑屏幕的微光。小王正在紧张地盯着生产环境的监控面板,突然发现一个重要的Java应用进程不见了,就像人间蒸发一般。这种情况在Java开发中并不罕见,让我们一起走进这个技术探案,揭开Java进程神秘消…...
继上一篇,设置弹框次数以及自适应图片弹框,部分机型(vivo)老手机不显示的问题
上一篇写的本来测试好多型号都无事, 今天下午公司的战斗机vivo横空冒出… 晕 弹框直接显示都出不来了,现在还有用这种老的机型的,但是没办法咯~ 前端遇到这种兼容性的问题就要勇于解决 主要解决了这几点: // 添加图片加载事件 <imgv-if"imageUrl":src"image…...
【docker】容器卷综合讲解,以及go实现的企业案例
容器卷(Volumes)基础讲解: 容器概念 容器卷(Volumes)是 Docker 提供的一种持久化存储机制,允许容器持久化数据,即使容器被删除或重新创建,数据仍然可以保留。 卷是独立于容器的&…...
八、利用CSS制作导航栏菜单
8.1 水平顶部导航栏 水平菜单导航栏是网站设计中应用范围最广的导航设计,一般放置在页面的顶部。水平导航适用性强,几乎所有类型的网站都可以使用。 如果导航过于普通,无法容纳复杂的信息结构,就需要在内容模块较多的情况…...
windows下安装node.js和pnpm
首先,一定要powershell右键选择管理员身份运行,否则第三个命令报错。 # 安装 fnm (快速 Node 管理器) winget install Schniz.fnm# 配置 fnm 环境 fnm env --use-on-cd | Out-String | Invoke-Expression# 下载并安装 Node.js fnm use --install-if-mis…...
MyBlog(五) -- 用户注册页面完善
文章目录 前言一、用户数据提交1. 表单2. 校验数据3. 模版文件1. wait_start2. user_register 二、验证1. 发送邮件1. 注册163邮箱后登录并设置2. 开启IMAP/SMTP服务, IMAP/SMTP服务3. 新增授权密码 2.邮箱内容3.点击注册4.发送邮件5. 激活账号1. 完善激活功能 -- user_active2…...
NLP任务四大范式的进阶历程:从传统TF-IDF到Prompt-Tuning(提示词微调)
引言:从TF-IDF到Prompt-Tuning(提示词微调),NLP的四次变革 自然语言处理(NLP)技术从最早的手工特征设计到如今的Prompt-Tuning,经历了四个重要阶段。随着技术的不断发展,我们的目标…...
量化交易系统开发-实时行情自动化交易-8.3.开拓者TBQuant平台
19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来会对于开拓者TBQuant平台介绍。 …...
第八课 Unity编辑器创建的资源优化_特效篇(Particle System)详解
无论是CPU还是GPU,粒子系统对其的影响面都是不容小觑的。随着项目的重度化和3A化,玩家的口味变挑剔了、游戏玩法复杂度变高了、画面的特效表现变复杂了......所以我们还是更加谨慎地对待粒子系统。 特效(Particle System) 游戏效…...
redis常见数据类型
Redis是一个开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息代理,支持多种数据类型。 一、数据类型介绍 String(字符串) Redis中最基本的数据类型。可以存储任何类型的数据,包括字符串、数字和二进制…...
【解决安全扫描漏洞】---- 检测到目标站点存在 JavaScript 框架库漏洞
1. 漏洞结果 JavaScript 框架或库是一组能轻松生成跨浏览器兼容的 JavaScript 代码的工具和函数。如果网站使用了存在漏洞的 JavaScript 框架或库,攻击者就可以利用此漏洞来劫持用户浏览器,进行挂马、XSS、Cookie劫持等攻击。 1.1 漏洞扫描截图 1.2 具体…...
深入解析 Kubernetes 节点操作:Cordon、Uncordon 和 Drain 的使用与最佳实践
摘要 Kubernetes 是一个用于自动化容器部署、扩展和管理的开源系统,而节点管理是其核心功能之一。cordon、uncordon 和 drain 是 Kubernetes 提供的与节点操作相关的三个重要命令,用于节点的调度控制和维护管理。本文将从概念、命令解析、内部机制和最佳…...
python array矩阵相关操作
目录: 一、判断某个值是否在array二维数组的某列中 二、根据某列中的特定值筛选array数组 三、查找一个元素在二维 array 矩阵中的位置 四、判断array数组中的每个元素是否包含特定的子字符串 一、判断某个值是否在array二维数组的某列中 在 Python 中…...
网络安全——浅谈HTTP协议
HTTP请求 HTTP请求是客户端往服务端发送请求动作,告知服务器自己的要求。 HTTP请求由状态行、请求头、请求正文三部分组成: 状态行:包括请求方式Method、资源路径URL、协议版本Version;请求头:包括一些访问的域名、…...
BWO-CNN-BiGRU-Attention白鲸优化算法优化卷积神经网络结合双向门控循环单元时间序列预测,含优化前后对比
BWO-CNN-BiGRU-Attention白鲸优化算法优化卷积神经网络结合双向门控循环单元时间序列预测,含优化前后对比 目录 BWO-CNN-BiGRU-Attention白鲸优化算法优化卷积神经网络结合双向门控循环单元时间序列预测,含优化前后对比预测效果基本介绍模型描述程序设计…...
55 基于单片机的方波频率可调
目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 采用STC89C52单片机最小系统,设计DAC0832、放大器、与示波器显示方波,四位数码管显示频率,两个按键可调。 二、硬件资源 基于KEIL5编写C代码,PROT…...
SAP SD学习笔记15 - 投诉处理2 - 返品处理流程之 参照请求传票(发票)来生成返品传票
上一章讲了返品处理(退货处理)的流程。 SAP SD学习笔记14 - 投诉处理1 - 返品处理(退货处理)的流程以及系统实操,比如 返品传票;请求Block标记;收到退货之后的处理,请求传票的登录_…...
LWIP和FATFS 实现 FTP 服务端
目录 一、前言 二、LWIP 和 FTP 简介 1.LWIP 2.FTP 三、实现 FTP 服务端的主要步骤 1.初始化 LWIP 2.创建 FTP 服务器任务 3.处理客户端连接 4.实现 FTP 命令处理 5.文件系统操作 6.错误处理和日志记录 四、示例代码 1.创建FTP任务 2. FTP任务代码 3.处理交互数据…...
缓冲区的奥秘:解析数据交错的魔法
目录 一、理解缓存区的好处 (一)直观性的理解 (二)缓存区的好处 二、经典案例分析体会 (一)文件读写流(File I/O Buffering) BufferedOutputStream 和 BufferedWriter 可以加快…...
【MySQL — 数据库基础】MySQL的安装与配置 & 数据库简单介绍
数据库基础 本节目标 掌握关系型数据库,数据库的作用掌握在Windows和Linux系统下安装MySQL数据库了解客户端工具的基本使用和SQL分类了解MySQL架构和存储引擎 1. 数据库的安装与配置 1.1 确认MYSQL版本 处理无法在 cmd 中使用 mysql 命令的情况&a…...
如何使用Python解析从淘宝API接口获取到的JSON数据?
基本的 JSON 解析 当从淘宝 API 接口获取到数据后(假设数据存储在变量response_data中),首先要判断数据类型是否为 JSON。如果是,就可以使用 Python 内置的json模块进行解析。示例代码如下: import json # 假设respon…...
Day1 生信新手笔记
生信新手笔记 生信学习第一天笔记打卡。 转录组学中: 上游分析-基于linux,包括质控、过滤、比对、定量; 下游分析-基于R语言,包括差异分析、富集分析、可视化。 1. 级别标题 一个井号加空格 就是一级标题,两个井号加…...
内网穿透步骤
步骤 第一次需要验证token window和linux的方法不同。 然后 启动 cpolar 服务: 在命令窗口中输入 cpolar.exe htttp 8080,启动内网穿透服务。确保命令窗口保持开启状态,以维持穿透效果。 cpolar.exe hhttp 8080 成功后 注意事项 命令窗口…...
docker启动容器,语句名词解释
#启动容器代码docker run -it -d --name dev_aios -v D:\project\aialign:/www/ -v D:\project\data\dev\aios:/myfile/data/dev/aios -w /www/stand-alone-aios/aios -p 9002:9000 --ulimit core0 aialign/python-base:1.0 bash名词解释 docker run: 这是 Docker 的命令&#…...
微服务之短信验证服务配置完后junit单元测试短信发送失败
总之岁月漫长,然而值得等待。 主要是版本冲突问题,具体报错与解决方法如下: 报错前: 启动失败 短信服务测试报错: 解决后: 启动成功 短信服务测试发送成功: 在使用 SpringBoot 开发时&am…...
QSqlTableModel的使用
实例功能 这边使用一个实例显示数据库 demodb 中 employee 数据表的内容,实现编辑、插入、删除的操作,实现数据的排序和记录过滤,还实现 BLOB 类型字段 Photo 中存储照片的显示、导入等操作,运行界面如下图: 在上图中…...
构建高可用系统设计OpenStack、Docker、Mesos和Kubernetes(简称K8s)
如果构建高可用、高并发、高效运维的大型系统 大型系统架构设计包括业务层设计、服务层设计、基础架层设计、存储层设计、网络层协同设计来完成。 一、业务层 根据主要业务范畴的分类和特征提取,抽象出独立的业务系统,分别统计系统的用户角色群体、访…...
CondaValueError: Malformed version string ‘~‘: invalid character(s).
问题描述:在window下使用conda安装任何包都会报错。报错信息是CondaValueError: Malformed version string ~: invalid character(s). 解决办法:把.condarc文件的源地址删除(八成是源地址访问不了了),只保存默认的&am…...
uniapp图片上传预览uni.chooseImage、uni.previewImage
文章目录 1.上传图片2.预览图片 1.上传图片 uni.chooseImage(OBJECT) 从本地相册选择图片或使用相机拍照。 App端如需要更丰富的相机拍照API(如直接调用前置摄像头),参考plus.camera 微信小程序从基础库 2.21.0 开始, wx.choos…...
代码随想录算法训练营第三十二天 | 509. 斐波那契数 | 70. 爬楼梯 | 746. 使用最小花费爬楼梯
Day 32 总结 自己实现中遇到哪些困难今日收获,记录一下自己的学习时间 12:30 - 21:30 理论基础 代码随想录 动态规划 问题有很多的重叠子问题需要解决,状态涉及推导 DP 5部曲 DP数组含义 状态转移公式 dp数组初始化 数组遍历顺序 举例推导 视频&a…...
Flink常见面试题
1、Flink 的四大特征(基石) 2、Flink 中都有哪些 Source,哪些 Sink,哪些算子(方法) 预定义Source 基于本地集合的source(Collection-based-source) 基于文件的source(…...
SpringCloud之Config:从基础到高级应用
目录 一、SpringCloud Config 简介1、SpringCloud Config 概述(1)核心概念(2)SpringCloud Config 的特点(3)应用场景(4)工作原理(5)优势(6&#x…...
redis 底层数据结构
概述 Redis 6 和 Redis 7 之间对比: Redis6 和 Redis7 最大的区别就在于 Redis7 已经用 listpack 替代了 ziplist. 以下是基于 Redis 7基础分析。 RedisObject Redis是⼀个<k,v>型的数据库,其中key通常都是string类型的字符串对象,⽽…...
机器学习之RLHF(人类反馈强化学习)
RLHF(Reinforcement Learning with Human Feedback,基于人类反馈的强化学习) 是一种结合人类反馈和强化学习(RL)技术的算法,旨在通过人类的评价和偏好优化智能体的行为,使其更符合人类期望。这种方法近年来在大规模语言模型(如 OpenAI 的 GPT 系列)训练中取得了显著成…...
openwrt利用nftables在校园网环境下开启nat6 (ipv6 nat)
年初写过一篇openwrt在校园网环境下开启ipv6 nat的文章,利用ip6tables控制ipv6的流量。然而从OpenWrt22版本开始,系统内置的防火墙变为nftables,因此配置方法有所改变。本文主要参考了OpenWRT使用nftables实现IPv6 NAT 这篇文章。 友情提示 …...
Vue3+node.js实现注册
文章目录 前端代码实现后端代码实现 效果图 前端代码实现 <template><div class"register-container"><el-card class"register-card"><template #header><div class"card-header"><span>注册</span&…...
LabVIEW将TXT文本转换为CSV格式(多行多列)
在LabVIEW中,将TXT格式的文本文件内容转换为Excel格式(即CSV文件)是一项常见的数据处理任务,适用于将以制表符、空格或其他分隔符分隔的数据格式化为可用于电子表格分析的形式。以下是将TXT文件转换为Excel(CSV&#x…...