k8s中,一.service发布服务,二.dashboard:基于网页的k8s管理插件,三.资源服务与帐号权限
一.service资源对内发布服务Cluster IP对外发布服务NodePortIngress
二.dashboard:基于网页的k8s管理插件
三.资源服务与帐号权限一.service:用户无法预知pod的ip地址以及所在的节点,多个相同的pod如何访问他们上面的服务功能:1.服务自动感知:pod迁移后访问service的ip,不受影响2.服务的自动发现:服务创建时自动在内部dns上注册域名服务名称.名称空间.svc.cluster.local3.服务负载均衡:访问多个相同标签的服务1.ClusterIP类型:集群内部发布服务(标签服务)1.1 资源清单文件生成#命令生成资源清单文件kubectl create service clusterip websvc --tcp=80:80 --dry-run=client -o yaml#自定义[root@master ~]# vim websvc.yaml---kind: ServiceapiVersion: v1metadata:name: websvc spec:type: ClusterIP #服务类型selector:app: web #标签ports: #端口- protocol: TCP #协议port: 80 #服务的端口targetPort: 80 #后端pod端口1.2 解析域名# 安装工具软件包[root@master ~]# dnf install -y bind-utils# 查看 DNS 服务地址[root@master ~]# kubectl -n kube-system get service kube-dnsNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)kube-dns ClusterIP 10.245.0.10 <none> 53/UDP,53/TCP,9153/TCP# 域名解析测试[root@master ~]# host websvc.default.svc.cluster.local 10.245.0.10websvc.default.svc.cluster.local has address 10.245.5.181.3 通过标签完成请求转发,服务和service资源设置相同标签,创建后端应用[root@master ~]# vim web1.yaml ---kind: PodapiVersion: v1metadata:name: web1labels:app: web # 服务靠标签寻找后端spec:containers:- name: apacheimage: myos:httpd1.4 给service服务设置固定的ip---kind: ServiceapiVersion: v1metadata:name: websvcspec:type: ClusterIPclusterIP: 10.245.1.80 #固定的ipselector:app: webports:- protocol: TCPport: 80targetPort: 801.5 端口别名,解决后端pod中多个服务的端口不一致情况service资源设置:---kind: ServiceapiVersion: v1metadata:name: websvcspec:type: ClusterIPclusterIP: 10.245.1.80 # 固定的ipselector:app: webports:- protocol: TCPport: 80targetPort: myhttp # 端口别名pod资源设置:---kind: PodapiVersion: v1metadata:name: web1labels:app: web # 服务靠标签寻找后端spec:containers:- name: apacheimage: myos:httpdports:- name: myhttp # 使用别名protocol: TCPcontainerPort: 802.NodePort:使用基于端口映射(30000-32767),外部服务请求节点,节点将请求转发给内部的clusteripnodeport--clusterip(service)--pod2.1 NodePort对外发布服务---kind: ServiceapiVersion: v1metadata:name: mysvcspec:type: NodePort # 服务类型selector:app: webports:- protocol: TCPport: 80nodePort: 30080 # 映射端口号,不设置使用随机的端口号targetPort: 80 外部服务通过端口转发访问服务:curl http://node-0001:300803.Ingress(规则+控制器):通过http和https访问集群内部服务,支持域名解析ingress--service(clusterip)--pod前提:必须先配置好clusterip3.1 安装并配置ingress的规则# 查询ingress控制器类名称[root@master ~]# kubectl get ingressclasses.networking.k8s.io ---apiVersion: networking.k8s.io/v1kind: Ingressmetadata:name: simplespec:ingressClassName: ningx #控制器rules: # 规则- host: foo.com # 域名http: # 协议paths: //前端参数- path: /bar # 访问的url路径pathType: Exact #路径的类型(Prefix:宽松模式,访问路径以及子路径的内容,Exact:严格模式)//后端参数 backend: # 后端service: name: svc1 #服务名port: #端口号number: 80status:loadBalancer: {}二.dashbord插件:基于网页的k8s用户界面1.安装dashborad[root@master ~]# cd plugins/dashboard[root@master dashboard]# docker load -i dashboard.tar.xz[root@master dashboard]# docker images|while read i t _;do[[ "${t}" == "TAG" ]] && continue[[ "${i}" =~ ^"harbor:443/".+ ]] && continuedocker tag ${i}:${t} harbor:443/plugins/${i##*/}:${t}docker push harbor:443/plugins/${i##*/}:${t}docker rmi ${i}:${t} harbor:443/plugins/${i##*/}:${t}donesed -ri 's,^(\s*image: )(.*/)?(.+),\1harbor:443/plugins/\3,' recommended.yaml[root@master dashboard]# kubectl apply -f recommended.yaml[root@master dashboard]# kubectl -n kubernetes-dashboard get pods2.修改nodePort发布服务---kind: ServiceapiVersion: v1metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboardspec:type: NodePortports:- port: 443nodePort: 30443targetPort: 8443selector:k8s-app: kubernetes-dashboard
三.资源与帐号权限1.角色与权限分类资源对象 描述 作用域ServiceAccount 服务账号,为 Pod 中运行的进程提供了一个身份 单一名称空间Role 角色,包含一组代表相关权限的规则 单一名称空间RoleBinding 将权限赋予用户,Role、ClusterRole 均可使用 单一名称空间ClusterRole 角色,包含一组代表相关权限的规则 全集群ClusterRoleBinding 将权限赋予用户,只可以使用 ClusterRole 全集群2.资源对象的权限(对资源类型进行权限管理)create delete deletecollection get list 创建 删除 删除集合 获取属性 获取列表(多个) patch update watch补丁(补充某一部分内容) 更新 监控3.serviceaccount创建服务帐号# 资源对象模板kubectl -n kubernetes-dashboard create serviceaccount kube-admin --dry-run=client -o yaml[root@master ~]# vim admin-user.yaml---kind: ServiceAccountapiVersion: v1metadata:name: kube-adminnamespace: kubernetes-dashboard[root@master ~]# kubectl -n kubernetes-dashboard get serviceaccounts4.获取用户 token[root@master ~]# kubectl -n kubernetes-dashboard create token kube-admin6.自定义角色资源类型# 角色资源对象模板kubectl -n default create role myrole --resource=pods --verb=get,list --dry-run=client -o yaml---kind: RoleapiVersion: rbac.authorization.k8s.io/v1metadata:name: myrolenamespace: defaultrules:- apiGroups:- ""resources: # 设置的资源- podsverbs: #设置的授权- get- list7.给kube-admin普通用户授权(RoleBinding)---kind: RoleBindingapiVersion: rbac.authorization.k8s.io/v1metadata:name: kube-admin-role #授权策略名称namespace: defaultroleRef: #关联权限apiGroup: rbac.authorization.k8s.io #角色对象组kind: Role #角色资源对象name: myrole #角色资源名称subjects: #帐号授权配置- kind: ServiceAccount #帐号资源对象name: kube-admin #帐号资源名称namespace: kubernetes-dashboard #帐号所在的名称空间9.给集群管理员授权(ClusterRoleBinding)---kind: ServiceAccountapiVersion: v1metadata:name: kube-adminnamespace: kubernetes-dashboard---kind: ClusterRoleBindingapiVersion: rbac.authorization.k8s.io/v1metadata:name: kube-admin-roleroleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-adminsubjects:- kind: ServiceAccountname: kube-adminnamespace: kubernetes-dashboard
一.service资源
对内发布服务
Cluster IP
对外发布服务
NodePort
Ingress
二.dashboard:基于网页的k8s管理插件
三.资源服务与帐号权限
一.service:用户无法预知pod的ip地址以及所在的节点,多个相同的pod如何访问他们上面的服务
功能:
1.服务自动感知:pod迁移后访问service的ip,不受影响
2.服务的自动发现:服务创建时自动在内部dns上注册域名
服务名称.名称空间.svc.cluster.local
3.服务负载均衡:访问多个相同标签的服务
1.ClusterIP类型:集群内部发布服务(标签服务)
1.1 资源清单文件生成
#命令生成资源清单文件
kubectl create service clusterip websvc --tcp=80:80 --dry-run=client -o yaml
#自定义
[root@master ~]# vim websvc.yaml
---
kind: Service
apiVersion: v1
metadata:
name: websvc
spec:
type: ClusterIP #服务类型
selector:
app: web #标签
ports: #端口
- protocol: TCP #协议
port: 80 #服务的端口
targetPort: 80 #后端pod端口
1.2 解析域名
# 安装工具软件包
[root@master ~]# dnf install -y bind-utils
# 查看 DNS 服务地址
[root@master ~]# kubectl -n kube-system get service kube-dns
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
kube-dns ClusterIP 10.245.0.10 <none> 53/UDP,53/TCP,9153/TCP
# 域名解析测试
[root@master ~]# host websvc.default.svc.cluster.local 10.245.0.10
websvc.default.svc.cluster.local has address 10.245.5.18
1.3 通过标签完成请求转发,服务和service资源设置相同标签,创建后端应用
[root@master ~]# vim web1.yaml
---
kind: Pod
apiVersion: v1
metadata:
name: web1
labels:
app: web # 服务靠标签寻找后端
spec:
containers:
- name: apache
image: myos:httpd
1.4 给service服务设置固定的ip
---
kind: Service
apiVersion: v1
metadata:
name: websvc
spec:
type: ClusterIP
clusterIP: 10.245.1.80 #固定的ip
selector:
app: web
ports:
- protocol: TCP
port: 80
targetPort: 80
1.5 端口别名,解决后端pod中多个服务的端口不一致情况
service资源设置:
---
kind: Service
apiVersion: v1
metadata:
name: websvc
spec:
type: ClusterIP
clusterIP: 10.245.1.80 # 固定的ip
selector:
app: web
ports:
- protocol: TCP
port: 80
targetPort: myhttp # 端口别名
pod资源设置:
---
kind: Pod
apiVersion: v1
metadata:
name: web1
labels:
app: web # 服务靠标签寻找后端
spec:
containers:
- name: apache
image: myos:httpd
ports:
- name: myhttp # 使用别名
protocol: TCP
containerPort: 80
2.NodePort:使用基于端口映射(30000-32767),外部服务请求节点,节点将请求转发给内部的clusterip
nodeport--clusterip(service)--pod
2.1 NodePort对外发布服务
---
kind: Service
apiVersion: v1
metadata:
name: mysvc
spec:
type: NodePort # 服务类型
selector:
app: web
ports:
- protocol: TCP
port: 80
nodePort: 30080 # 映射端口号,不设置使用随机的端口号
targetPort: 80
外部服务通过端口转发访问服务:curl http://node-0001:30080
3.Ingress(规则+控制器):通过http和https访问集群内部服务,支持域名解析
ingress--service(clusterip)--pod
前提:必须先配置好clusterip
3.1 安装并配置ingress的规则
# 查询ingress控制器类名称
[root@master ~]# kubectl get ingressclasses.networking.k8s.io
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: simple
spec:
ingressClassName: ningx #控制器
rules: # 规则
- host: foo.com # 域名
http: # 协议
paths:
//前端参数
- path: /bar # 访问的url路径
pathType: Exact #路径的类型(Prefix:宽松模式,访问路径以及子路径的内容,Exact:严格模式)
//后端参数
backend: # 后端
service:
name: svc1 #服务名
port: #端口号
number: 80
status:
loadBalancer: {}
二.dashbord插件:基于网页的k8s用户界面
1.安装dashborad
[root@master ~]# cd plugins/dashboard
[root@master dashboard]# docker load -i dashboard.tar.xz
[root@master dashboard]# docker images|while read i t _;do
[[ "${t}" == "TAG" ]] && continue
[[ "${i}" =~ ^"harbor:443/".+ ]] && continue
docker tag ${i}:${t} harbor:443/plugins/${i##*/}:${t}
docker push harbor:443/plugins/${i##*/}:${t}
docker rmi ${i}:${t} harbor:443/plugins/${i##*/}:${t}
done
sed -ri 's,^(\s*image: )(.*/)?(.+),\1harbor:443/plugins/\3,' recommended.yaml
[root@master dashboard]# kubectl apply -f recommended.yaml
[root@master dashboard]# kubectl -n kubernetes-dashboard get pods
2.修改nodePort发布服务
---
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort
ports:
- port: 443
nodePort: 30443
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
三.资源与帐号权限
1.角色与权限分类
资源对象 描述 作用域
ServiceAccount 服务账号,为 Pod 中运行的进程提供了一个身份 单一名称空间
Role 角色,包含一组代表相关权限的规则 单一名称空间
RoleBinding 将权限赋予用户,Role、ClusterRole 均可使用 单一名称空间
ClusterRole 角色,包含一组代表相关权限的规则 全集群
ClusterRoleBinding 将权限赋予用户,只可以使用 ClusterRole 全集群
2.资源对象的权限(对资源类型进行权限管理)
create delete deletecollection get list
创建 删除 删除集合 获取属性 获取列表(多个)
patch update watch
补丁(补充某一部分内容) 更新 监控
3.serviceaccount创建服务帐号
# 资源对象模板
kubectl -n kubernetes-dashboard create serviceaccount kube-admin --dry-run=client -o yaml
[root@master ~]# vim admin-user.yaml
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: kube-admin
namespace: kubernetes-dashboard
[root@master ~]# kubectl -n kubernetes-dashboard get serviceaccounts
4.获取用户 token
[root@master ~]# kubectl -n kubernetes-dashboard create token kube-admin
6.自定义角色资源类型
# 角色资源对象模板
kubectl -n default create role myrole --resource=pods --verb=get,list --dry-run=client -o yaml
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: myrole
namespace: default
rules:
- apiGroups:
- ""
resources: # 设置的资源
- pods
verbs: #设置的授权
- get
- list
7.给kube-admin普通用户授权(RoleBinding)
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: kube-admin-role #授权策略名称
namespace: default
roleRef: #关联权限
apiGroup: rbac.authorization.k8s.io #角色对象组
kind: Role #角色资源对象
name: myrole #角色资源名称
subjects: #帐号授权配置
- kind: ServiceAccount #帐号资源对象
name: kube-admin #帐号资源名称
namespace: kubernetes-dashboard #帐号所在的名称空间
9.给集群管理员授权(ClusterRoleBinding)
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: kube-admin
namespace: kubernetes-dashboard
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: kube-admin-role
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: kube-admin
namespace: kubernetes-dashboard
相关文章:
k8s中,一.service发布服务,二.dashboard:基于网页的k8s管理插件,三.资源服务与帐号权限
一.service资源对内发布服务Cluster IP对外发布服务NodePortIngress 二.dashboard:基于网页的k8s管理插件 三.资源服务与帐号权限一.service:用户无法预知pod的ip地址以及所在的节点,多个相同的pod如何访问他们上面的服务功能:1.服务自动感知:pod迁移后访问service的ip,不受影响…...
Python的那些事第十六篇:Python的网络爬虫技术
基于Python的网络爬虫技术研究与应用 摘要 随着互联网的飞速发展,网络爬虫技术在数据采集、信息挖掘等领域发挥着重要作用。本文详细介绍了Python环境下常用的网络爬虫技术,包括Requests库、BeautifulSoup库以及Scrapy框架。通过对这些工具的使用方法、…...
Linux第106步_Linux内核RTC驱动实验
1、了解rtc_device结构体 1)、打开“include/linux/rtc.h” rtc_class_ops是需要用户根据所使用的RTC设备编写的,其结构体如下: struct rtc_class_ops { int (*ioctl)(struct device *, unsigned int, unsigned long);/*函数指针ioctl*/ int (*read_time)(struct device *,…...
《XSS跨站脚本攻击》
一、XSS简介 XSS全称(Cross Site Scripting)跨站脚本攻击,为了避免和CSS层叠样式表名称冲突,所以改为了XSS,是最常见的Web应用程序安全漏洞之一,位于OWASP top 10 2013/2017年度分别为第三名和第七名&…...
康谋方案 | BEV感知技术:多相机数据采集与高精度时间同步方案
随着自动驾驶技术的快速发展,车辆准确感知周围环境的能力变得至关重要。BEV(Birds-Eye-View,鸟瞰图)感知技术,以其独特的视角和强大的数据处理能力,正成为自动驾驶领域的一大研究热点。 一、BEV感知技术概…...
堆详解及C语言实现
堆结构与最大堆详解:从原理到C语言实现 1. 堆结构概述 1.1 定义与性质 堆(Heap)是一种特殊的完全二叉树数据结构,满足以下性质: 结构性:完全二叉树结构有序性:每个结点的值都≥(…...
基于STM32的智能鱼缸水质净化系统设计
🤞🤞大家好,这里是5132单片机毕设设计项目分享,今天给大家分享的是智能鱼缸水质净化系统。 目录 1、设计要求 2、系统功能 3、演示视频和实物 4、系统设计框图 5、软件设计流程图 6、原理图 7、主程序 8、总结 1、设计要求…...
python:csv文件批量导入mysql
1.导入sql文件到数据库中 mysql -u username -p要先创建一个空的数据库 CREATE DATABASE your_database_name;USE your_database_name;导入sql文件 source /path/to/your/file.sql;查看某个表格的结构,为后续数据插入做准备 DESCRIBE table_name;2.插入假数据到对应…...
第三十二周:Informer学习笔记
目录 摘要Abstract1 Informer1.1 预备知识1.2 模型框架1.3 实验分析 总结 摘要 本周学习的主要内容是Informer模型,Informer是一种专为长序列时间序列预测(LSTF) 设计的Transformer模型。相较于传统的Transformer,Informer采用Pr…...
计算机视觉核心任务
1. 计算机视频重要分类 计算机视觉的重要任务可以大致分为以下几类: 1. 图像分类(Image Classification) 识别图像属于哪个类别,例如猫、狗、汽车等。 应用场景:物品识别、人脸识别、医疗影像分类。代表模型&#…...
【python】matplotlib(animation)
文章目录 1、matplotlib.animation1.1、FuncAnimation1.2、修改 matplotlib 背景 2、matplotlib imageio2.1、折线图2.2、条形图2.3、散点图 3、参考 1、matplotlib.animation 1.1、FuncAnimation matplotlib.animation.FuncAnimation 是 Matplotlib 库中用于创建动画的一个…...
【Linux网络编程】之守护进程
【Linux网络编程】之守护进程 进程组进程组的概念组长进程 会话会话的概念会话ID 控制终端控制终端的概念控制终端的作用会话、终端、bash三者的关系 前台进程与后台进程概念特点查看当前终端的后台进程前台进程与后台进程的切换 作业控制相关概念作业状态(一般指后…...
Vue.js如何根据访问路径切换页面
Vue Router 在前端工程中,路由指的是,根据不同的访问路径,展示不同组件的内容。 Vue Router是Vue.js的官方路由。 Vue Router介绍。 要使用vue Router,得先安装 npm install vue-router4这里的4,指的是第4个版本 在s…...
Vue与Konva:解锁Canvas绘图的无限可能
前言 在现代Web开发中,动态、交互式的图形界面已成为提升用户体验的关键要素。Vue.js,作为一款轻量级且高效的前端框架,凭借其响应式数据绑定和组件化开发模式,赢得了众多开发者的青睐。而当Vue.js邂逅Konva.js,两者结…...
collabora online+nextcloud+mariadb在线文档协助
1、环境 龙蜥os 8.9 docker 2、安装docker dnf -y install dnf-plugins-core dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sed -i shttps://download.docker.comhttps://mirrors.tuna.tsinghua.edu.cn/docker-ce /etc/yum.repos.…...
linux基础命令1
1、linux目录结构——树型结构 根目录:/ 用户主目录(家目录):~或者 /home/edu 根目录下常见的文件夹: 2、常见的命令 1、pwd 查看当前目录 cd 切换目录 cd ~ 切换到家目录 2、ls 查看当前目录的文件信息 语法:ls [选项] [参…...
[LVGL] 在VC_MFC中移植LVGL
前言: 0. 在MFC中开发LVGL的优点是可以用多个Window界面做辅助扩展【类似GUIguider】 1.本文基于VC2022-MFC单文档框架移植lvgl8 2. gitee上下载lvgl8.3 源码,并将其文件夹改名为lvgl lvgl: LVGL 是一个开源图形库,提供您创建具有易于使用…...
Spring Boot整合MQTT
MQTT是基于代理的轻量级的消息发布订阅传输协议。 1、下载安装代理 进入mosquitto下载地址:Download | Eclipse Mosquitto,进行下载,以win版本为例 下载完成后,在本地文件夹找到下载的代理安装文件 使用管理员身份打开安装 安装…...
elasticsearch实战三 elasticsearch与mysql数据实时同步
一 介绍 elasticsearch数据不是一直不变的,需要与mysql、oracle等数据库的数据做同步。 本博客里涉及到的项目地址:https://www.aliyundrive.com/s/7bRWpTYsxWV 方案一: 同步调用,即操作mysql数据后,接着操作elastic…...
netcore openTelemetry+prometheus+grafana
一、netcore项目 二、openTelemetry 三、prometheus 四、grafana添加Dashborad aspire/src/Grafana/dashboards at main dotnet/aspire GitHub 导入:aspnetcore.json和aspnetcore-endpoint.json 效果:...
StochSync:可在任意空间中生成360°全景图和3D网格纹理
StochSync方法可以用于在任意空间中生成图像,尤其是360全景图和3D网格纹理。该方法利用了预训练的图像扩散模型,以实现零-shot生成,消除了对新数据收集和单独训练生成模型的需求。StochSync 结合了 Diffusion Synchronization(DS&…...
MybatisPlus较全常用复杂查询引例(limit、orderby、groupby、having、like...)
MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。以下是 MyBatis-Plus 中常用复杂查询(如 LIMIT、ORDER BY、GROUP BY、HAVING、LIKE 等)的引例: 1. 环境准备…...
大数据项目2:基于hadoop的电影推荐和分析系统设计和实现
前言 大数据项目源码资料说明: 大数据项目资料来自我多年工作中的开发积累与沉淀。 我分享的每个项目都有完整代码、数据、文档、效果图、部署文档及讲解视频。 可用于毕设、课设、学习、工作或者二次开发等,极大提升效率! 1、项目目标 本…...
win10的Unet项目导入阿里云训练
win10配置文件 annotated-types0.7.0 certifi2024.12.14 charset-normalizer3.4.1 click8.1.8 colorama0.4.6 contourpy1.1.1 cycler0.12.1 docker-pycreds0.4.0 eval_type_backport0.2.2 filelock3.16.1 fonttools4.55.3 fsspec2024.12.0 gitdb4.0.12 GitPython3.1.44 idna3.…...
Linux(20)——调度作业
目录 一、调度延迟的用户作业: 1、延迟的用户作业: 2、查看延迟的用户作业: 3、从计划中删除作业: 二、调度周期性用户作业: 1、周期性用户作业: 2、调度周期性用户作业: 3、用户作业格…...
DeepSeek赋能Vue:打造超丝滑进度条开发指南
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
在CT107D单片机综合训练平台上,8个数码管分别单独依次显示0~9的值,然后所有数码管一起同时显示0~F的值,如此往复。
题目:在CT107D单片机综合训练平台上,8个数码管分别单独依次显示0~9的值,然后所有数码管一起同时显示0~F的值,如此往复。 延时函数分析LED首先实现8个数码管单独依次显示0~9的数字所有数码管一起同时显示0~F的值,如此往…...
清除el-table选中状态 clearSelection
如何在Vue应用中使用Element UI的el-table组件,通过this.$refs.multipleTable.clearSelection()方法来清除所有选中行的状态。适合前端开发者了解表格组件的交互操作。 // el-table绑定ref<el-table selection-change"selsChange" ref"multipl…...
【算法】动态规划专题⑥ —— 完全背包问题 python
目录 前置知识进入正题模板 前置知识 【算法】动态规划专题⑤ —— 0-1背包问题 滚动数组优化 完全背包问题是动态规划中的一种经典问题,它与0-1背包问题相似,但有一个关键的区别:在完全背包问题中,每种物品都有无限的数量可用。…...
论文笔记-COLING2025-LLMTreeRec
论文笔记-COLING2025-LLMTreeRec: Unleashing the Power of Large Language Models for Cold-Start Recommendations LLMTreeRec: 释放大语言模型在冷启动推荐中的力量摘要1.引言2.框架2.1项目树构建2.2以LLM为中心的基于树的推荐2.2.1推荐链策略2.2.2检索策略 3.实验3.1实验设…...
c++ haru生成pdf输出饼图
#define PI 3.14159265358979323846 // 绘制饼图的函数 void draw_pie_chart(HPDF_Doc pdf, HPDF_Page page, float *data, int data_count, float x, float y, float radius) { float total 0; int i; // 计算数据总和 for (i 0; i < data_count; i) { tot…...
【Unity】Unity中物体的static属性作用
Unity中物体的static属性主要用于优化游戏性能和简化渲染过程。 Unity中物体的static属性的作用 优化渲染性能:当物体被标记为static时,Unity会在游戏运行时将其视为静止的物体,这意味着这些物体的渲染信息不会随着每一帧的更新而变化…...
Rust 测试指南:从入门到进阶
1. 测试基础:#[test] 属性 Rust 测试的基本单位是函数。只要在一个函数前面标注 #[test] 属性,那么在运行 cargo test 时,Rust 会自动识别并执行它。例如,新建一个库工程 adder,cargo new adder --lib,在 …...
Elasticsearch 生产集群部署终极方案
Elasticsearch 集群部署 1.集群部署1.1 新增用户1.2 优化操作系统1.3 JDK1.4 elasticsearch1.5 开机自启动 2.安全认证功能2.1 生成CA证书2.2 生成密钥2.3 上传至其他节点2.4 修改属主、属组2.5 配置文件添加参数2.6 各节点添加密钥库密码2.7 设置用户密码 1.集群部署 1.1 新增…...
电路笔记(元器件):AD 5263数字电位计(暂记)
AD5263 是四通道、15 V、256位数字电位计,可通过SPI/I2C配置具体电平值。 配置模式: W引脚作为电位器的抽头,可在A-B之间调整任意位置的电阻值。也可将W与A(或B)引脚短接,A-W间的电阻总是0欧姆,通过数字接口调整电位器…...
如何在电脑后台定时进行自动截图?自动截图后如何快捷保存?如何远程查看?
7-2 有时候需要对电脑的屏幕进行在后台连续性的截图保存,并且要可以远程查看,无界面,以达到对电脑的使用过程进行完全了解的目的,一般用于对小孩使用电脑的掌握,如果父母在外地,不方便就近管理,…...
解决react中函数式组件usestate异步更新
问题:在点击modal组件确认后 调用后端接口,使用setstateone(false)使modal组件关闭,但是设置后关闭不了,在设置setstateone(false)前后打印出了对应的stateone都为true,但…...
skia-macos源码编译
1、下载git-hub 源码 2、下载依赖库 3、编译,注意选项 bin/gn gen out/release --args"is_official_buildfalse skia_use_system_expatfalse skia_use_system_icufalse skia_use_libjpeg_turbofalse skia_use_system_libpngfalse skia_use_system_libwebpfal…...
本地部署DeepSeek(Mac版本,带图形化操作界面)
一、下载安装:Ollama 官网下载:Download Ollama on macOS 二、安装Ollama 1、直接解压zip压缩包,解压出来就是应用程序 2、直接将Ollama拖到应用程序中即可 3、启动终端命令验证 # 输入 ollama 代表已经安装成功。 4、下载模型 点击模型…...
离线统信系统的python第三方库批量安装流程
一、关于UOS本机 操作系统:UOS(基于Debian的Linux发行版) CPU:海光x86 二、具体步骤 1、在联网的电脑上用控制台的pip命令批量下载指定版本的第三方库 方法A cd <目标位置的绝对路径> pip download -d . --platform many…...
群晖安装Gitea
安装Docker Docker运行Gitea 上传gitea包,下载地址:https://download.csdn.net/download/hmxm6/90360455 打开docker 点击印象,点击新增,从文件添加 点击启动 可根据情况,进行高级设置,没有就下一步 点击应…...
jmeter逻辑控制器9
1,简单控制器2,录制控制器3,循环控制器4,随机控制器5,随机顺序控制器6,if控制器7,模块控制器8,Include控制器9,事物控制器本文永久更新地址: 1,简单控制器 不…...
Spring统一修改RequestBody
我们编写RestController时,有可能多个接口使用了相同的RequestBody,在一些场景下需求修改传入的RequestBody的值,如果是每个controller中都去修改,代码会比较繁琐,最好的方式是在一个地方统一修改,比如将he…...
自动化xpath定位元素(附几款浏览器xpath插件)
在 Web 自动化测试、数据采集、前端调试中,XPath 仍然是不可或缺的技能。虽然 CSS 选择器越来越强大,但面对复杂 DOM 结构时,XPath 仍然更具灵活性。因此,掌握 XPath,不仅能提高自动化测试的稳定性,还能在爬…...
go-elasticsearch创建ik索引并进行查询操作
es-go client引入gomod go get github.com/elastic/go-elasticsearch/v8latest连接es服务器(不经过安全校验) cfg : elasticsearch.Config{Addresses: []string{"http://localhost:9200",}, } es, err : elasticsearch.NewClient(cfg) if err ! nil {pa…...
【东莞常平】戴尔R710服务器不开机维修分享
1:2025-02-06一位老客户的朋友刚开工公司ERP服务器一台戴尔老服务器故障无法开机,于是经老客户介绍找到我们。 2:服务器型号是DELL PowerEdge R710 这个服务器至少也有15年以上的使用年限了。 3:客户反馈的故障问题为:…...
rebase和merge
rebase 和merge区别: rebase变基,改变基底:rebase会抹去提交记录。 git pull 默认merge,git pull --rebase 变基 rebase C、D提交属于feature分支,是基于master分支,在B提交额外拉出来的,当…...
SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现
SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现 目录 SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来(优…...
2025牛客寒假算法基础集训营5(补题)
C 小L的位运算 显然,如果两次反置的价格小于等于交换的价格,那么直接全部反置就好了。 反之,由于交换一定低于两次反置,我们尽可能用交换来消去不正确的位置。不正确的位置类型只有00,01,10,11&…...
Kotlin Android 环境搭建
Kotlin Android 环境搭建 引言 随着移动应用的日益普及,Android 开发成为了一个热门的技术领域。Kotlin 作为一种现代的编程语言,因其简洁、安全、互操作性强等特点,被越来越多的开发者所喜爱。本文将详细介绍 Kotlin Android 环境搭建的步骤,帮助您快速上手 Kotlin Andr…...