一、kubernetes k8s
k8s概述:
k8s的全称:kubernetes k8s
k8s的版本:1.30
1.20------------用的最多的版本,1.18-1.21
1.24------------>k8s的镜像不再使用docker,containerd
k8s的作用:
用于自动部署,自动扩展和管理“容器化应用程序”的开源系统。k8s是google基于go语言开发的自动化运维管理容器。
为什么要用k8s:
1、docker是单机模式,不能实现跨主机部署,无法实现集群化
2、docker不能实现高可用和负载均衡。docker没有自愈机制(docker应用一旦报错,就会进入停止状态,不能自动恢复)。
3、随着容器数量的上升,管理成本也跟着一起攀升。
4、docker没有预设模板,无法实现快速,大规模的容器的调度。
5、docker没有生命周期的管理工具,没有图形化工具。
k8s是管理容器化部署的微服务管理工具。
k8s的组件和功能*:
架构:主----从的架构
主节点:所有的操作都在主节点
从节点:工作节点,主节点发出的指令,在工作节点完成和实施。
主节点也可以作为工作节点,也可以进行容器应用程序的部署。(一般不用)
核心组件*:
master组件:
kube-apiserver:是集群的核心的核心,所有的操作都是由apiserver调用集群内其他组件实现,apiserver也是整个集群的入口,访问apiserver来访问集群,apiserver一旦故障,整个集群都将无法使用。
所有对象和资源的增删改查和监听都是由apiserver来实现的,所有的信息的变更,都是由apiserver处理,处理完之后交给etcd进行保存。
etcd:是k8s集群自己的存储服务,类似于数据库,etcd是一个分布式键值存储系统,集群的所有信息都保存在etcd,k8s的配置信息也保存在这里。etcd只能是奇数台,只有apiserver可以访问etcd,读写权限。其他组件只能通过apiserver的接口才能够获取etcd的数据。 ---配置存储中心。
kube-controller-manager:运行管理控制器,在k8s集群中,一个资源对应一个控制器,controller-manager就是来管理这些控制器。
node组件:
kubelet: node节点的监视器,以及于master节点的通讯器。node节点上的信息,kubelet会定时向master汇报节点的情况(apiserver)并且接受来自master节点的指示,采取调整措施。
在k8s集群中,每个node节点都会有一个kubelet,用来管理从节点的服务状态,信息等等,定时发送给master。
kube-proxy:在每个node节点上实现pod的网络代理。是service实现的载体
负责网络的规划和四层负载,写入iptables的数据包转发的规则,ipvs实现流量的分发。
docker: 容器引擎,拉去镜像,运行容器,都是由docker自己完成的。
控制器的类型:
1、node controller: 节点控制器,节点出现故障时发现和响应
2、replication controller 副本控制器,k8s集群中,一个资源对象可以创建多个副本,也就是有多个pod。pod的数量定义好之后,副本控制器来进行管理(pod的数量可以动态的变化)
3、endpoints controller 端点控制器,service和pod之间的对应关系,负载监听service和pod之间的变化关系。访问指定的服务,必须要知道对应的endpoint。
4、service account & token controller: 账户和令牌控制器,为新的命令空间内创建默认账户和api访问的令牌
5、resourcequota controller: 资源配额控制器,pod可以在配额的情况下使用系统资源
6、namespace controller: 命令空间控制器,管理namespace的生命周期
7、service controller: 服务控制器,k8s集群和外部的云平台之间的接口控制器。
kube-scheduler: 根据用户设置的调度算法,为新创建的pod选择一个合适的node节点。
k8s所有node节点的调度器,用户要部署应用时,scheduler会根据调度算法选择一个最合适的节点部署pod
预选策略
优先策略
数据流向图
核心的概念:
pod:pod里面包含有容器,一个pod可以有多个容器,但是k8s集群管理的最小单位就是pod。
pod中的容器共享网络,存储,资源配额。
pod控制器:pod启动的模板,也属于controller-manager的一部分,当我们定义好模板之后(YAML文件),定义好之后,所有的pod都会按照这一模板创建。
pod控制器的类型:
deployment: 无状态应用部署,最常用的方式
replicaset: 确保pod的数量。受控于deployment。
daemonset:确保所有节点都会运行一个pod。无法设置副本数。
statefulset:有状态部署,pod是按照序号排列,可以设定副本数。
job:一次性任务,根据用户的设置,任务执行完毕,pod就自动退出
cronjob:pod会按照定时任务执行,执行完毕退出。
label:标签,k8s特有的管理方式,分类管理资源对象。
pod service node replica label是一个键值对形式,key和value由用户来自行定义。
service-------------pod 1 2 3
k8s对外提供访问的方式:
service:只要创建好了pod,集群一定会为pod分配一个全局独立的ip地址。但是pod的生命周期有限,pod的ip地址会发生变化
10.244.0.0/16
service可以通过标签匹配pod的标签,就可以直接访问到对象pod的资源,无需再关联。
每个service都有一个固定的虚拟ip地址。cluster ip,只能局域网访问,自动的而且是动态的绑定后端的pod
service有多种类型,都是基于四层的转发,ip+端口
kube-proxy/来实现网络的转发,转发的形式:iptables,ipvs(主流转发模式,性能最好)
内网使用
ingress:
对外提供访问,可以使用7层代理,可以使用域名。
namespace:命名空间,k8s集群做一个人为的划分,逻辑上的一种隔离方式,每个项目都在自己的命名空间内部署,互相隔离,互不干扰。
集群搭建补充
pause镜像 保持pod中的容器运行的一个组件,pause会为每一个容器创建一个独立的网络空间,pod中的所有容器共用这个网络空间。pod中的容器不管是什么代码框架写的,都可以共享网络。当pod退出时,pause也会退出。
coredns:k8s集群自带的解析服务组件,提供集群内的服务器域名和ip的映射关系。
k8s集群搭建
61 master01 kubeadm kubelet kubectl 网络模式 flannel calico
62 node01 kubeadm kubelet kubectl 网络模式 flannel calico
63 node02 kubeadm kubelet kubectl 网络模式 flannel calico
安装docker
安装 kubeadm kubelet kubectl
tee /etc/apt/sources.list.d/kubernetes.list <<EOF
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
apt-get update
apt-get install -y kubelet=1.20.15-00 kubeadm=1.20.15-00 kubectl=1.20.15-00
主节点
从节点 输入密钥加入集群
kubeadm join 192.168.32.61:6443 --token 1rve5o.yortjuql4hpkh2y9 \
--discovery-token-ca-cert-hash sha256:e9b405c82301d9196e7bef697ade57b7d4b378d7868d16af7d3d569e9b988022
k8s的cn网络插件:
kube-prxoy属于节点组件,网络代理,实现服务的自动发现和负载均衡。
1、pod内的容器于容器之间的通信。
2、一个节点上的pod之间的通信,docker0网桥直接通信
3、不同节点上的pod之间的通信
通过物理网卡的ip地址和其他节点上的物理网卡的设备进行通信然后把流量转发到指定的pod内。
CNI作用:1、给每个pod提供一个全局的ip地址。
2、cni是一个标准接口,用于容器运行时调用网络插件,配置容器的网络。
设置容器的网络命令空间,ip地址,路由等等参数。
cni的插件类型:
flannel插件 是一种overlay网络模式,tcp数据包封装在另一种网络里面进行路由转发的模式,在二层的基础上创建一个逻辑上的网络层,可以实现跨节点的容器通信
工作模式:
1、udp模式 性能最差 基于应用层转发
2、vxlan 基于内核转发,最常用的方式
3、host-gw 性能最好,但是配置麻烦
vxlan模式的工作原理:
1、数据帧从主机上的pod1出发,二次封装源ip和目的ip。(flannel会通过apiserver保存一张路由表到etcd)
2、从pod1出发的数据包,经过docker0/cni0网络接口转到flannel.1接口(vxlan模式的默认接口)
3、flannel.1接口收到数据后添加vxlan头部,封装在udp报文中
vlan10
vlan20
4、主机A的网络收到flannel.1接口的数据包,封装主机A的ip,和主机B的ip。
5、数据包到达主机B,vxlan默认接口是8472,主机B收到数据包之后,解包,传送到8472端口,就是flannel.1的接口,然后再解包,把数据转发到指定的pod。
UDP网络:flannel0
vxlan: flannel.1
calico插件:把主机作为路由器,使用BGP同步路由的方式转发数据包
BGP动态路由,自动实现路由选择。
可以让在集群内不同节点上创建的pod都拥有全局内唯一的ip地址。
calico的组成部分:
1、felix 维护宿主机上的路由规则,以及FIB(转发信息库)。
2、BIRD 分发路由规则
3、confd 配置管理组件
转发原理:
为每一个容器设置一个veth pair的设备。相当于桥接的功能,一端接入宿主机的网络空间,veth pair的另一端配置一个路由规则,接入容器docker0/cni0.
路由传播:
1、Felix在节点上添加pod的ip地址,添加pod的子网路由
2、BIRD在集群内节点上建立BGP的会话,广播本机的路由节点
3、集群内的节点学习整个路由,如何能够到达其他节点的pod的下一跳的地址。
4、宿主机直接把数据包发送到目标主机,通过veth pair设备直接转发到目标pod。
基础操作命令
kubectl create deployment nginx --image=nginx:1.22 --replicas=3
kubectl expose deployment nginx --port=80 --type=NodePort
自动补全
查看集群节点状态
查看默认命名空间里的pod状态
-n指定命名空间
显示详细信息
基于控制器创建的pod,删除pod相当于重启,不能把pod完全销毁
删除控制器
查看版本
查看api资源对象
kubectl api-resources
查看具体资源的详细信息
查看完整的信息
查看pod日志
进入pod容器内部
pod数量的扩缩容*(pod的副本数)
手动改:
1、命令行
kubectl scale deployment nginx --replicas=1
2、改pod的配置文件,修改副本数
自动扩缩容:
HPA 根据cpu的负载自动扩缩容
相关文章:
一、kubernetes k8s
k8s概述: k8s的全称:kubernetes k8s k8s的版本:1.30 1.20------------用的最多的版本,1.18-1.21 1.24------------>k8s的镜像不再使用docker,containerd k8s的作用: 用于自动部署,自动扩展和管理“容器化应…...
C#、.Net 中级高级架构管理面试题杂烩
1、简述值类型和引用类型的区别 存储位置:值类型变量直接存储数据的值,通常存储在栈上;引用类型变量存储的是对象在堆上的引用地址。 内存管理:值类型的内存由系统自动管理,当超出作用域时自动释放;引用类…...
ArrayList和LinkedList有什么区别?在什么情况下使用ArrayList更高效?
ArrayList和LinkedList在Java中是两种常用的数据结构,分别基于数组和链表实现。它们在性能、内存使用和适用场景上各有特点。 ArrayList与LinkedList的主要区别 数据结构: ArrayList:基于动态数组实现,元素存储在连续的内存空间…...
KITE提示词框架:引导大语言模型的高效新工具
大语言模型的应用日益广泛。然而,如何确保这些模型生成的内容在AI原生应用中符合预期,仍是一个需要不断探索的问题。以下内容来自于《AI 原生应用开发:提示工程原理与实战》一书(京东图书:https://item.jd.com/1013604…...
Spring 整合 MyBatis:核心知识点详解
一、Spring 整合 MyBatis 的优势 依赖注入:Spring 的 IOC 容器可以管理 MyBatis 的组件(如 SqlSessionFactory、Mapper 接口等),减少手动创建对象的繁琐。 事务管理:Spring 提供了声明式事务管理,可以轻松…...
centos docker安装
一、前置条件 安装gcc和c: yum -y install gcc yum -y install gcc-c 二、卸载旧版本 如果之前安装过Docker,需要先卸载旧版本: sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logr…...
推荐一款 免费的SSL,自动续期
支持自动续期 、泛域名 、可视化所有证书时效性 、可配置CDN 的一款工具。免费5个泛域名和1个自动更新。 链接 支持:nginx、通配符证书、七牛云、腾讯云、阿里云、CDN、OSS、LB(负载均衡) 执行自动部署脚本 提示系统过缺少crontab 安装cro…...
python-leetcode 24.回文链表
题目: 给定单链表的头节点head,判断该链表是否为回文链表,如果是,返回True,否则,返回False 输入:head[1,2,2,1] 输出:true 方法一:将值复制到数组中后用双指针法 有两种常用的列表实现&#…...
利用kali linux 进行自动化渗透测试
本方案旨在自动化创建渗透测试全流程 一、架构 1.智能信息收集体系 class IntelligentOSINT:def __init__(self, target):self.target targetself.intelligence_sources [OSINT_Platforms,DeepWeb_Crawlers, SocialMedia_Trackers,ML_Correlation_Engine]def advanced_col…...
蓝桥杯试题:冒泡排序 选择排序
一、问题描述 在一个神秘的岛屿上,有一支探险队发现了一批宝藏,这批宝藏是以整数数组的形式存在的。每个宝藏上都标有一个数字,代表了其珍贵程度。然而,由于某种神奇的力量,这批宝藏的顺序被打乱了,探险队…...
curl与telnet的区别
协议支持:curl支持多种协议,如HTTP、HTTPS、FTP等,而telnet主要用于基于TCP协议的连接。 功能:curl是一个功能强大的工具,可以用来发送各种HTTP请求、下载文件等,而telnet主要用于在远程服务器上进行简单的…...
防火墙综合练习2
准备阶段 实验拓扑图如下: 试验要求如下: 需求一:完成相关配置 需求二:配置DHCP协议 需求三:防火墙安全区域配置 需求四:防火墙地址组信息 需求五:管理员 需求六:用户认证…...
leetcode_26删除有序数组中的重复项
1. 题意 给定一个重复数组,删除其中的重复项目。 2. 题解 双指针 一个指针指向有序不重复数组的最后一个数,另外一个数遍历整个数组,若两个指针对应用的数不相同,有序数组的指针右移,将数填入。 代码一 class Sol…...
SQLServer的创建,表创建,主键,约束,模糊查询
设置 注意: 设置完成之后 重新启动 创建数据库 注意: 这个目标路径必须要有该文件名的文件夹 -- 指向 master 数据库,告诉它我们要创建一个新的数据库操作了 use master go-- 创建数据库 create database StudentManageDB on primary (-- 以下四个组成部分缺一不可…...
钉钉位置偏移解决,钉钉虚拟定位打卡
虚拟定位打卡工具 一,介绍免费获取工具 一,介绍 提到上班打卡,职场人的内心戏估计能拍成一部连续剧。打卡,这俩字仿佛自带“紧箍咒”,让无数打工人又爱又恨。想象一下,你气喘吁吁地冲进办公室,…...
自有服务与软件包
—— 小 峰 编 程 目录 编辑 一、自有服务概述 二、systemctl管理服务命令 1、显示服务 2、查看启动和停止服务 3、服务持久化 三、常用自有服务(ntp,firewalld,crond) 1、ntp时间同步服务 1)NTP同步服务器原理 2)到哪里去找NPT服务…...
PHP之hyperf学习笔记
Hyperf Model,Dao,Service,Contronller 路由 使用文件来配置路由,就是和laravel一样的 Router::addGroup(["middleware" > ["web", "auth"],"namespace" > "Hyperf\HttpServer\Contr…...
C++STL(六)——list模拟
目录 本次所需实现的三个类一、结点类的模拟实现构造函数 二、迭代器类的模拟实现为什么有迭代器类迭代器类的模板参数说明构造函数运算符的重载- -运算符的重载和!运算符的重载*运算符的重载->运算符的重载引入模板第二个和第三个参数 三、list的模拟实现3.1 默认成员函数构…...
Spring MVC 拦截器(Interceptor)与过滤器(Filter)的区别?
1、两者概述 拦截器(Interceptor): 只会拦截那些被 Controller 或 RestController 标注的类中的方法处理的请求,也就是那些由 Spring MVC 调度的请求。过滤器(Filter): 会拦截所有类型的 HTTP …...
MySQL查询主从同步状态
在MySQL中,监控和检查主从复制(Master-Slave replication)的状态是非常重要的,这有助于确保数据的一致性和完整性。以下是一些常用的方法,可以帮助你查询MySQL的主从数据同步状态: 1. 查看主服务器状态 首…...
docker 安装 --在线方式
第一步: #!/bin/bash sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo sudo sed -i -e /mirrors.cloud.aliyuncs.com/d -e /mirrors.aliyuncs.com/d /etc/yum.repos.d/CentOS-Base.repo sudo curl -o /etc/yum.repo…...
Linux系统-centos防火墙firewalld详解
Linux系统-centos7.6 防火墙firewalld详解 1 firewalld了解 CentOS 7.6默认的防火墙管理工具是firewalld,它取代了之前的iptables防火墙。firewalld属于典型的包过滤防火墙或称之为网络层防火墙,与iptables一样,都是用来管理防火墙的工具&a…...
物联网软件开发与应用方向应该怎样学习,学习哪些内容,就业方向是怎样?(文末领取整套学习视频,课件)物联网硬件开发与嵌入式系统
随着物联网技术的飞速发展,物联网软件开发与应用方向成为了众多开发者关注的焦点。那么,如何在这个领域中脱颖而出呢?本文将为你提供一份详细的学习指南,帮助你从零开始,逐步掌握物联网软件开发与应用的核心技能。 一…...
【大模型】DeepSeek与chatGPT的区别以及自身的优势
目录 一、前言二、核心技术对比2.1 模型架构设计2.1.1 ChatGPT的Transformer架构2.1.2 DeepSeek的混合架构 2.2 训练数据体系2.2.1 ChatGPT的数据特征2.2.2 DeepSeek的数据策略 三、应用场景对比3.1 通用场景表现3.1.1 ChatGPT的强项领域3.2.2 DeepSeek的专项突破 3.3 响应效率…...
常用的python库-安装与使用
常用的python库函数 yield关键字openslide库openslide库的安装-linuxopenslide的使用openslide对象的常用属性 cv2库numpy库ASAP库-multiresolutionimageinterface库ASAP库的安装ASAP库的使用 concurrent.futures.ThreadPoolExecutorxml.etree.ElementTree库skimage库PIL.Image…...
qt widget和qml界面集成到一起
将 Qt Widgets 和 QML 界面集成在一起可以利用 QQuickWidget 或 QQuickView。以下是基本步骤: 使用 QQuickWidget 创建 Qt Widgets 项目: 创建一个基于 Widgets 的应用程序。添加 QQuickWidget: 在你的窗口或布局中添加 QQuickWidget。 例如,可以在 QMainWindow 中使用: …...
mybatis 是否支持延迟加载?延迟加载的原理是什么?
1. MyBatis 是否支持延迟加载? 是的,MyBatis 支持延迟加载。延迟加载的主要功能是推迟数据加载的时机,直到真正需要时再去加载。这种方式能提高性能,尤其是在处理关系型数据时,可以避免不必要的数据库查询。 具体来说…...
MariaDB MaxScale实现mysql8主从同步读写分离
一、MaxScale基本介绍 MaxScale是maridb开发的一个mysql数据中间件,其配置简单,能够实现读写分离,并且可以根据主从状态实现写库的自动切换,对多个从服务器能实现负载均衡。 二、MaxScale实验环境 中间件192.168.121.51MaxScale…...
【图片转换PDF】多个文件夹里图片逐个批量转换成多个pdf软件,子文件夹单独合并转换,子文件夹单独批量转换,基于Py的解决方案
建筑设计公司在项目执行过程中,会产生大量的设计图纸、效果图、实景照片等图片资料。这些资料按照项目名称、阶段、专业等维度存放在多个文件夹和子文件夹中。 操作需求:为了方便内部管理和向客户交付完整的设计方案,公司需要将每个项目文件…...
基于logback+fastjson实现日志脱敏
一、需求背景 日常工作中,必不可免的会将一些敏感信息,如用户名、密码、手机号、身份证号、银行账号等等打印出来,但往往为了安全,这些信息都需要进行脱敏。脱敏实际就是用一些特殊字符来替换部分值。 JSON 和 JSONObject Fastj…...
13.10 统一配置管理中心:TranslationChain 架构的简洁配置管理方案
统一配置管理中心:TranslationChain 架构的简洁配置管理方案 1. 集中式配置文件设计 config/settings.yaml: # 多环境配置开关 env: production # development|test|production# 模型管理中心 models:openai:class: langchain_openai.ChatOpenAIparams...
deepseek大模型集成到idea
1 下载插件 安装CodeGPT打开 IntelliJ IDEA,鼠标点击左上角导航栏,File --> Setting 2 申请API key 3 配置deepseek 在 Settings 界面中的搜索框中,搜索 CodeGPT,路径 Tools --> CodeGPT --> Providers --> 如下一…...
Cocos2d-x 游戏开发-打包apk被默认自带了很多不必要的权限导致apk被报毒,如何在Cocos 2d-x中强制去掉不必要的权限-优雅草卓伊凡
Cocos2d-x 游戏开发-打包apk被默认自带了很多不必要的权限导致apk被报毒,如何在Cocos 2d-x中强制去掉不必要的权限-优雅草卓伊凡 实战操作 去除权限 要在 Cocos2d-x 开发的游戏中去掉 APK 自带权限,可以按照以下步骤操作: 编辑 AndroidMa…...
gitlab多项目流水线
背景是我有多个项目,希望其中一个项目被触发的时候,联动另外一个项目自动打包。然后我就看文档尝试操作了一下,所以有本文。 官方文档参考:https://gitlab.cn/docs/14.5/jh/ci/pipelines/multi_project_pipelines.html 不知道是不…...
GWO优化决策树回归预测matlab
灰狼优化算法(Grey Wolf Optimizer,简称 GWO)是一种群智能优化算法,由澳大利亚格里菲斯大学的 Mirjalii 等人于 2014 年提出。该算法的设计灵感源自灰狼群体的捕食行为,核心思想是模仿灰狼社会的结构与行为模式。 在本…...
2025影视泛目录站群程序设计_源码二次开发新版本无缓存刷新不变实现原理
1. 引言 本设站群程序计书旨在详细阐述苹果CMS泛目录的创新设计与实现,介绍无缓存刷新技术、数据统一化、局部URL控制及性能优化等核心功能,以提升网站访问速度和用户体验。 2. 技术概述 2.1 无缓存刷新技术 功能特点: 内容不变性&#x…...
在Linux上创建虚拟网卡
在 Linux 上创建虚拟网卡可以通过多种方式进行,常见的方式是使用 ip 命令来配置虚拟网卡。以下是一个简单的步骤指南,用于创建虚拟网卡: 步骤 1: 查看现有的网络接口 首先,查看当前网络接口的状态,可以使用以下命令&…...
JVM 类加载子系统在干什么?
JVM 类加载子系统是什么? 类加载子系统(Class Loader Subsystem)是 JVM 负责 加载、链接和初始化 .class 文件的组件。它的主要作用是将字节码文件加载进 JVM 并准备执行。 类加载器(ClassLoader)是 字节码的搬运工&…...
STM32的HAL库开发---高级定时器---互补输出带死区实验
一、互补输出简介 互补输出:OCx输出高电平,则互补通道OCxN输出低电平。OCx输出低电平,则互补通道OCxN输出高电平。 带死区控制的互补输出:OCx输出高电平时,则互补通道OCxN过一会再输出输出低电平。这个时间里输出的电…...
AntDesign X 报错:Cannot read properties of undefined (reading ‘_context‘)
解决: Cannot read properties of undefined (reading _context) 报错问题 我是基于umi的前端工程,react版本18.2, package.json,全部安装完之后的 "react": "^18.2.0", "ant-design/x": "^1…...
Day62_补20250210_图论part6_108冗余连接|109.冗余连接II
Day62_20250210_图论part6_108冗余连接|109.冗余连接II 108冗余连接 【把题意转化为并查集问题】 题目 有一个图,它是一棵树,他是拥有 n 个节点(节点编号1到n)和 n - 1 条边的连通无环无向图(其实就是一个线形图&am…...
06排序 + 查找(D2_查找(D1_基础学习))
目录 温故而知新 -------------------------------- 讲解一:基础理论 一、什么是查找 二、为什么需要查找 -------------------------------- 讲解二:代码学习 一、顺序查找 1. 算法原理 2. 算法步骤 3. Java代码实现 4. 适用场景 5. 知识小…...
SystemVerilog基础:disable fork语句
相关阅读 SystemVerilog基础https://blog.csdn.net/weixin_45791458/category_12517449.html?spm1001.2014.3001.5482 一、进程的概念 在学习disable fork语句之前,首先的了解SystemVerilog中的进程概念:进程是一系列可以独立执行的一个或多个表达式。…...
基于钉钉API的连接器实现:企业数据集成与自动化管理
文章目录 概要背景与需求钉钉API概述连接器实现小结 概要 在当今数字化时代,企业面临着海量数据的管理与整合挑战。钉钉作为国内广泛使用的办公协作平台,提供了丰富的API接口,支持企业进行数据集成与自动化管理。本文将介绍如何通过钉钉API实…...
windows server独立部署Qwen2.5-vl-7B
服务器配置信息 CPU:64G GPU:48G(RTX 4090) 一、使用conda下载模型 Qwen2.5-VL-7B-Instruct conda下载 conda create --name qwen python3.11 conda activate qwen 魔塔社区下载模型 pip install modelscope modelscope downl…...
nginx安装并部署前端项目【包括Linux与Windows系统】
nginx安装并部署前端项目 一、 nginx下载与安装二、 前端项目部署三、 常用命令&注意事项四、 常见问题【持续更新】 一、 nginx下载与安装 ① 下载地址:https://nginx.org/en/download.html ② 下载教程:根据不同操作系统(Linux或者Wi…...
pytest生成报告no tests ran in 0.01s
除了基本的环境配置、用例名要以test_开头,有个地方是我自己忽略了,在执行时没有指定用例文件,所以没有找到。 if __name__ __main__:pytest.main(["testcases/test_demo.py","-svq", __file__, --alluredir./allure-r…...
前后端服务配置
1、安装虚拟机(VirtualBox或者vmware),在虚拟机上配置centos(选择你需要的Linux版本),配置如nginx服务器等 1.1 VMware 下载路径Sign In注册下载 1.2 VirtualBox 下载路径https://www.virtualbox.org/wiki/Downloads 2、配置服…...
一文学会:用DeepSeek R1/V3 + AnythingLLM + Ollama 打造本地化部署的个人/企业知识库,无须担心数据上传云端的泄露问题
文章目录 前言一、AnythingLLM 简介&基础应用1.主要特性2.下载与安装3.配置 LLM 提供商4.AnythingLLM 工作区&对话 二、AnythingLLM 进阶应用:知识增强使用三、AnythingLLM 的 API 访问四、小结1.聊天模式2.本地存储&向量数据库 前言 如果你不知道Olla…...
[学习笔记] Kotlin Compose-Multiplatform
Compose-Multiplatform 原文:https://github.com/zimoyin/StudyNotes-master/blob/master/compose-multiplatform/compose.md Compose Multiplatform 是 JetBrains 为桌面平台(macOS,Linux,Windows)和Web编写Kotlin UI…...