当前位置: 首页 > news >正文

CI/CD(十) Jenkins共享库与k8s集成

一、创建k8skey(v1.28.2版本)

1、查看k8s集群名称

root@k8s-master:~# kubectl config get-contexts
CURRENT   NAME                          CLUSTER      AUTHINFO           NAMESPACE
*         kubernetes-admin@kubernetes   kubernetes   kubernetes-admin 

2、查看集群详细信息

运行以下命令查看集群 kubernetes 的完整配置:

kubectl config view --raw -o jsonpath='{.clusters[?(@.name=="kubernetes")]}'

输出示例:

{"name": "kubernetes","cluster": {"certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t...",  # Base64 编码的 CA 证书"server": "https://<API-SERVER-IP>:6443"  # Kubernetes API Server 地址}
}
  • 关键字段

    • certificate-authority-data:集群的 CA 证书(Base64 编码)。

    • server:API Server 的访问地址(如 https://10.51.3.3:6443)。

3、生成新的kubeconfig文件

假设你要为 Jenkins 创建一个专用的 kubeconfig 文件(例如 k8s-config-key-prod-10-60-0-20),步骤如下:

(1)定义变量

# 从现有集群配置中提取信息
CLUSTER_NAME="kubernetes"
API_SERVER=$(kubectl config view --raw -o jsonpath='{.clusters[?(@.name=="kubernetes")].cluster.server}')
CA_CERT=$(kubectl config view --raw -o jsonpath='{.clusters[?(@.name=="kubernetes")].cluster.certificate-authority-data}')# 新 kubeconfig 的路径和名称(根据你的 k8sKey 规则)
K8S_KEY="k8s-config-key-prod-10-60-0-20"
KUBECONFIG_PATH="/opt/k8s-deploy-config/${K8S_KEY}"

(2)创建 ServiceAccount 并获取 Token(推荐用于自动化)

注意:高版本k8s(v1.24)创建serviceAccount时不再自动创建secret,需要手动显示创建

# 创建 ServiceAccount 和权限绑定
kubectl create serviceaccount jenkins-sa -n default
kubectl create clusterrolebinding jenkins-sa-admin \--clusterrole=cluster-admin \--serviceaccount=default:jenkins-sa

 (3)手动创建 Secret 并绑定到 ServiceAccount

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:name: jenkins-sa-token  # Secret 名称namespace: defaultannotations:kubernetes.io/service-account.name: "jenkins-sa"  # 绑定到指定的 ServiceAccount
EOF

(4) 验证 Secret 和 Token

# 查看 ServiceAccount 是否关联了 Secret
kubectl describe serviceaccount jenkins-sa -n default# 获取新创建的 Secret 中的 Token
TOKEN=$(kubectl get secret jenkins-sa-token -n default -o jsonpath='{.data.token}' | base64 -d)

(5) 生成 kubeconfig 文件

cat <<EOF | sudo tee ${KUBECONFIG_PATH}
apiVersion: v1
kind: Config
clusters:
- name: ${CLUSTER_NAME}cluster:certificate-authority-data: ${CA_CERT}server: ${API_SERVER}
users:
- name: jenkins-sauser:token: ${TOKEN}
contexts:
- name: jenkins-contextcontext:cluster: ${CLUSTER_NAME}user: jenkins-sanamespace: default
current-context: jenkins-context
EOF

(6)验证新 kubeconfig 文件

kubectl --kubeconfig /opt/k8s-deploy-config/k8s-config-key-prod-10-60-0-20 get pods

结果如下:

二、build kubectl:v1.28.2镜像

1、windows离线下载

https://dl.k8s.io/release/v1.28.2/bin/linux/amd64/kubectl 此链接直接提供Linux amd64架构的kubectl二进制文件

2、Dockerfile

FROM alpine:3.18# 创建并设置工作目录
WORKDIR /opt/k8sdeploy# 安装 kubectl
COPY kubectl /usr/local/bin/
RUN chmod +x /usr/local/bin/kubectl# 验证安装(使用新版命令)
RUN kubectl version --client# 设置默认命令(仍保留原功能)
CMD ["kubectl", "version"]

 推送到harbor

docker build -t 10.60.0.20:18080/customer-software/kubectl:v1.28.2 . 
docker push 10.60.0.20:18080/customer-software/kubectl:v1.28.2

推送成功修改此处配置:

三、创建基本环境

 1、创建namespace(dev | test)

kubectl create namespace wict-dev

2、创建storgeClass(略)
CI/CD(三) 安装nfs并指定k8s默认storageClass-CSDN博客文章浏览阅读587次,点赞4次,收藏9次。通过以上步骤,可为 Kubernetes 集群提供基于 NFS 的持久化存储支持,解决 "没有存储类" 的问题。 https://blog.csdn.net/qq_41369135/article/details/146444419?spm=1001.2014.3001.5502

3、创建日志pvc

logs-pvc-dev.yml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: logs-pvc-devnamespace: wict-dev
spec:accessModes:- ReadWriteManyresources:requests:storage: 5GistorageClassName: nfs-storage  # 需与集群中可用 StorageClass 匹配
kubectl apply -f /k8s/project/logs/logs-pvc-dev.yml

4、创建harbor-secret

config.json

{"auths":{"10.60.0.20:18080":{"username":"admin","password":"Harbor12345"}}}

base64命令

cat config.json | base64 -w0  

harbor-secret.yml

apiVersion: v1
kind: Secret
metadata:name: harbor-secretnamespace: wict-dev
type: kubernetes.io/dockerconfigjson
data:.dockerconfigjson: eyJhdXRocyI6eyIxMC42MC4wLjIwOjE4MDgwIjp7InVzZXJuYW1lIjoiYWRtaW4iLCJwYXNzd29yZCI6IkhhcmJvcjEyMzQ1In19fQ==
kubectl apply -f /k8s/namespace/wict-dev/secret/harbor-secret.yml

所有节点添加私有配置(http)
/etc/docker/daemon.json新增私有仓库,必须新增,不然宿主机登录不了Harbor,或者开启https,才能登录

"insecure-registries": ["10.60.0.20:18080"]

热加载(不用重启docker)

# 发送SIGHUP信号热加载
sudo kill -SIGHUP $(pidof dockerd)

四、执行(后端)

 五、执行(前端)

1、修改部署类型为k8s

2、执行

 

六、访问配置

1、安装ingress-nginx(略)

 手动安装:部署ingress-nginx(国内安装)_ingress-nginx 镜像-CSDN博客

helm安装:CI/CD(六) helm部署ingress-nginx(阿里云)_helm 阿里云 nginx-ingress-CSDN博客

 2、修改yml模板(自动创建相关组件)

后端模版新增service

apiVersion: apps/v1
kind: Deployment
metadata:name: {{obj.param.metadataName}}-{{obj.param.env}}namespace: {{obj.param.metadataNameSpace}}-{{obj.param.env}}
spec:selector:matchLabels:app: {{obj.param.metadataName}}project: {{obj.param.project}}env: {{obj.param.env}}replicas: 1template:metadata:labels:app: {{obj.param.metadataName}}env: {{obj.param.env}}project: {{obj.param.project}}ci: {{obj.param.ci}}spec:terminationGracePeriodSeconds: 60imagePullSecrets:- name: harbor-secret
#      initContainers:
#        - image: harbor.cqxyy.net/wict/skywalking-agent-wiat:v8.16.2
#          name: sw-agent-sidecar
#          imagePullPolicy: IfNotPresent
#          command: ['sh']
#          args: ['-c','mkdir -p /skywalking/agent && cp -r /usr/skywalking/agent/* /skywalking/agent']
#          volumeMounts:
#            - mountPath: /skywalking/agent
#              name: sw-agentcontainers:- name: {{obj.param.metadataName}}image: {{obj.param.containersImage}}imagePullPolicy: Alwaysports:- containerPort: 80name: webprotocol: TCPresources:limits:memory: {{obj.param.resourcesMaxMemory}}requests:memory: 128MilivenessProbe:httpGet:path: {{obj.param.actuator}}port: 80initialDelaySeconds: 60periodSeconds: 10timeoutSeconds: 5failureThreshold: 12readinessProbe:httpGet:path: {{obj.param.actuator}}port: 80initialDelaySeconds: 60periodSeconds: 60timeoutSeconds: 5failureThreshold: 12volumeMounts:- name: logs-pvcsubPath: logsmountPath: /opt/jar/logs- name: sw-agentmountPath: /skywalking/agent- name: date-configmountPath: /etc/localtime{% for obj in obj.param.mountDirList -%}- name: {{obj.name}}mountPath: {{obj.mountPath}}{% endfor %}env:- name: TZvalue: Asia/Shanghai- name: LIMITS_MEMORYvalueFrom:resourceFieldRef:resource: limits.memorydivisor: 1Mi- name: JAVA_OPTSvalue: -XX:+UseContainerSupport -XX:MaxRAMPercentage=60.0 -XX:NativeMemoryTracking=summary {{obj.param.javaOpts}}lifecycle:preStop:exec:command: ["/bin/sh", "-c", "rm -f /opt/jar/logs/dump/{{obj.param.metadataName}}.hprof && jmap -dump:live,format=b,file=/opt/jar/logs/dump/{{obj.param.metadataName}}.hprof $(pgrep java)"]securityContext:fsGroup: 1000volumes:- name: logs-pvcpersistentVolumeClaim:claimName: logs-pvc-{{obj.param.env}}- name: sw-agentemptyDir: {}- name: date-confighostPath:path: /etc/localtime{% for obj in obj.param.mountDirList -%}- name: {{obj.name}}hostPath:path: {{obj.hostPath}}{% endfor %}---
apiVersion: v1
kind: Service
metadata:name: {{obj.param.metadataName}}-{{obj.param.env}}-servicenamespace: {{obj.param.metadataNameSpace}}-{{obj.param.env}}
spec:selector:app: {{obj.param.metadataName}}project: {{obj.param.project}}env: {{obj.param.env}}ports:- protocol: TCPport: 80       # Service 端口targetPort: 80 # Pod 容器端口type: ClusterIP    # 仅集群内访问(由 Ingress 处理外部流量)

前端模板新增service和ingress

apiVersion: apps/v1
kind: Deployment
metadata:name: {{obj.param.metadataName}}-{{obj.param.env}}namespace: {{obj.param.metadataNameSpace}}-{{obj.param.env}}
spec:selector:matchLabels:app: {{obj.param.metadataName}}project: {{obj.param.project}}env: {{obj.param.env}}replicas: 1template:metadata:labels:app: {{obj.param.metadataName}}project: {{obj.param.project}}env: {{obj.param.env}}ci: {{obj.param.ci}}spec:terminationGracePeriodSeconds: 4imagePullSecrets:- name: harbor-secretcontainers:- name: {{obj.param.metadataName}}image: {{obj.param.containersImage}}imagePullPolicy: Alwaysports:- containerPort: {{obj.param.containerPort}}name: webprotocol: TCP---
apiVersion: v1
kind: Service
metadata:name: {{obj.param.metadataName}}-{{obj.param.env}}-servicenamespace: {{obj.param.metadataNameSpace}}-{{obj.param.env}}
spec:selector:app: {{obj.param.metadataName}}project: {{obj.param.project}}env: {{obj.param.env}}ports:- protocol: TCPport: 80       # Service 端口targetPort: {{obj.param.containerPort}} # Pod 容器端口type: ClusterIP    # 仅集群内访问(由 Ingress 处理外部流量)---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: {{obj.param.metadataName}}-{{obj.param.env}}-ingressnamespace: {{obj.param.metadataNameSpace}}-{{obj.param.env}}annotations:nginx.ingress.kubernetes.io/rewrite-target: /$1nginx.ingress.kubernetes.io/use-regex: "true"
spec:ingressClassName: nginx  # 关联 IngressClassrules:- host: {{obj.param.metadataName}}-{{obj.param.env}}.10.60.0.20.nip.io  # 自定义域名http:paths:# 前端路由规则(处理所有非 /prod-api 的请求)- path: /(.*)   # 正则:排除以 /prod-api 开头的路径pathType: Prefixbackend:service:name: {{obj.param.metadataName}}-{{obj.param.env}}-service  # 指向 Service 名称port:number: 80- path: /prod-api/(.*)  # 正则:匹配 /prod-api 前缀并分组后续路径pathType: Prefix  # 必须设置为 ImplementationSpecificbackend:service:name: rc-vue-first-{{obj.param.env}}-service  # 指向 Service 名称port:number: 80

3、访问

验证码没出来,有时间在解决 

相关文章:

CI/CD(十) Jenkins共享库与k8s集成

一、创建k8skey&#xff08;v1.28.2版本&#xff09; 1、查看k8s集群名称 rootk8s-master:~# kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE * kubernetes-adminkubernetes kubernetes kuber…...

5.Elasticsearch - Spring Data 框架

一、Kibana 介绍 Kibana 是一个免费且开放的用户界面&#xff0c;能够让你对 Elasticsearch 数据进行可视化&#xff0c;并让你在 Elastic Stack 中进行导航。你可以进行各种操作&#xff0c;从跟踪查询负载&#xff0c;到理解请求如何流经你的整个应用&#xff0c;都能轻松完…...

如何通过技术手段降低开发成本

通过技术手段降低开发成本的关键在于&#xff1a; 自动化工具的使用、优化开发流程、云计算资源的利用、开发技术栈的精简与创新、团队协作平台的高效管理。 其中&#xff0c;自动化工具的使用是最为有效的技术手段之一。自动化工具通过减少人工干预和重复性工作&#xff0c;大…...

java android持久化数据

1. SQLite 数据库&#xff08;Android 内置&#xff09; 1.1 创建数据库帮助类 public class DatabaseHelper extends SQLiteOpenHelper {private static final String DATABASE_NAME "MyDatabase.db";private static final int DATABASE_VERSION 1;// 表名和列名…...

Chromium 134 编译指南 macOS篇:系统环境准备(一)

1. 引言 在当今浏览器领域&#xff0c;开源项目Chromium的地位举足轻重。作为众多现代浏览器的技术基础&#xff0c;Chromium不仅驱动着Google Chrome&#xff0c;还为Microsoft Edge、Opera等众多知名浏览器提供了核心引擎。对于热衷于浏览器技术研究&#xff0c;或希望开发自…...

性能优化-Spring参数配置、数据库连接参数配置、JVM调优

SpringBoot配置参数 server:tomcat:#线程池配置max-threads: 200 # 最大工作线程数&#xff08;建议&#xff1a;2~4倍CPU核心数&#xff0c;如16核设200-400&#xff09;min-spare-threads: 20 # 最小空闲线程&#xff08;应对突发流量&#xff0c;…...

【2025年泰迪杯数据挖掘挑战赛】B题 数据预处理+问题建模与求解

目录 2025年泰迪杯数据挖掘挑战赛 B题数据预处理 问题一、二建模与求解三、数据预处理3.1 基于多核并行的协同处理方法的数据读取3.2 基于多核并行协同处理的数据聚合 四、问题一五、问题一技术文档与matlab代码 2025年泰迪杯数据挖掘挑战赛 B题 数据预处理 问题一、二建模与求…...

git怎么使远程分支回退到指定的节点处

git使远程分支回退到指定的节点 引言场景描述步骤 引言 最近提交代码的时候&#xff0c;总将分支合并错&#xff0c;原本要合到A分支&#xff0c;结果合并到了B分支&#xff0c;这样就导致b分支需要回退到我没有合并之前的节点处。 本文记录下怎么将远程分支回退到指定的节点。…...

Spring Boot 使用 QQ 企业邮箱发送邮件的完整指南(含 535 错误排查)

在 Spring Boot 项目中集成邮件功能非常常见,尤其是用户注册通知、异常报警、定期报告等场景。但如果你使用的是 QQ 企业邮箱(smtp.exmail.qq.com),可能会遇到如下典型错误: 535 Error: authentication failed, system busy这篇博客将详细解析出现该问题的原因、排查路径…...

MySQL联合查询||多表查询

mysql中如何注释...

java 递归遍历JSON字符串获取某个字段的值

在 Java 中&#xff0c;若要递归遍历 JSON 字符串并获取特定字段的值&#xff0c;可借助 Jackson 库。以下是一个示例代码&#xff0c;它能实现递归遍历 JSON 字符串并获取指定字段的值。 import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.data…...

OceanBase4.0社区版 单机快速部署

以下内容结合OceanBase官方文档进行安装部署测试 官方文档地址&#xff1a;https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002012693 一.部署方式 OceanBase 企业版&#xff1a; • 使用 OCP 部署 OceanBase 集群 • 使用 OBD 部署 OceanBase 集群 •…...

CExercise_05_1伪随机数_2编写程序模拟掷骰子的游戏(每一次投掷,都投掷两个骰子)

题目&#xff1a; 编写程序模拟掷骰子的游戏&#xff08;每一次投掷&#xff0c;都投掷两个骰子&#xff09;。每局游戏的规则如下&#xff1a; 第一次掷的时候&#xff1a; 如果点数之和为 7 或 11 则获胜&#xff1b; 如果点数之和为2、3或12则落败&#xff1b; 其他情况下的…...

【更新至2023年】2000-2023年中国气候政策不确定性指数(全国、省、市三个层面)

【更新至2023年】2000-2023年中国气候政策不确定性指数&#xff08;全国、省、市三个层面&#xff09; 1.时间&#xff1a;2000-2023年 2.来源&#xff1a;使用人工审计和深度学习算法MacBERT模型&#xff0c;基于中国《人民日报》《光明日报》《经济日报》《环球时报》《科技…...

机器学习中 提到的张量是什么?

在机器学习中, 张量(Tensor) 是一个核心数学概念,用于表示和操作多维数据。以下是关于张量的详细解析: 一、数学定义与本质 张量在数学和物理学中的定义具有多重视角: 多维数组视角 传统数学和物理学中,张量被定义为多维数组,其分量在坐标变换时遵循协变或逆变规则。例…...

【Python爬虫】简单案例介绍3

本文继续接着我的上一篇博客【Python爬虫】简单案例介绍2-CSDN博客 目录 3.3 代码开发 3.3 代码开发 编写代码的步骤&#xff1a; request请求科普中国网站地址url&#xff0c;解析得到类名为"list-block"的div标签。 for循环遍历这个div列表里的每个div&#xff0…...

对于客户端数据存储方案——SQLite的思考

SQLite 比较适合进行本地小型数据的存储&#xff0c;在功能丰富性和并发能力上不如 MySQL。 数据类型差异 SQLite 使用动态类型系统&#xff1a;只有 5 种基本存储类 (NULL, INTEGER, REAL, TEXT, BLOB) 类型亲和性&#xff1a;SQLite 会将声明的列类型映射到最接近的存储类 …...

基于Nacos+动态线程池的分布式系统弹性设计:投行交易与风控场景实战

业务痛点和需求分析 在投行高频交易系统和对公贷款风控计算引擎中&#xff0c;我们面临两大核心挑战&#xff1a; 流量洪峰波动剧烈 交易时段TPS可达10万/秒&#xff0c;非交易时段下降80%风控模型计算存在突发性批量任务&#xff08;如月末集中评审&#xff09; 架构设计与…...

高并发内存池(定长内存池基础)

定长内存池的设计 定长内存池定长内存池的原理讲解代码实现定义对象New对象的主要逻辑delete对象的主要逻辑完整代码 定长内存池 为什么我们要设计这个定长内存池呢&#xff1f;首先malloc是c标准库中向堆申请空间的接口&#xff0c;变相的说malloc是普遍性&#xff0c;而我们…...

element-ui plus 中 filter-method 函数多次触发问题解决

前情提要 点进这个文章的小伙伴&#xff0c;应该都是为了解决一个需求&#xff0c;把原本的前端过滤改为后端过滤&#xff0c;但是将filter-method修改为后端取数据后&#xff0c;发现其触发了很多次。博主也是在修改表格过滤时用到了这个坑&#xff0c;本篇文章为大家解决一下…...

物联网场景实战:智能电表数据管理与分析(一)

智能电表与物联网的融合 在当今数字化时代&#xff0c;随着物联网&#xff08;IoT&#xff09;技术的飞速发展&#xff0c;各行业都在积极探索如何利用这一技术实现转型升级 。电力行业也不例外&#xff0c;智能电表作为电力系统与物联网融合的关键节点&#xff0c;正发挥着越来…...

网络中的基本概念

这篇文章主要介绍我们在学习网络的过程中&#xff0c;会碰到的一系名词&#xff0c;对其概念进行解释&#xff0c;让大家知道这些都是干什么的。 网络&#xff1a;若干个节点和连接这些节点的链路组成的&#xff0c;用于实现信息交换资源共享。 节点&#xff1a;网络中各种接地…...

行锁(Row Locking)和MVCC(多版本并发控制)

在数据库系统中&#xff0c;**行锁&#xff08;Row Locking&#xff09;和MVCC&#xff08;多版本并发控制&#xff09;**是两种不同的并发控制机制&#xff0c;它们的使用场景和原理有显著区别。以下是详细对比和适用场景分析&#xff1a; 一、行锁&#xff08;Row Locking&am…...

AlexNet神经网络详解及VGGNet模型和

AlexNet模型细节 一共8层&#xff0c;5个卷积层&#xff0c;3个全连接层 AlexNet工程技巧 多GPU训练&#xff0c;ReLU激活函数&#xff0c;LRN归一化&#xff0c;Dropout&#xff0c;重叠池化&#xff0c;数据增强等 多GPU训练 除了将模型的神经元进行了并行&#xff0c;还使…...

【Linux网络】Socket 编程TCP

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343 &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/qinjh_/category_12891150.html 目录 TCP socket API 详解 socket(): bind(): listen(): accept(): connect V0…...

代码训练day27贪心算法p1

贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优 贪心算法一般分为如下四步&#xff1a; 将问题分解为若干个子问题找出适合的贪心策略求解每一个子问题的最优解将局部最优解堆叠成全局最优解 1.分发饼干 先将饼干数组和小孩数组排序。 然后从后向前遍历…...

基于RV1126开发板的车辆检测算法开发

1. 车辆检测简介 车辆检测是一种基于深度学习的对人进行检测定位的目标检测&#xff0c;能广泛的用于园区管理、交通分析等多种场景&#xff0c;是违停识别、堵车识别、车流统计等多种算法的基石算法。 人脸检测算法mAP0.5CAR0.78029 基于EASY-EAI-Nano硬件主板的运行效率&…...

Leetcode——137 260找出只出现一次的数

文章目录 找出只出现一次的数引入Leetcode 260Leetcode 137 找出只出现一次的数 对于数组中有一类题&#xff0c;即某些数据在数组中只出现一遍&#xff0c;需要我们找出&#xff0c;今天我们来看看这个类型的题。 引入 想必大家应该见过这么一道题&#xff1a; 现给定一个数…...

【多线程-第四天-自己模拟SDWebImage的下载图片功能-看SDWebImage的Demo Objective-C语言】

一、我们打开之前我们写的异步下载网络图片的项目,把刚刚我们写好的分类拖进来 1.我们这个分类包含哪些文件: 1)HMDownloaderOperation类, 2)HMDownloaderOperationManager类, 3)NSString+Sandbox分类, 4)UIImageView+WebCache分类, 这四个文件吧,把它们拖过来…...

【5G学习】基本概念之多频资源以及子载波和信道

在5G通信中&#xff0c;子载波、信道以及时域、频域、码域、空域是构建无线传输系统的核心概念。它们共同定义了信号的传输方式、资源分配和多维复用技术。以下是详细解释及其相互关系&#xff1a; 一、核心概念定义 1. 子载波&#xff08;Subcarrier&#xff09; 定义&#…...

鸿蒙动画与交互设计:ArkUI 3D变换与手势事件详解

大家好&#xff0c;我是 V 哥。 在鸿蒙 NEXT 开发中&#xff0c;ArkUI 提供了丰富的 3D 变换和手势事件功能&#xff0c;可用于创建生动且交互性强的用户界面。下面详细介绍 ArkUI 的 3D 变换和手势事件&#xff0c;并给出相应的 ArkTS 案例代码。 1. ArkUI 3D 变换 ArkUI 支…...

敏感数据触发后怎么保障安全?

当敏感数据被触发或泄露时&#xff0c;需立即采取系统化措施控制风险。以下为分阶段应对策略&#xff0c;结合技术与管理手段&#xff1a; 一、即时响应阶段 阻断扩散 隔离受影响系统&#xff1a;立即断开网络连接、暂停服务或关闭相关端口。 终止可疑进程&#xff1a;通过华…...

【CVE-2024-10929】ARM CPU漏洞安全通告

安全之安全(security)博客目录导读 目录 一、概述 二、CVE详情 三、受影响产品 四、建议措施 五、致谢 六、版本历史 一、概述 在部分基于Arm架构的CPU中发现了一个潜在安全问题&#xff0c;称为Spectre-BSE&#xff08;Branch Status Eviction&#xff0c;分支状态驱逐…...

高级java每日一道面试题-2025年4月06日-微服务篇[Nacos篇]-如何诊断和解决Nacos中的常见问题?

如果有遗漏,评论区告诉我进行补充 面试官: 如何诊断和解决Nacos中的常见问题&#xff1f; 我回答: 在Java高级面试中诊断和解决Nacos常见问题的综合回答 在Java高级面试中&#xff0c;当被问及如何诊断和解决Nacos中的常见问题时&#xff0c;可以从以下几个方面进行详细阐述…...

【模块化拆解与多视角信息3】教育背景:学历通胀时代的生存法则

教育背景:学历通胀时代的生存法则 写在最前 作为一个中古程序猿,我有很多自己想做的事情,比如埋头苦干手搓一个低代码数据库设计平台(目前只针对写java的朋友),比如很喜欢帮身边的朋友看看简历,讲讲面试技巧,毕竟工作这么多年,也做到过高管,有很多面人经历,意见还算…...

无人机3S与4S电池技术对比!

一、基础参数对比 1. 电芯与电压 3S电池&#xff1a;由3节锂电芯串联组成&#xff0c;标称电压为11.1V&#xff08;单节3.7V3&#xff09;&#xff0c;满电电压约12.6V。 4S电池&#xff1a;由4节电芯串联&#xff0c;标称电压14.8V&#xff08;3.7V4&#xff09;&#…...

linux电源管理(二),内核的CPUFreq(DVFS)和ARM的SCPI

更多linux系统电源管理相关的内容请看&#xff1a;https://blog.csdn.net/u010936265/article/details/146436725?spm1011.2415.3001.5331 1 简介 CPUFreq子系统位于drivers/cpufreq目录下&#xff0c;负责进行运行过程中CPU频率和电压的动态调整&#xff0c;即DVFS (Dynami…...

短波红外高光谱相机:高光谱成像在塑料分选中的应用

随着塑料工业的迅猛发展&#xff0c;塑料包装制品需求量增长迅速&#xff0c;消耗量不断上升&#xff0c;废塑料产生量也急剧增加。由于塑料化学结构稳定&#xff0c;难以自然降解&#xff0c;不当使用和处置及累积会造成严重的环境污染和资源浪费。因此&#xff0c;快速、精准…...

通过OBD部署OceanBase社区版集群v4.3.5

以下内容结合OceanBase官方文档进行安装部署测试 官方文档地址&#xff1a;https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016072 一.环境准备 准备三台虚拟机&#xff0c;配置信息如下 192.168.232.8 centos7.9 4c16g 硬盘100g 192.168.232.9 …...

【Java学习笔记】注释

注释 为什么要写注释&#xff1f; 养成良好的编程习惯&#xff0c;方便后续阅读和查看&#xff0c;理顺思路&#xff0c;增加可读性 对自己的代码负责&#xff0c;对别人负责 说明 1. 被注释的文字&#xff0c;不会被 JVM&#xff08;虚拟机&#xff09;解释执行 2. 多行注…...

Python 调用 YOLO ONNX

Python 调用 YOLO ONNX 1 下载ONNX文件2 Python代码 1 下载ONNX文件 ONNX下载地址 2 Python代码 import cv2 from ultralytics import YOLO# 加载 YOLOv11 model YOLO(./yolo11n.pt)# 读取图片 image_path ./11.png img cv2.imread(image_path)# 推理&#xff08;可以传…...

Linux 下 Module 工具的介绍与使用

参考&#xff1a; https://www.fasteda.cn/post/22.html https://modules.readthedocs.io/en/latest/module.html Linux 下 Module 工具的介绍与使用 一、前言 在 Linux 中&#xff0c;当同一款编辑器、运行库、软件存在多个版本且多个版本都需要在不同的场景或人员使用时&a…...

批量归一化(Batch Normalization)原理与PyTorch实现

批量归一化&#xff08;Batch Normalization&#xff09;是加速深度神经网络训练的常用技术。本文通过Fashion-MNIST数据集&#xff0c;演示如何从零实现批量归一化&#xff0c;并对比PyTorch内置API的简洁实现方式。 1. 从零实现批量归一化 1.1 批量归一化函数实现 import t…...

Flutter 文本组件深度剖析:从基础到高级应用

引言 在 Flutter 应用开发中&#xff0c;文本是向用户传达信息的重要媒介。Flutter 提供了丰富且强大的文本组件和相关属性&#xff0c;使开发者能够轻松实现多样化的文本展示效果。无论是简单的静态文本显示&#xff0c;还是复杂的富文本渲染&#xff0c;Flutter 都能满足需求…...

FABC是什么?

在销售和品牌营销领域&#xff0c;FABC 是一种用于构建销售话术和营销信息的框架&#xff0c;其全称为 Features&#xff08;特点&#xff09;、Advantages&#xff08;优势&#xff09;、Benefits&#xff08;利益&#xff09;、Case&#xff08;案例&#xff09;。该模型帮助…...

【MySQL】MVCC工作原理、事务隔离机制、undo log回滚日志、间隙锁

一、什么是MVCC&#xff1f; MVCC&#xff0c;即 Multiversion Concurrency Control&#xff08;多版本并发控制&#xff09;&#xff0c;它是数据库实现并发控制的一种方式。 MVCC 的核心思想是&#xff1a; 为每个事务提供数据的“快照”版本&#xff0c;从而避免加锁&…...

Spring Boot 集成 RocketMQ 全流程指南:从依赖引入到消息收发

前言 在分布式系统中&#xff0c;消息中间件是解耦服务、实现异步通信的核心组件。RocketMQ 作为阿里巴巴开源的高性能分布式消息中间件&#xff0c;凭借其高吞吐、低延迟、高可靠等特性&#xff0c;成为企业级应用的首选。而 Spring Boot 通过其“约定优于配置”的设计理念&a…...

PCL 点云RANSAC提取平面(非内置函数)

文章目录 一、算法实现1.1实现步骤二、实现代码三、实现效果参考资料一、算法实现 1.1实现步骤 1、确定模型。三个点确定一个平面,方程式为 a x + b y + c z + 1 = 0 ax+by+cz+1=0...

中介者模式:理论、实践与 Spring 源码解析

摘要 本论文以中介者模式为核心,系统阐述其设计原理、应用场景及在 Spring 框架中的实现机制。通过机票预订系统、银行交易系统等典型案例,具象化展示模式如何解耦复杂对象交互;结合 Spring 5.3.29 源码,深入剖析事件驱动模型中ApplicationEventPublisher与ApplicationLis…...

2025.04.14【Table】| 生信数据表图技巧

Custom title A set of examples showing how to customize the titles of a table made with GT Custom footer How to customize the footer and the references section of a gt table 文章目录 Custom titleCustom footer 生信数据可视化&#xff1a;Table图表详解1. R语…...