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

目录

[toc]

原文链接

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

推荐文章

我的开源项目:

开源项目 | 彦

实验环境

centos7.6 1810,5.4.270-1.el7.elrepo.x86_64

sealos v5.0.0-beta4

k8s 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  NetworkManager

setenforce 0
sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config



swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab


yum 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 ];then
    grub2-set-default 0 && grub2-mkconfig -o /etc/grub2.cfg
    grubby --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: gc
  gitCommit: f39b2339
  gitVersion: 4.3.7
  goVersion: go1.20.10
  platform: 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/sealos
                  Version: 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博客

🍀 知乎

一个人 - 知乎

最后

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/436384.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端语义化标签及实例

常用的语义化标签的以下几种&#xff1a; header、nav、article、section、aside、footer、abbr、dfn、address、del、ins、pre、meter、progress <header> 定义文章的页眉信息 <header><h1>我的网站标题</h1><nav><ul><li><a …

从零开始学习Diffusion Models: Sharon Zhou

How Diffusion Models Work 本文是 https://www.deeplearning.ai/short-courses/how-diffusion-models-work/ 这门课程的学习笔记。 文章目录 How Diffusion Models WorkWhat you’ll learn in this course [1] Intuition[2] SamplingSetting Things UpSamplingDemonstrate i…

Optional 详解

Optional 详解 1、Optional 介绍2、创建 Optional 对象3、Optional 常用方法1. 判断值是否存在 — isPresent()2. 非空表达式 — ifPresent()3. 设置(获取)默认值 — orElse()、orElseGet()4. 获取值 — get()5. 过滤值 — filter()6. 转换值 — map() 作为一名 Java 程序员&am…

ISP基础概述

原文来自ISP 和摄像头基本知识 本文主要介绍ISP&#xff0c;以供读者能够理解该技术的定义、原理、应用。 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;计算机杂记 &#x1f380;CSDN主页 发狂的小花 &#x1f3…

【短时交通流量预测】基于小波神经网络WNN

课题名称&#xff1a;基于小波神经网络的短时交通流量预测 版本时间&#xff1a;2023-04-27 代码获取方式&#xff1a;QQ&#xff1a;491052175 或者 私聊博主获取 模型简介&#xff1a; 城市交通路网中交通路段上某时刻的交通流量与本路段前几个时段的交通流量有关&#x…

登录校验-过滤器-拦截器

会话技术 会话&#xff1a;用户打开浏览器&#xff0c;访问Wb服务器的资源&#xff0c;会话建立&#xff0c;直到有一方断开连接&#xff0c;会话结束。在一次会话中可以包含多次请求和响应。 会话跟踪&#xff1a;一种维护浏览器状态的方法&#xff0c;服务器需要识别多次请求…

upload-Labs靶场“11-15”关通关教程

君衍. 一、第十一关 %00截断GET上传1、源码分析2、%00截断GET上传 二、第十二关 %00截断POST上传1、源码分析2、%00截断POST上传 三、第十三关 文件头检测绕过1、源码分析2、文件头检测绕过 四、第十四关 图片检测绕过上传1、源码分析2、图片马绕过上传 五、第十五关 图片检测绕…

腾讯云和阿里云哪个好?云服务器价格表对比

2024年阿里云服务器和腾讯云服务器价格战已经打响&#xff0c;阿里云服务器优惠61元一年起&#xff0c;腾讯云服务器62元一年&#xff0c;2核2G3M、2核4G、4核8G、8核16G、16核32G、16核64G等配置价格对比&#xff0c;阿腾云atengyun.com整理阿里云和腾讯云服务器详细配置价格表…

C# LINQ运算符

LINQ运算符 1. 概述1.1 集合->集合1.1.1 筛选运算符1.1.2 映射运算符1.1.3 连接运算符1.1.4 排序运算符1.1.5 分组运算符1.1.6 集合运算符1.1.7 转换方法:Import1.1.8 转换方法:Export 1.2 集合->单个元素或标量值1.2.1 元素运算符1.2.2 聚合方法1.2.3 数量词 1.3 空->…

1910_野火FreeRTOS教程阅读笔记_prvStartFirstTask函数

1910_野火FreeRTOS教程阅读笔记_prvStartFirstTask函数 全部学习汇总&#xff1a; g_FreeRTOS: FreeRTOS学习笔记 这是教程中的一个函数&#xff0c;通过汇编来实现的。注释部分以及结合后面的讲解部分&#xff0c;可能还是有一点点细节的地方让初学者疑惑。我结合我自己的理解…

龙格-库塔法

概要 微分方程&#xff1a;含参数、未知函数、未知函数的导数&#xff08;或者微分&#xff09;的方程数值求解&#xff1a;用若干离散点计算 近似值 来代替准确值分类&#xff1a;单步法、多步法&#xff1b;隐式法、显示法欧拉法 (欧拉折线法)&#xff0c;也是一阶龙格-库塔…

【数据结构】图解二叉搜索树的新增、搜索、删除

一、概念 二叉搜索树&#xff08;Binary Search Tree&#xff0c;简称BST&#xff09;也称为二叉查找树或二叉排序树&#xff0c;是一种具有特殊性质的二叉树数据结构。 定义和性质&#xff1a; 二叉搜索树中的每个节点包含一个键值&#xff0c;习惯上我们说左子树上所有节点…

乔琼:高性能会议传声器的产品优化设计| 演讲嘉宾公布

一、智能家居与会议系统 智能家居与会议系统分论坛将于3月28日同期举办&#xff01; 智能会议系统它通过先进的技术手段&#xff0c;提高了会议效率&#xff0c;降低了沟通成本&#xff0c;提升了参会者的会议体验。对于现代企业、政府机构和学术界是不可或缺的。在这里&#x…

部署运维 防火墙,进程 常用命令

防火墙: 1. 查看是否安装了firewalld sudo systemctl status firewalld 查看防火墙状态或者sudo systemctl is-active firewalld 查看防火墙是否是开启状态 2. 开放6379port sudo firewall-cmd --add-port6379/tcp --permanent 刷新防火墙 sudo firewall-cmd --reload 3…

MinIO Client(mc)基本使用

一、Linux安装 1、下载最近的mc 命令&#xff0c;并保存到当前用户的bin目录下&#xff0c;这样可以直接执行&#xff0c;不用修改path curl -sL https://dl.minio.org.cn/client/mc/release/linux-amd64/mc -o /usr/bin/mc chmod x /usr/bin/mc二、配置使用 1、查看mc已经…

【洛谷 P8748】[蓝桥杯 2021 省 B] 时间显示 题解(数学+模运算+输入输出)

[蓝桥杯 2021 省 B] 时间显示 题目描述 小蓝要和朋友合作开发一个时间显示的网站。在服务器上&#xff0c;朋友已经获取了当前的时间&#xff0c;用一个整数表示&#xff0c;值为从 1970 年 1 月 1 日 00:00:00 到当前时刻经过的毫秒数。 现在&#xff0c;小蓝要在客户端显示…

MATLAB KL变换

1. 原理 KL变换步骤&#xff1a; 1.求样本X的协方差矩阵R 2.求 R的特征值λ。选取前d个较大的特征值。 3.计算d个特征值对应的特征向量&#xff0c;归一化后构成变换矩阵U。 4.对{X}中每一个X进行K-L变换&#xff0c;得到变换后向量YU’ * X&#xff0c;d维向量Y就是…

阿里云Linux系统MySQL8忘记密码修改密码

相关版本 操作系统&#xff1a;Alibaba Cloud Linux 3.2104 LTS 64位MySQL&#xff1a;mysql Ver 8.0.34 for Linux on x86_64 (Source distribution) MySQL版本可通过下方命令查询 mysql --version一、修改my.cnf文件 文件位置&#xff1a;etc/my.cnf进入远程连接后可以打…

解决vue项目本地开发完成后部署到服务器后报404的问题

一、如何部署 前后端分离开发模式下&#xff0c;前后端是独立布署的&#xff0c;前端只需要将最后的构建物上传至目标服务器的web容器指定的静态目录下即可 我们知道vue项目在构建后&#xff0c;是生成一系列的静态文件 常规布署我们只需要将这个目录上传至目标服务器即可 /…

163邮箱SMTP设置需要怎么配置?如何开启?

163邮箱SMTP设置教程&#xff1f;163邮箱开通SMTP发信功能方法&#xff1f; 当我们需要使用第三方工具或软件来发送邮件时&#xff0c;SMTP设置就显得尤为重要。特别是对于使用163邮箱的用户来说&#xff0c;掌握163邮箱SMTP设置的方法是非常必要的。下面&#xff0c;AokSend就…