实战-Sealos一键部署k8s集群-2024.3.7(测试成功)

2024-03-07 13:44

本文主要是介绍实战-Sealos一键部署k8s集群-2024.3.7(测试成功),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

[toc]

原文链接

实战-Sealos一键部署k8s集群-2024.3.7(测试成功) | 彦

推荐文章

我的开源项目:

开源项目 | 彦

实验环境

centos7.6 1810,5.4.270-1.el7.elrepo.x86_64sealos v5.0.0-beta4k8s v1.28.7  (当前时间:2024年3月7日 k8s最新版本为v1.29.2)
helm:v3.9.4
cilium:v1.14.7

实验软件

无。

Sealos 简介

在对容器运行时和 K8s 有了一个整体上的认识后,接下来我们就需要来搭建一个 K8s 集群了,搭建 K8s 的方式方法有很多,主要有二进制和 Kubeadm(容器)两种方式,对于初学者来说不建议使用二进制方式搭建,因为二进制方式搭建 K8s 集群需要手动安装各种组件,而且还需要手动配置各种组件,非常麻烦,而且容易出错。

更推荐大家使用 Kubeadm 快速搭建一套集群起来,先用起来,等熟悉了之后再去了解各个组件的原理和配置。

另外,还有一种方式是使用 Kind 工具来搭建集群,Kind 是一个用于在 Docker 容器中运行本地 Kubernetes 集群的工具,它使用 Docker 容器作为节点,这样就可以在本地快速搭建一个 K8s 集群,非常适合用于本地开发和测试。

前面四期我们都是重点讲解的使用 Kubeadm 来搭建 K8s 集群,这一期我们讲使用一个更方便快捷的工具 Sealos 来搭建 K8s 集群,Sealos 是一个基于 Kubeadm 的 K8s 一键安装工具,它可以帮助我们快速搭建一个 K8s 集群,而且还可以帮我们自动安装一些常用的插件,甚至要搭建一个高可用的集群也是非常方便的。

Sealos官方文档:

什么是 Sealos? | Sealos: 专为云原生开发打造的以 K8s 为内核的云操作系统

Sealos 是一款以 Kubernetes 为内核的云操作系统发行版。它以云原生的方式,抛弃了传统的云计算架构,转向以 Kubernetes 为云内核的新架构,使企业能够像使用个人电脑一样简单地使用云。

用户将可以像使用个人电脑一样在 Kubernetes 上一键安装任意高可用分布式应用,几乎不需要任何专业的交付和运维成本。同时,利用独特的集群镜像能力,用户可将任意分布式应用打包成 OCI 镜像,自由组合各种分布式应用,轻松订制所需的云。通过强大且灵活的应用商店功能,可满足各类用户的多样化需求。

另外 Sealos 也提供了一套强大的工具,可以让我们便利地管理整个 Kubernetes 集群的生命周期。使用 Sealos,可以安装一个不包含任何组件的裸 Kubernetes 集群。此外,Sealos 还可以在 Kubernetes 之上,通过集群镜像能力组装各种上层分布式应用,如数据库、消息队列等。Sealos 不仅可以安装一个单节点的 Kubernetes 开发环境,还能构建数千节点的生产高可用集群。

Sealos 具有自由伸缩集群、备份恢复、释放集群等功能,即使在离线环境中,Sealos 也能提供出色的 Kubernetes 运行体验。

1、环境准备

这里我们将提供 3 个节点,都是 CentOS Linux release 7.6.1810 系统,内核版本:5.4.270-1.el7.elrepo.x86_64

🚩 以下是一些基本的安装要求:

  • 每个集群节点应该有不同的主机名。主机名不要带下划线。
  • 所有节点的时间需要同步。
  • 需要在 K8s 集群的第一个 master 节点上运行 sealos run 命令,目前集群外的节点不支持集群安装。
  • 建议使用干净的操作系统来创建集群。不要自己装 Docker!
  • 支持大多数 Linux 发行版,例如:Ubuntu、CentOS、Rocky linux。
  • 支持 Docker Hub 中的所有 Kubernetes 版本。
  • 支持使用 Containerd 作为容器运行时。
  • 在公有云上安装请使用私有 IP。

开始配置:(以下3个小步骤需要在3个节点都执行!)

(1)配置域名解析

cat >> /etc/hosts << EOF
172.29.9.80 master
172.29.9.81 node1
172.29.9.82 node2
EOF

在每个节点上添加 hosts 信息:

节点的 hostname 必须使用标准的 DNS 命名,另外千万别用默认 localhost 的 hostname,会导致各种错误出现的。在 Kubernetes 项目里,机器的名字以及一切存储在 Etcd 中的 API 对象,都必须使用标准的 DNS 命名(RFC 1123)。可以使用命令 hostnamectl set-hostname xxx 来修改 hostname。

(2)配置防火墙等、关闭swap分区、时间服务;

systemctl stop firewalld && systemctl disable  firewalld
systemctl stop NetworkManager && systemctl disable  NetworkManagersetenforce 0
sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/configswapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstabyum install chrony -y
systemctl enable chronyd --now
chronyc sources

(3)升级内核到最新版本

uname -a# 载入公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装ELRepo
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm# 载入elrepo-kernel元数据
yum --disablerepo=\* --enablerepo=elrepo-kernel repolist
# 查看可用的rpm包
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
# 安装最新版本的lt kernel
yum --disablerepo=\* --enablerepo=elrepo-kernel install kernel-lt -y
#如果是安装指定版本
#yum --enablerepo=elrepo-kernel install kernel-lt-devel-5.4.225-1.el7.elrepo.x86_64 kernel-lt-5.4.225-1.el7.elrepo.x86_64 -y #注意包的个数#yum install -y kernel-lt
if [ $? -eq 0 ];thengrub2-set-default 0 && grub2-mkconfig -o /etc/grub2.cfggrubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"
fi
echo 'Please reboot your system quick !!!'reboot
uname -a

升级后当前内核版本:

Linux master 5.4.270-1.el7.elrepo.x86_64

升级前默认系统内核:

kernel-3.10.0-957.el7.x86_64

因为本次使用的CNI是cilium,因此对内核的版本要求会高些,这里需要先升级内核的。(一般是5以上就行)

具体内核升级脚本:

实战-centos7升级内核(yum方式)-2023.1.5(测试成功) | 彦

2、部署

只需要在master节点操作,node节点会通过master ssh自动操作的。

  • 首先我们需要在 master 节点下载 Sealos 命令行工具,我们可以通过运行命令来获取版本列表:

记得提前安装好jq工具:

yum install -y epel-release
yum install -y jq

curl --silent "https://api.github.com/repos/labring/sealos/releases" | jq -r '.[].tag_name'

  • 设置 VERSION 环境变量为 latest 版本号,或者将 VERSION 替换为您要安装的 Sealos 版本:

VERSION=`curl -s https://api.github.com/repos/labring/sealos/releases/latest | grep -oE '"tag_name": "[^"]+"' | head -n1 | cut -d'"' -f4`

本次这里使用如下方式:

VERSION=v5.0.0-beta4

这里我们使用的版本为 v5.0.0-beta4

  • 然后可以使用下面的命令自动下子二进制文件:

curl -sfL https://mirror.ghproxy.com/https://raw.githubusercontent.com/labring/sealos/main/scripts/install.sh | PROXY_PREFIX=https://mirror.ghproxy.com sh -s ${VERSION} labring/sealos

扩展:(本次可忽略)

由于我们这里是 Ubuntu 系统,还可以使用包管理工具安装:

$ echo "deb [trusted=yes] https://apt.fury.io/labring/ /" | sudo tee /etc/apt/sources.list.d/labring.list
$ sudo apt update
$ sudo apt install sealos
$ sealos version
SealosVersion:buildDate: "2023-10-30T16:19:05Z"compiler: gcgitCommit: f39b2339gitVersion: 4.3.7goVersion: go1.20.10platform: linux/amd64

  • 一键安装

要使用 Sealos 安装 Kubernetes 集群非常简单,只需要在 master 节点上运行 sealos run 命令,然后指定一些参数即可。比如我们这里安装一个 v1.27.10 版本的集群(v1.28.x 版本暂时有问题),并使用 Cilium 网络插件,然后指定 masternode 节点的 IP 地址,最后指定 ssh 的密码即可:

$ sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.28.7 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.14.7 \--masters 172.29.9.80 \--nodes 172.29.9.81,172.29.9.82 -p your_host_password
172.29.9.82:22	* The Kubelet was informed of the new secure connection details.
172.29.9.82:22	
172.29.9.82:22	Run 'kubectl get nodes' on the control-plane to see this node join the cluster.
172.29.9.82:22	
2024-03-07T09:36:09 info succeeded in joining 172.29.9.82:22 as worker
172.29.9.81:22	
172.29.9.81:22	This node has joined the cluster:
172.29.9.81:22	* Certificate signing request was sent to apiserver and a response was received.
172.29.9.81:22	* The Kubelet was informed of the new secure connection details.
172.29.9.81:22	
172.29.9.81:22	Run 'kubectl get nodes' on the control-plane to see this node join the cluster.
172.29.9.81:22	
2024-03-07T09:36:10 info succeeded in joining 172.29.9.81:22 as worker
2024-03-07T09:36:10 info start to sync lvscare static pod to node: 172.29.9.82:22 master: [172.29.9.80:6443]
2024-03-07T09:36:10 info start to sync lvscare static pod to node: 172.29.9.81:22 master: [172.29.9.80:6443]
172.29.9.81:22	2024-03-07T09:36:10 info generator lvscare static pod is success
172.29.9.82:22	2024-03-07T09:36:10 info generator lvscare static pod is success
2024-03-07T09:36:10 info Executing pipeline RunGuest in CreateProcessor.
ℹ️  Using Cilium version 1.14.7
🔮 Auto-detected cluster name: kubernetes
🔮 Auto-detected kube-proxy has been installed
2024-03-07T09:36:12 info succeeded in creating a new cluster, enjoy it!
2024-03-07T09:36:12 info ___           ___           ___           ___       ___           ___/\  \         /\  \         /\  \         /\__\     /\  \         /\  \/::\  \       /::\  \       /::\  \       /:/  /    /::\  \       /::\  \/:/\ \  \     /:/\:\  \     /:/\:\  \     /:/  /    /:/\:\  \     /:/\ \  \_\:\~\ \  \   /::\~\:\  \   /::\~\:\  \   /:/  /    /:/  \:\  \   _\:\~\ \  \/\ \:\ \ \__\ /:/\:\ \:\__\ /:/\:\ \:\__\ /:/__/    /:/__/ \:\__\ /\ \:\ \ \__\\:\ \:\ \/__/ \:\~\:\ \/__/ \/__\:\/:/  / \:\  \    \:\  \ /:/  / \:\ \:\ \/__/\:\ \:\__\    \:\ \:\__\        \::/  /   \:\  \    \:\  /:/  /   \:\ \:\__\\:\/:/  /     \:\ \/__/        /:/  /     \:\  \    \:\/:/  /     \:\/:/  /\::/  /       \:\__\         /:/  /       \:\__\    \::/  /       \::/  /\/__/         \/__/         \/__/         \/__/     \/__/         \/__/Website: https://www.sealos.io/Address: github.com/labring/sealosVersion: 5.0.0-beta4-5c22d8aa

注意:

上面我们用到的集群镜像都可以在 cluster-image-docs 仓库里找到。

3、验证

  • 安装完成后,我们可以使用 kubectl get nodes 命令来查看集群的节点信息:

[root@master ~]#kubectl get po -A
NAMESPACE     NAME                               READY   STATUS    RESTARTS      AGE
kube-system   cilium-5lcvs                       1/1     Running   0             47m
kube-system   cilium-m7wtk                       1/1     Running   0             47m
kube-system   cilium-mplk4                       1/1     Running   0             47m
kube-system   cilium-operator-64b8744fc5-llvgw   1/1     Running   1 (46m ago)   47m
kube-system   coredns-5dd5756b68-dq9rr           1/1     Running   0             47m
kube-system   coredns-5dd5756b68-dzsx8           1/1     Running   0             47m
kube-system   etcd-master                        1/1     Running   0             47m
kube-system   kube-apiserver-master              1/1     Running   0             47m
kube-system   kube-controller-manager-master     1/1     Running   0             47m
kube-system   kube-proxy-5pw7p                   1/1     Running   0             47m
kube-system   kube-proxy-6nkq8                   1/1     Running   0             47m
kube-system   kube-proxy-6qkmr                   1/1     Running   0             47m
kube-system   kube-scheduler-master              1/1     Running   0             47m
kube-system   kube-sealos-lvscare-node1          1/1     Running   0             46m
kube-system   kube-sealos-lvscare-node2          1/1     Running   0             46m
[root@master ~]#kubectl get node
NAME     STATUS   ROLES           AGE   VERSION
master   Ready    control-plane   47m   v1.28.7
node1    Ready    <none>          47m   v1.28.7
node2    Ready    <none>          47m   v1.28.7
[root@master ~]#

完成后,给当前虚机做一个快照。

4、扩展

  • 如果想要增加一个 master 节点,则可以使用如下所示的 sealos add 命令:

sealos add --masters 192.168.0.21,192.168.0.19

  • 如果要增加 node 节点,则使用 --nodes 参数即可:

sealos add --nodes 192.168.64.21,192.168.64.19

  • 同理要删除节点也是非常简单的,使用 sealos delete 命令即可。
  • 如果在安装过程中出现了任何问题也可以使用 sealos reset 命令来重置集群,然后重新安装。

这样我们就成功搭建了一个 K8s 集群,而且还安装了 Cilium 网络插件,非常方便快捷,包括容器运行时、内核参数优化等都是自动化的,非常适合新手使用。

  • 此外我们还可以安装各种分布式应用,比如使用下面的命令即可轻松在 K8s 集群上安装 openebs

sealos run registry.cn-shanghai.aliyuncs.com/labring/openebs:v3.9.0

  • 如果想要自定义安装配置,可以通过使用 sealos gen 命令生成一个 Clusterfile 文件,然后修改其中的配置,最后使用 sealos apply -f Clusterfile 命令来启动集群,例如:

sealos gen labring/kubernetes:v1.25.0 labring/helm:v3.8.2 labring/calico:v3.24.1 \--masters 192.168.0.2,192.168.0.3,192.168.0.4 \--nodes 192.168.0.5,192.168.0.6,192.168.0.7 --passwd 'xxx' > Clusterfile

注意:labring/helm 应当在 labring/calico 之前。

  • 然后可以参考官方文档或运行 kubeadm config print init-defaults 命令来打印 kubeadm 配置文件的默认值,然后修改 Clusterfile 文件中的配置,最后使用 sealos apply -f Clusterfile 命令来启动集群。
  • 如果你还想在集群中集成 sealos cloud 的服务, 那么这 master 节点直接知行下面的命令即可:

curl -sfL https://mirror.ghproxy.com/https://raw.githubusercontent.com/labring/sealos/main/scripts/cloud/install.sh -o /tmp/install.sh && bash /tmp/install.sh \--image-registry=registry.cn-shanghai.aliyuncs.com --zh \--proxy-prefix=https://mirror.ghproxy.com

默认情况下 sealos cloud 需要一个域名用于访问 Sealos 及相关服务,如果您没有域名,可以使用 nip.io 提供的免费域名服务。同样 sealos cloud 还需要使用证书来保证通信安全,默认在不提供证书的情况下会使用 cert-manager 来自动签发证书。如果可以提供证书,证书需要解析下列域名 (假设提供的域名为:cloud.example.io):

  • *.cloud.example.io
  • cloud.example.io

我们这里没有公网域名,也不需要自定义域名,所以选择直接使用 nip.io 提供的免费域名服务。nip.io 是一个免费的通配符 DNS 服务,它可以将动态分配的 IP 地址映射到一个固定的子域名上,特别适合用于本地开发环境。具体的工作原理为:

可以使用任何 IP 地址作为 nip.io 子域名的一部分,而 nip.io 会将它解析回相应的 IP 地址。例如,如果你有一个内网 IP 地址 192.168.1.10,你可以使用 192.168.1.10.nip.io 作为域名,所有向这个域名发送的请求都会被解析到 192.168.1.10 这个 IP 地址上。这样就无需修改本地 hosts 文件,也不需要搭建内网 DNS 服务,直接通过这个域名就能访问内网服务了。

当执行上面命令需要输入 Sealos Cloud 域名时,你需要输入这种格式的域名:[ip].nip.io,其中 [ip] 是你的 Master 节点 IP。

安装完成后,终端会输出 Sealos 访问域名以及用户名和密码,例如:

Sealos cloud login info:
Cloud Version: latest
URL: https://10.214.210.102.nip.io
admin Username: admin
admin Password: sealos2023

FAQ

其它版本

  • 老师文档版本

Ubuntu 22.04 系统,内核版本:`5.15.0-94-generic` v1.27.10 k8s集群sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.10 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 \--masters 192.168.0.111 \--nodes 192.168.0.116,192.168.0.118 -p [your-ssh-passwd]

  • 老师实际测试版本(测试成功)

Ubuntu 22.04 系统,内核版本:`5.15.0-94-generic` v1.28.7 k8s集群sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.28.7 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.14.7 \--masters 172.29.9.80 \--nodes 172.29.9.81,172.29.9.82 -p your_host_password

  • 自己测试版本(测试成功)

centos系统(CentOS Linux release 7.6.1810),内核版本:`5.4.270-1` Linux master 5.4.270-1.el7.elrepo.x86_64 v1.28.7 k8s集群sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.28.7 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.14.7 \--masters 172.29.9.80 \--nodes 172.29.9.81,172.29.9.82 -p your_host_password

查看集群镜像

https://sealos.run/docs/self-hosting/lifecycle-management/quick-start/deploy-kubernetes#查看集群镜像

集群镜像版本支持说明

https://sealos.run/docs/self-hosting/lifecycle-management/quick-start/deploy-kubernetes#集群镜像版本支持说明

Sealos 集群镜像构建

Sealos 集群镜像构建 | Sealos: 专为云原生开发打造的以 K8s 为内核的云操作系统

LVScare 使用指南

LVScare 使用指南 | Sealos: 专为云原生开发打造的以 K8s 为内核的云操作系统

离线安装 K8s

https://sealos.run/docs/self-hosting/lifecycle-management/quick-start/deploy-kubernetes#离线安装-k8s

本地仓库

[root@master ~]#cat /etc/containerd/config.toml

关于我

我的博客主旨:

  • 排版美观,语言精炼;
  • 文档即手册,步骤明细,拒绝埋坑,提供源码;
  • 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!

🍀 微信二维码

x2675263825 (舍得), qq:2675263825。

🍀 微信公众号

《云原生架构师实战》

🍀 个人博客站点

明心静性 | 彦

🍀 语雀

One · 语雀

🍀 csdn

一念一生~one-CSDN博客

🍀 知乎

一个人 - 知乎

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!

这篇关于实战-Sealos一键部署k8s集群-2024.3.7(测试成功)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/783717

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推