Rancher Server + Kubernets搭建云原生集群平台

目录

  • Rancher Server + Kubernets搭建云原生集群平台
  • 一、环境准备
    • 1、软件准备
    • 2、环境规划
    • 3、挂载数据盘
  • 二、虚拟机初始化基础配置(所有节点都需要操作)
    • 1、执行时间服务器脚本(包括配置hostName主机名)
    • 2、配置hosts文件
    • 3、配置各节点免密登录
  • 三、在每个节点安装docker
    • 1、配置docker-ce国内yum源(阿里云)
    • 2、安装docker依赖包
    • 3、安装docker-ce
    • 4、启动docker服务并设置开机自启
    • 5、查看docker运行状态
    • 6、查看docker版本信息
    • 7、开启包转发功能和修改内核参数
    • 8、加载并应用 /etc/sysctl.d/docker.conf 文件中的配置
    • 9、配置阿里云镜像
    • 10、重启docker
  • 四、部署rancher
    • 1、在rancher节点下载rancher镜像
    • 2、通过docker运行rancher服务器的容器
  • 五、登录Rancher平台
    • 1、再浏览器访问Rancher节点IP ,由于未使用授信证书,会有报警,忽略即可
    • 2、设置密码
    • 3、至此Rancher安装完成
    • 4、登录后可点击右下角语言选项选择中文
    • 5、设置Rancher默认镜像仓库
  • 六、创建集群
    • 1、点击全局选择添加集群
    • 2、填写集群名称,选择kubernetes版本点击保存
    • 3、勾选Etcd、control,复制此命令,在每个master节点执行命令
    • 4、勾选worker复制此命令在每个worker节点执行命令
    • 5、等待服务安装完成
  • 七、部署nginx服务
    • 1、配置nginx点击进入集群tyzwkj-cloud选择Default
    • 2、配置负载均衡
  • 八、kubectl 命令行工具设置
    • 1 、使用rancher安装的k8s集群,服务器里面的kubectl 工具不能正常使用,如果需要在服务器执行kubectl命令的话,需要配置一下上下文
    • 2、从rancher页面获取Kubectl工具连接k8s集群所需的配置文件kubeconfig,如下图所示
  • 九、监控配置
    • 1、进入监控配置画面
    • 2、启用监控
    • 3、部署监控服务
    • 4、验证
  • 十、重新安装

Rancher Server + Kubernets搭建云原生集群平台

Rancher 是一款开源的企业级容器管理平台,专注于简化 Kubernetes 集群的部署、运维及多环境管理,助力企业在混合云、多云及边缘计算场景中实现高效容器化应用交付。

Rancher 凭借图形化界面、跨平台兼容性及开箱即用的监控/日志功能,大幅降低了 Kubernetes 的使用门槛。其开源特性允许企业深度定制,而活跃的社区生态则持续提供功能迭代与问题支持。对于需要统一管理复杂容器环境的企业,Rancher 是实现高效运维与数字化转型的理想选择。

【Rancher官方文档】

一、环境准备

1、软件准备

序号环境名称说明版本号
1Rancher Serverk8s运维平台v2.5.7

2、环境规划

序号IPHostName操作系统K8s角色说明
1192.168.255.141rancherAnolis OS 8.9 x86 64位Rancher服务Kubernetes 管理平台
2192.168.255.142masterAnolis OS 8.9 x86 64位控制节点Kubernetes Master
3192.168.255.143worker01Anolis OS 8.9 x86 64位工作节点Kubernetes Master高可用节点,如果不需要高可用,可不部署此服务器
4192.168.255.144worker02Anolis OS 8.9 x86 64位工作节点Kubernetes Worker

3、挂载数据盘

** 注意: **

  • 1、该步骤不是必须的,如果需要将【系统盘】与【数据盘】进行分离,并且【数据盘】是独立的一块磁盘的话,是需要执行该步骤进行挂载到系统中的;(非必要执行)
  • 2、下面的命令需要在 [192.168.255.141][192.168.255.142][192.168.255.143][192.168.255.144] 4台服务器上都执行

(1)、分区
对新磁盘【/dev/sdb】(根据lsblk命令输出得知新磁盘目录的)进行执行分区

[root@localhost ~]# lsblk
[root@localhost ~]# df -h
[root@localhost ~]# fdisk /dev/sdb

输入命令符

n # 创建新分区
p # 选择主分区
# 选择分区号(如果提示)
# 指定起始位置
# 指定分区大小
w # 保存并退出fdisk

(2)、格式化
对新磁盘【/dev/sdb1】(根据lsblk命令输出得知新磁盘目录的)进行执行格式化

[root@localhost ~]# mkfs.ext4 /dev/sdb1
[root@localhost ~]# mkdir /data

在这里插入图片描述

(3)、挂载
临时挂载,立即生效,但是系统重启后会失效,重启系统后需要重新执行命令或【永久挂载】方式修改配置文件

[root@localhost ~]# mount /dev/sdb1 /data

永久挂载,系统每次重启后会读取配置文件/etc/fstab中的配置

[root@localhost ~]# vim /etc/fstab/dev/sdb1 /data ext4 defaults 0 2

二、虚拟机初始化基础配置(所有节点都需要操作)

1、执行时间服务器脚本(包括配置hostName主机名)

(1)、创建init文件夹

[root@rancher ~]# mkdir init
[root@rancher ~]# cd init

(2)、创建文件传输,上传后,为文件添加执行权限后执行

[root@rancher init]# vim init.sh

init.sh文件内容

#配置主机名和host文件echo "正在配置你的主机名..."echoread -p "请输入你的主机名:" host hostname(){hostnamectl set-hostname $host}hostname host && echo -e "主机名设置成功!!"#echo "正在配置你的hosts文件..."
#        ip=$(ip a | grep ens33 |grep inet |awk '{print $2}' | awk -F"/" '{print $1}')
#       echo "$ip $host" >> /etc/hosts
#        echo  "hosts配置完成!!!"# 防火墙设置echo "关闭防火墙和selinux中...."echosystemctl stop firewalld && systemctl disable firewalld &> /dev/null && setenforce 0 &&  sed -i '/^SELINUX/s/enforcing/disabled/' /etc/selinux/configif [ $? -eq 0 ];thenecho "防火墙和selinux已经成功关闭....."elseecho "防火墙和selnux关闭失败,请手动关闭!!!"fi
echo#外网检测
echo "正在检测网络是否能上外网......"echoping -c 2 www.baidu.com &> /dev/nullif [ $? -eq 0 ];thenecho "网络正常"elseecho "网络不可达!"fi
echo# 配置yum源-这里选用阿里源
#echo
#	echo "修改为国内yum源"
#	mkdir /etc/yum.repos.d/bak
#	mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
#	wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#	wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#	yum clean all && yum makecache # 修改时区echo "修改时区中......"timedatectl set-timezone Asia/Shanghailn -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeecho "修改时区成功......"# 时间同步
echoecho "时间同步中……"yum install -y ntpdate &> /dev/nullntpdate 172.26.251.1 &> /dev/nullfile=$(who | head -1 | cut -d" " -f1)echo "* */1 * * * /usr/sbin/ntpdate  172.26.251.1" > /var/spool/cron/$fileif [ $? -eq 0 ];thenecho "时间同步成功!!!"echo "unset MAILCHECK" >> /etc/profilesource /etc/profile &> /dev/nullelseecho "时间同步失败!!!"fi
# 修改字符编码
echoecho "修改字符编码中……"echo 'LANG="en_US.UTF-8"' > /etc/locale.confecho "修改字符成功......"echo "----配置ssh禁用反向解析----"echo 'UseDNS=no' >> /etc/ssh/sshd_configecho "----允许通过密码ssh远程登录----"echo 'PermitRootLogin yes' >> /etc/ssh/sshd_configsystemctl restart sshdecho "----设置ssh,20分钟登录无操作自动退出,服务器每120秒心跳包测试客户端,三次不成功断开----"echo 'export TMOUT=1200' >> /etc/profilesource /etc/profileecho "----查看历史操作记录,并加时间戳----"echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profilesource /etc/profile#内核优化
echo "----内核优化----"
grep 'net.ipv6.conf.all.disable_ipv6' /etc/sysctl.conf  > /dev/null 2>&1
if [ $? -ne 0 ];then
# 关闭ipv6echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.confecho 'net.ipv6.conf.default.disable_ipv6 = 1' >> /etc/sysctl.conf#允许系统打开的端口范围,不建议从1024开始,因为某些端口会存在10000以内。一般情况下已够用。echo 'net.ipv4.ip_local_port_range = 10000    65000' >> /etc/sysctl.confecho 'net.core.somaxconn = 32768 >> /etc/sysctl.conf'
fi

在这里插入图片描述

(3)、执行初始化

#为文件添加执行权限
[root@rancher init]# chmod +x ./init.sh 
[root@rancher init]# ./init.sh 正在配置你的主机名...请输入你的主机名:

在这里插入图片描述

(4)、执行完后重启系统

[root@rancher init]# reboot

2、配置hosts文件

[root@rancher ~]# vim /etc/hosts

打开hosts文件点击键盘i进行插入,下面配置copy到hosts

192.168.255.141 rancher
192.168.255.142 master
192.168.255.143 worker01
192.168.255.144 worker02

在这里插入图片描述

3、配置各节点免密登录

#rancher
#生成ssh密钥
[root@rancher init]# ssh-keygen

输入后 敲击3下enter键盘 即可生成成功
在这里插入图片描述

访问连接各节点ssh

#复制密钥到其他节点(每个节点都要执行)
[root@rancher]#  ssh-copy-id root@rancher
[root@rancher]#  ssh-copy-id root@master
[root@rancher]#  ssh-copy-id root@worker01
[root@rancher]#  ssh-copy-id root@worker02

三、在每个节点安装docker

1、配置docker-ce国内yum源(阿里云)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述

2、安装docker依赖包

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述

3、安装docker-ce

 yum install docker-ce -y

在这里插入图片描述

** 备注:**

  • 如果出现 【try to add ‘–allowerasing’ to command line to replace conflicting packages or ‘–skip-broken’ to skip uninstallable packages or ‘–nobest’ to use not only best candidate packages】,则执行下面命令
yum install docker-ce -y --allowerasing

在这里插入图片描述

4、启动docker服务并设置开机自启

systemctl start docker && systemctl enable docker

5、查看docker运行状态

systemctl status docker

在这里插入图片描述

6、查看docker版本信息

docker version

7、开启包转发功能和修改内核参数

modprobe br_netfilter
cat > /etc/sysctl.d/docker.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

8、加载并应用 /etc/sysctl.d/docker.conf 文件中的配置

sysctl -p /etc/sysctl.d/docker.conf

在这里插入图片描述

9、配置阿里云镜像

创建 /etc/docker 目录

sudo mkdir -p /etc/docker

创建docker镜像配置文件

sudo tee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": ["https://ox288s4f.mirror.aliyuncs.com","https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://mirror.ccs.tencentyun.com","https://docker.hpcloud.cloud","https://docker.m.daocloud.io","https://docker.unsee.tech","https://docker.1panel.live","http://mirrors.ustc.edu.cn","https://docker.chenby.cn","http://mirror.azure.cn","https://dockerpu11.org","https://dockerhub.icu","https://hub.rat.dev","https://proxy.1panel.live","https://docker.1panel.top","https://docker.m.daocloud.io","https://docker.1ms.run","https://docker.ketches.cn"]
}
EOF

10、重启docker

立即生效

sudo systemctl daemon-reload

重启docker

sudo systemctl restart docker

四、部署rancher

1、在rancher节点下载rancher镜像

[root@rancher ~]# docker pull rancher/rancher:v2.5.7

在这里插入图片描述

2、通过docker运行rancher服务器的容器

命令描述

-d: 在后台(detached mode)运行容器,即使终端关闭也保持运行。--restart=unless-stopped: 容器退出时,除非明确停止,否则会自动重启。这个选项确保 Rancher 服务在意外关闭后能够自动恢复运行。-p 80:80 -p 443:443: 将容器内部的端口映射到宿主机上,使得宿主机的 80 端口和 443 端口可以访问 Rancher 服务器提供的服务。例如,可以通过 `http://宿主机IP``https://宿主机IP` 访问 Rancher Web UI。--privileged: 赋予容器全部的 Linux capabilities,这在某些情况下可能是必要的,例如需要访问设备或执行特权操作时。--name rancher: 指定容器的名称为 `rancher`,这样可以通过该名称管理和操作这个容器。rancher/rancher:v2.5.7: 指定要运行的 Docker 镜像,这里是 Rancher 服务器的镜像版本为 `v2.5.7`

(1)、创建rancher数据挂载文件夹

mkdir -p /data/d/rancher/data

(2)、启动rancher容器

[root@rancher ~]# docker run -d --restart=always -p 80:80 -p 443:443 -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/d/rancher/data:/var/lib/rancher --privileged=true --user=root --name rancher rancher/rancher:v2.5.7

(3)、查看rancher容器信息

docker ps -a|grep rancher

在这里插入图片描述

五、登录Rancher平台

1、再浏览器访问Rancher节点IP ,由于未使用授信证书,会有报警,忽略即可

2、设置密码

在这里插入图片描述

3、至此Rancher安装完成

在这里插入图片描述

4、登录后可点击右下角语言选项选择中文

在这里插入图片描述

5、设置Rancher默认镜像仓库

把系统设置里面的 ”system-default-registry” value设置为

registry.cn-hangzhou.aliyuncs.com

在这里插入图片描述
在这里插入图片描述

六、创建集群

1、点击全局选择添加集群

在这里插入图片描述
在这里插入图片描述

2、填写集群名称,选择kubernetes版本点击保存

在这里插入图片描述

3、勾选Etcd、control,复制此命令,在每个master节点执行命令

在这里插入图片描述

sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run  registry.cn-hangzhou.aliyuncs.com/rancher/rancher-agent:v2.5.7 --server https://192.168.255.141 --token ndkzstpnht7z5lvftkhmbc7wvgsgrxlq6s2r64ttqk9gxjgrnmjp75 --ca-checksum b5cb4d97b8be287df94db3736d7b7b58f8b2cfcb2758d91fb06c78afbf7b5bcd --etcd --controlplane

4、勾选worker复制此命令在每个worker节点执行命令

在这里插入图片描述

sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run  registry.cn-hangzhou.aliyuncs.com/rancher/rancher-agent:v2.5.7 --server https://192.168.255.141 --token ndkzstpnht7z5lvftkhmbc7wvgsgrxlq6s2r64ttqk9gxjgrnmjp75 --ca-checksum b5cb4d97b8be287df94db3736d7b7b58f8b2cfcb2758d91fb06c78afbf7b5bcd --worker

备注:

  • worker命令在主机worker01和worker02上执行

5、等待服务安装完成

此过程将耗时较长时间(拉取镜像时间较长),本文3台节点初始化完成用了近3个小时

在这里插入图片描述

点击主机查看监控

在这里插入图片描述

七、部署nginx服务

1、配置nginx点击进入集群tyzwkj-cloud选择Default

在这里插入图片描述

(1)、点击部署服务
在这里插入图片描述
(2)、拉取nginx镜像,填写配置;点击启动
在这里插入图片描述

(3)、等待nginx启动
在这里插入图片描述
在这里插入图片描述

2、配置负载均衡

(1)、进入【负载均衡】画面
在这里插入图片描述

(2)、新增ingress映射,点击保存
在这里插入图片描述
(3)、设置完成后会生成一个域名
在这里插入图片描述
(4)、验证nginx服务
在这里插入图片描述

点击nginx-ingress地址(上图中80/http)

在这里插入图片描述

备注:


如果点击nginx-ingress地址无法解析域名时,需要修改一下本地hosts文件,将xip.io域名解析到master节点ip

  • 本例中master节点的ip是192.168.255.142,下面是在hosts文件中添加的配置
192.168.255.142 xip.io

(5)、验证负载均衡

点击上图nginx进入点击pods查看日志

【第一步】进入第一个nginx容器,查看第一个nginx容器的日志

在这里插入图片描述
在这里插入图片描述

【第二步】进入第二个nginx容器画面,查看第一个nginx容器的日志

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【第三步】每访问一次

在这里插入图片描述

八、kubectl 命令行工具设置

1 、使用rancher安装的k8s集群,服务器里面的kubectl 工具不能正常使用,如果需要在服务器执行kubectl命令的话,需要配置一下上下文

(1)、 kubectl 配置命令自动补全

yum install -y bash-completion
echo 'source /usr/share/bash-completion/bash_completion' >> ~/.bashrc
echo 'source  <(kubectl completion bash)' >> ~/.bashrc
source ~/.bashrc

(2)、搜索根目录文件名为 kubectl 的文件或目录是否存在,不存在则自己创建

find / -name kubectl
mkdir kubectl

(3)、查看/var/lib/rancher/下的文件获取要创建链接的源文件或目录

cd /var/lib/rancher/
执行下面命令查看是否可以获取到pod列表
v1.25.12-rke2r1-15557ace5a8f/bin/kubectl get pod -A

(4)、然后替换掉v1.25.12-rke2r1-15557ace5a8f/bin/kubectl换成自己的版本;执行然后执行下面软链接的命令
/usr/bin/kubectl为目标路径,来访问实际的 kubectl 可执行文件

ln -s   /var/lib/rancher/rke/data/v1.25.12-rke2r1-15557ace5a8f/bin/kubectl /usr/bin/kubectl

2、从rancher页面获取Kubectl工具连接k8s集群所需的配置文件kubeconfig,如下图所示

在这里插入图片描述

(1)、创建目录

mkdir ${HOME}/.kube/

(2)、把下载的kubeConfig上传到服务器.重命名为config放到 ${HOME}/.kube/目录下
查看安装的版本

kubectl version

九、监控配置

在这里插入图片描述

1、进入监控配置画面

在这里插入图片描述

2、启用监控

点击【启用监控】按钮
在这里插入图片描述

3、部署监控服务

进入【集群】->System画面后,会发现新增了加【cattle-prometheus】命名空间及相关服务,这就是监控服务,只需等待一段时间就会自动部署好

在这里插入图片描述

4、验证

待上一步【cattle-prometheus】命名空间下的所有服务全部部署完成并状态为【Active】后,即可进入【集群】画面后,会看到下图所示的监控面板

在这里插入图片描述

点击上图Grafana按钮就会进入对应监控画面,如下图所示

在这里插入图片描述

十、重新安装

说明:
执行重复安装,需要清除所有记录再执行安装

docker stop $(docker ps -aq)docker system prune -fdocker volume rm $(docker volume ls -q)docker image rm $(docker image ls -q)rm -rf /etc/ceph \/etc/cni \/etc/kubernetes \/opt/cni \/opt/rke \/run/secrets/kubernetes.io \/run/calico \/run/flannel \/var/lib/calico \/var/lib/etcd \/var/lib/cni \/var/lib/kubelet \/var/lib/rancher/rke/log \/var/log/containers \/var/log/pods \/var/run/calico

结束,以上就是通过RancherServer搭建k8s的全部内容。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java学习第八部分——泛型

目录 一、概述 &#xff08;一&#xff09;定义 &#xff08;二&#xff09;作用 &#xff08;三&#xff09;引入原因 二、使用 &#xff08;一&#xff09;类 &#xff08;二&#xff09;接口 &#xff08;三&#xff09;方法 三、类型参数 &#xff08;一&#xf…

定时点击二次鼠标 定时点击鼠标

定时点击二次鼠标 定时点击鼠标 今天分享一个定时点击两次的小工具。 我们在生活中&#xff0c;可能会遇到一些定时点击的任务。比如说在晚上9点去发送一个群发&#xff0c;或者倒计时点击一个按钮。那么可以使用这个工具&#xff0c;仅适用于Windows电脑。 #定时点击鼠标 #倒计…

Linux网络配置与故障排除完全指南

1. ifconfig命令 - 网络接口配置器 ifconfig&#xff08;interface configurator&#xff09;是Linux系统中最基础的网络配置工具。该命令可以初始化网络接口、分配IP地址、启用或禁用接口&#xff0c;同时还能查看接口的详细信息。 查看网络接口信息 # ifconfig eth0 …

Python Pytest-Benchmark详解:精准性能测试的利器

在软件开发的迭代过程中&#xff0c;性能优化如同精密手术&#xff0c;需要精准的测量工具。Pytest-Benchmark作为pytest生态中的性能测试插件&#xff0c;凭借其无缝集成能力和专业统计功能&#xff0c;成为Python开发者进行基准测试的首选工具。本文将深入解析其技术特性与实…

60天python训练营打卡day51

学习目标&#xff1a; 60天python训练营打卡 学习内容&#xff1a; DAY 51 复习日 作业&#xff1a;day43的时候我们安排大家对自己找的数据集用简单cnn训练&#xff0c;现在可以尝试下借助这几天的知识来实现精度的进一步提高 学习时间&#xff1a; 2025.07.04 浙大疏锦行…

支持向量机(SVM)在肺部CT图像分类(肺癌检测)中的实现与优化

🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C++, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C++、C#等开发语言,熟悉Java常用开发技术,能熟练应用常用数据库SQL server,Oracle,mysql,postgresql等进行开发应用…

YOLOv3-SPP 深度解析:引入 SPP 结构,显著提升目标检测性能!

✅ YOLOv3-SPP 技术详解 一、前言 YOLOv3-SPP 是在 YOLOv3 基础上加入 SPP&#xff08;Spatial Pyramid Pooling&#xff09;模块的一种改进版本&#xff0c;旨在提升模型对不同尺度目标的识别能力&#xff0c;尤其是在大目标检测方面表现更优。 它由 Alexey Bochkovskiy 在…

负载均衡--常见负载均衡算法

负载均衡算法可以分为两类&#xff1a;静态负载均衡算法和动态负载均衡算法。 1、静态负载均衡算法包括&#xff1a;轮询&#xff0c;比率&#xff0c;优先权 轮询&#xff08;Round Robin&#xff09;&#xff1a;顺序循环将请求一次顺序循环地连接每个服务器。当其中某个服务…

深入解析GCC:开源的编译器之王

在编程世界中&#xff0c;编译器是将人类可读代码转化为机器指令的关键桥梁。而GCC&#xff08;GNU Compiler Collection&#xff09; 无疑是这个领域最耀眼的明星之一。作为开源世界的基石&#xff0c;它支撑着Linux内核、众多开源项目和商业软件的构建。今天&#xff0c;我们…

https和http有什么区别

目录 一、核心区别&#xff1a;是否基于加密传输 二、底层传输机制差异 三、HTTPS 的加密原理 四、应用场景差异 五、其他细节区别 总结 在网络通信中&#xff0c;HTTP&#xff08;Hypertext Transfer Protocol&#xff0c;超文本传输协议&#xff09; 和HTTPS&#xff0…

CSS3 文本效果详解

CSS3 文本效果详解 引言 随着Web技术的发展,CSS3为前端设计师和开发者提供了丰富的文本效果选项。这些效果不仅能够增强网页的美观性,还能提升用户体验。本文将详细介绍CSS3中的文本效果,包括文本阴影、文本描边、文本装饰、文本换行、文本大小写等,并探讨如何在实际项目…

MySQL 中 -> 和 ->> 操作符的区别

简介 MySQL 5.7 或更高版本&#xff0c;可以使用 ->> 和 -> 运算符简化语法这两个操作符都是用于提取 JSON 数据的&#xff0c;但有一些重要区别 -> 操作符 功能&#xff1a;提取 JSON 对象的指定路径的值 返回类型&#xff1a;返回 JSON 类型的值&#xff08;可…

Vue2 day07

1.vuex的基本认知2.构建多组件共享的数据环境步骤&#xff1a;1.在自己创建的文件夹下创建脚手架2.创建三个组件### 源代码如下App.vue在入口组件中引入 Son1 和 Son2 这两个子组件html <template><div id"app"><h1>根组件</h1><input ty…

简述MCP的原理-AI时代的USB接口

1 简介随着AI的不断发展&#xff0c;RAG&#xff08;检索增强生成&#xff09;和function calling等技术的出现&#xff0c;使得大语言模型的对话生成能力得到了增强。然而&#xff0c;function calling的实现逻辑比较复杂&#xff0c;一个简单的工具调用和实现方式需要针对不同…

CISSP知识点汇总-资产安全

CISSP知识点汇总 域1---安全与风险管理域2---资产安全域3---安全工程域4---通信与网络安全域5---访问控制域6---安全评估与测试域7---安全运营域8---应用安全开发域2 资产安全 一、资产识别和分类 1、信息分级(Classification): 按照敏感程度(机密性被破坏) 按照重要程度…

Spring Boot 3.x 整合 Swagger(springdoc-openapi)实现接口文档

本文介绍 Spring Boot 3.x 如何使用 springdoc-openapi 实现 Swagger 接口文档&#xff0c;包括版本兼容表、最简单的配置示例和常见错误解决方案。1. Spring Boot 3.x 和 springdoc-openapi 版本对应表Spring Boot 版本Spring Framework 版本推荐的 springdoc-openapi 版本3.0…

Redis内存队列Stream

本文为个人学习笔记整理&#xff0c;仅供交流参考&#xff0c;非专业教学资料&#xff0c;内容请自行甄别 文章目录概述一、生产者端操作二、消费者端操作三、消费组操作四、状态查询操作五、确认消息六、消息队列的选择概述 Stream是Redis5.0推出的支持多播的可持久化的消息队…

Minio安装配置,桶权限设置,nginx代理 https minio

**起因&#xff1a;因为用到ruoyi-vue-plus框架中遇到生产环境是https&#xff0c;但是http的minio上传的文件不能在后台系统中访问**安装配置minio1. 下载安装2. 赋文件执行权限3.创建配置文件4.创建minio.service新版minio创建桶需要配置桶权限1.下载客户端2.设置访问权限3.连…

数论基础知识和模板

质数筛 用于快速处理 1&#xff5e;n 中所有素数的算法 因为依次遍历判断每一个数是否质数太慢&#xff0c;所以把一些明显不能质数的筛出来 普通筛法&#xff0c;对于每个整数&#xff0c;删除掉其倍数。 bool vis[N];//0表示是质数 int pri[N],o; //质数表 void get(int n…

Ubuntu20.04.6桌面版系统盘制作与安装

概述 本教程讲述Ubuntu20.04.6桌面版的系统U盘制作与安装&#xff0c;所需工具为一台电脑、大于4G的U盘、一个需要安装Ubuntu系统的主机。 步骤1&#xff1a;下载系统镜像与rufus 在ubuntu官网下载 ubuntu-20.04.6-desktop-amd64.iso&#xff0c;如图 下载rufus工具&#xf…