武汉网站建设价格低/软文经典案例

武汉网站建设价格低,软文经典案例,学做网站论坛vip学员码,专门做朋友圈小视频的网站集群规划 操作系统:CentOS7 内核版本:5.4(需升级) 组件版本说明操作系统内核5.4RPM方式升级docker26.1.4yum安装cri-docker0.3.16二进制安装kubeadm1.30.11yum安装kubealet1.30.11yum安装kubectl1.30.11yum安装kubectl1.30.11yu…

集群规划

操作系统:CentOS7 内核版本:5.4+(需升级)

组件版本说明
操作系统内核5.4+RPM方式升级
docker26.1.4yum安装
cri-docker0.3.16二进制安装
kubeadm1.30.11yum安装
kubealet1.30.11yum安装
kubectl1.30.11yum安装
kubectl1.30.11yum安装
kubernetes1.30.11kubeadm部署
flannel1.6.2CNI插件
kubernetes-dashboad7.6.5helm安装
metric-server0.7.2

网络规划

  • 虚拟机NAT地址
    子网IP子网掩码网关
    192.168.85.0255.255.255.0192.168.85.1
  • K8S集群网络
    Pod子网Service子网
    10.240.0.0/1610.140.0.0/16
  • K8S集群节点
    节点名称节点IP
    master101192.168.85.101
    node102192.168.85.102
    node103192.168.85.103

创建虚拟机

使用VMWare先创建一个虚拟机,虚拟机的网络配置使用网桥,需要提前配置好网络配置,如:网段、掩码、网关。这部分教程比较多,可自行搜索。唯一需要注意的一点就是NAT网络的设置,需要注意子网、掩码、网关的地址,在后续的操作系统中用于配置节点的网络。
在这里插入图片描述

系统配置

配置网络

操作系统安装好之后,第一步就是先配置好网络,网络连通之后才能继续后续的步骤。在这个集群里,我们通常会把IP设置为静态IP方便管理。

[root@master101 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO="static" # 必须为static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33 # 网卡名称
UUID=07ba6f88-2fce-4fd9-9b95-4da163097f7a
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.85.101 # 静态IP 需要在虚拟机的NET地址网段内
GATEWAY=192.168.85.1 # 网关 需要与虚拟机的NET地址的网关一致
NETMASK=255.255.255.0 # 掩码 需要与虚拟机的NET地址的掩码一致
IPV6_PRIVACY=no #
DNS1=8.8.8.8 # DNS可以有多个,也可以使用其他稳定的DNS
PREFIX=24

重新启动下网络,并检查下IP是否是与配置文件一致

[root@master101 ~]# systemctl restart network
[root@master101 ~]# ifconfig

关闭防火墙

[root@master101 ~]# systemctl disable firewalld
[root@master101 ~]# systemctl stop firewalld
[root@master101 ~]# systemctl status firewalld
[root@master101 ~]# systemctl restart network

同步时钟

[root@master101 ~]# timedatectl set-timezone 'Asia/Shanghai'
[root@master101 ~]# ntpdate ntp1.aliyun.com
[root@master101 ~]# date
[root@master101 ~]# cat >> /etc/crontab << EOF
* * * * root /usr/sbin/ntpdate ntp1.aliyun.com && /sbin/hwclock -w
EOF

升级内核

Kubernetes 1.30 默认要求容器运行时(containerd/CRI-O)启用 ​cgroups v2,而完整支持该功能需要 Linux 5.4+ 内核。目前使用的docker,没有修改使用到cgroupV2。

  1. 查看系统的内核版本
    [root@master101 ~]# uname -r
    3.10.0-693.el7.x86_64
    
  2. 使用yum升级内核
    [root@master101 ~]# cat <<EOF > /etc/yum.repos.d/elrepo.repo
    [elrepo]
    name=elrepo
    baseurl=https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64
    gpgcheck=0
    enabled=1
    EOF
    [root@master101 ~]# yum clean all && yum makecache
    [root@master101 ~]# yum list --showduplicate kernel*
    已加载插件:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    已安装的软件包
    kernel.x86_64                              3.10.0-693.el7                   @anaconda
    kernel-devel.x86_64                        3.10.0-693.el7                   @anaconda
    kernel-headers.x86_64                      3.10.0-693.el7                   @anaconda
    kernel-tools.x86_64                        3.10.0-693.el7                   @anaconda
    kernel-tools-libs.x86_64                   3.10.0-693.el7                   @anaconda
    
    没有找到预期的内核版本,所以换种另外的方式,使用RPM来安装。
  3. RPM升级内核
    下载内核包
    [root@master101 ~]# mkdir kernel-rpm
    [root@master101 ~]# cd kernel-rpm
    [root@master101 kernel-rpm]# wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.226-1.el7.elrepo.x86_64.rpm
    [root@master101 kernel-rpm]# wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-headers-5.4.226-1.el7.elrepo.x86_64.rpm
    [root@master101 kernel-rpm]# wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.226-1.el7.elrepo.x86_64.rpm
    
    安装
    [root@master101 kernel-rpm]#  rpm -ivh kernel-lt-5.4.226-1.el7.elrepo.x86_64.rpm
    [root@master101 kernel-rpm]# rpm -ivh kernel-lt-devel-5.4.226-1.el7.elrepo.x86_64.rpm
    
    查看内核启动版本
    [root@master101 kernel-rpm]# rpm -qa | grep kernel
    kernel-tools-libs-3.10.0-693.el7.x86_64
    kernel-headers-3.10.0-693.el7.x86_64
    kernel-lt-5.4.226-1.el7.elrepo.x86_64
    abrt-addon-kerneloops-2.1.11-48.el7.centos.x86_64
    kernel-lt-devel-5.4.226-1.el7.elrepo.x86_64
    kernel-3.10.0-693.el7.x86_64
    kernel-devel-3.10.0-693.el7.x86_64
    kernel-tools-3.10.0-693.el7.x86_64
    
    设置内核启动顺序,默认启动高版本的内核
    [root@master101 ~]# cat /etc/grub2.cfg | grep menuentry|awk -F "\'" '$1=="menuentry " {print i++ " : " $2}'
    [root@master101 ~]# grub2-set-default 0
    [root@master101 ~]# reboot
    [root@master101 ~]# uname -r
    5.4.226-1.el7.elrepo.x86_64
    
    CentOS7.9升级3.10内核至5.4

配置内核参数

禁止使用swap分区

[root@master101 ~]# sed -i 's/enforcing/disabled/' /etc/selinux/config
[root@master101 ~]# setenforce 0
[root@master101 ~]# swapoff -a

将桥接的lPv4流量传递到iptables的链

[root@master101 ~]# cat > /etc/sysctl.d/k8s.conf << EOF
vm.swappiness=0
net.ipv4.ip_forward = 1
net.ipv4.tcp_tw_recycle = 0
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
[root@master101 ~]# sysctl -p /etc/sysctl.d/k8s.conf
vm.swappiness = 0
net.ipv4.ip_forward = 1
net.ipv4.tcp_tw_recycle = 0
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
[root@master101 ~]# sysctl --system 

配置ipvs功能

[root@master101 ~]# yum install ipset ipvsadm -y
[root@master101 ~]# cat >> /etc/sysconfig/modules/ipvs.modules << EOF
> #!/bin/bash
> modprobe -- ip_vs
> modprobe -- ip_vs_rr
> modprobe -- ip_vs_wrr
> modprobe -- ip_vs_sh
> modprobe -- nf_conntrack
> EOF
[root@master101 ~]# chmod +x /etc/sysconfig/modules/ipvs.modules
[root@master101 ~]# /bin/bash /etc/sysconfig/modules/ipvs.modules
[root@master101 ~]# lsmod | grep -e ip_vs -e nf_conntrack_ipv4
ip_vs_sh               12688  0 
ip_vs_wrr              12697  0 
ip_vs_rr               12600  0 
ip_vs                 145458  6 ip_vs_rr,ip_vs_sh,ip_vs_wrr
nf_conntrack_ipv4      15053  2 
nf_defrag_ipv4         12729  1 nf_conntrack_ipv4
nf_conntrack          139264  6 ip_vs,nf_nat,nf_nat_ipv4,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_ipv4
libcrc32c              12644  4 xfs,ip_vs,nf_nat,nf_conntrack

安装Docker以及cri-dockerd

安装Docker

[root@master101 ~]# yum remove docker*
[root@master101 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
[root@master101 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@master101 ~]# yum install -y docker-ce
[root@master101 ~]# docker -v
Docker version 26.1.4, build 5650f9b

配置国内的镜像源,一般可以去阿里云注册一个账户,免费使用它的镜像加速。当然也可以使用其他常用的加速地址。不过更推荐阿里云的,因为比较稳定。

[root@localhost ~]# cat >> /etc/docker/daemon.json << EOF
{"registry-mirrors": ["https://29wbjzyc.mirror.aliyuncs.com","https://registry.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn"],"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF[root@master101 ~]# systemctl daemon-reload
[root@master101 ~]# systemctl restart docker

先拉取下后续安装K8S所需的镜像,顺便验证下docker是否正常。

[root@master101 ~]# docker images
REPOSITORY                                                                                  TAG               IMAGE ID       CREATED         SIZE
ghcr.io/flannel-io/flannel-cni-plugin                                                       v1.6.2-flannel1   55ce2385d9d8   6 weeks ago     10.7MB
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/kubernetesui/dashboard-api               1.8.1             9446b3f1c3ba   6 months ago    46.9MB
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/kong                                     3.8.0             8ed1b48bc959   6 months ago    375MB
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/kubernetesui/dashboard-web               1.4.0             65bdf9576e48   9 months ago    181MB
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/kubernetesui/dashboard-auth              1.1.3             19b0f210f0dc   11 months ago   40.1MB
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/kubernetesui/dashboard-metrics-scraper   1.1.1             e3e259695944   12 months ago   35.3MB

安装cri-dockerd

[root@master101 ~]# mkdir k8s && cd k8s
[root@master101 k8s]# wget -c https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.16/cri-dockerd-0.3.16.amd64.tgz 
[root@master101 k8s]# ls
cri-dockerd-0.3.16.amd64.tgz
[root@master101 k8s]# tar xvf cri-dockerd-0.3.16.amd64.tgz
cri-dockerd/
cri-dockerd/cri-dockerd
[root@master101 k8s]# ls
cri-dockerd  cri-dockerd-0.3.16.amd64.tgz
[root@master101 k8s]# cp cri-dockerd/cri-dockerd /usr/bin/
[root@master101 k8s]# cri-dockerd --version
cri-dockerd 0.3.16 (7119864)

配置 cri-docker 服务


# 配置 cri-docker 服务
[root@master101 k8s]#  cat > /usr/lib/systemd/system/cri-docker.service <<EOF 
[Unit]
Description=CRI Interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network-online.target firewalld.service docker.service
Wants=network-online.target
Requires=cri-docker.socket[Service]
Type=notify
ExecStart=/usr/bin/cri-dockerd --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process[Install]
WantedBy=multi-user.target
EOF# 配置 cri-docker socket
[root@master101 k8s]# cat > /usr/lib/systemd/system/cri-docker.socket <<EOF 
[Unit]
Description=CRI Docker Socket for the API
PartOf=cri-docker.service[Socket]
ListenStream=%t/cri-dockerd.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker[Install]
WantedBy=sockets.target

重新启动并且设置开机自启动

[root@master101 k8s]# systemctl daemon-reload
[root@master101 k8s]# systemctl enable cri-docker --now

安装 kubeadm、kubelet、kubectl

通过阿里云的镜像站来完成加速下载 kubeadm、kubelet、kubectl。需要注意的是由于 Kubernetes 官方变更了仓库的存储路径以及使用方式,如果需要使用 1.28 及以上版本,需要使用新版配置方法进行配置。详情参见阿里云开发者社区-镜像站-kubernetes。

[root@master101 ~]# cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm/repodata/repomd.xml.key
EOF[root@master101 ~]# yum --disablerepo="*" --enablerepo="kubernetes" list available
[root@master101 ~]# yum -y install kubeadm kubelet kubectl# 如果无法启动则需要排查下,可能因为开启了swap
[root@master101 ~]# systemctl status kubelet
[root@master101 ~]# systemctl start kubelet
[root@master101 ~]# systemctl enable kubelet

注意:如果kubelet启动失败,大概率是系统开启了swap分区,这时候是需要关闭的。

[root@master101 ~]# swapon --show
NAME      TYPE      SIZE USED PRIO
/dev/dm-1 partition   2G 524K   -2
[root@master101 ~]# cat /etc/fstab | grep swap
/dev/mapper/centos-swap swap                    swap    defaults        0 0
[root@master101 ~]# vim /etc/fstab 
[root@master101 ~]# cat /etc/fstab | grep swap
#/dev/mapper/centos-swap swap                    swap    defaults        0 0
[root@master101 ~]# swapoff -a

克隆机器

目前为止,我们在master101上配置了k8s集群部署所需的关键配置,也完成了docker和k8s容器运行时的安装,拉取了后续集群部署所需的镜像。 拉取镜像其实可以放到后续的步骤去完成,只是我比较懒,我更希望通过克隆虚拟机的方式将所有资源都拷贝到集群的各个节点上。这样可以避免多次下载。后面直接将master101当成模板机克隆出两台机器node102以及node103,当然熟悉的朋友也可以自行再次新建虚拟机完成。这里的克隆我就不再演示了,比较简单,没什么门槛,只是克隆的时候需要注意是完整克隆。

网络配置

由于两台虚拟机都是通过master101克隆出来的,所以克隆出来的node102,、node103与master101的IP地址还有主机名都是一样的,因此我们需要修改IP地址和主机名。先单独开启node102,或者将master101和node103的网络断开,这样node102就可以正常使用网络通信了。

需要注意UUID是否与master101一致,如果一致则需要重新修改,UUID在我们的网络集群中必须保证唯一性。设置完IP之后,我们再修改下主机名方便我们更好的区分。

[root@master101 ~]# cat  /etc/sysconfig/network-scripts/ifcfg-ens33 | grep -E 'IPADDR|UUID'
UUID=1ebe2b03-dd7d-4df7-87e9-1dbc00c33252
IPADDR=192.168.85.101
[root@master101 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@master101 ~]# cat  /etc/sysconfig/network-scripts/ifcfg-ens33 | grep -E 'IPADDR|UUID'
UUID=1ebe2b03-dd7d-4df7-87e9-1dbc00c33252
IPADDR=192.168.85.102
[root@master101 ~]# hostnamectl set-hostname node102
[root@master101 ~]# systemctl restart network

如果我们使用shell远程连接的可能需要重新使用node102的IP完成登录。按照此步骤我们开启node103并完成相关的配置。

[root@master101 ~]# cat  /etc/sysconfig/network-scripts/ifcfg-ens33 | grep -E 'IPADDR|UUID'
UUID=1ebe2b03-dd7d-4df7-87e9-1dbc00c33259
IPADDR=192.168.85.101
[root@master101 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@master101 ~]# cat  /etc/sysconfig/network-scripts/ifcfg-ens33 | grep -E 'IPADDR|UUID'
UUID=1ebe2b03-dd7d-4df7-87e9-1dbc00c33259
IPADDR=192.168.85.103
[root@master101 ~]# hostnamectl set-hostname node103
[root@master101 ~]# systemctl restart network

在三台主机上都添加下集群节点的主机名信息,注意是三个节点都执行

[root@master101 ~]# cat >> /etc/hosts <<EOF
> 192.168.85.101 master101 master101
> 192.168.85.102 node102 node102
> 192.168.85.103 node103 node103
> EOF

免密登录

所有主机均修改ssh配置运行公钥验证免密登录,先打开公钥验证开关,注意三个主机都需要执行。

[root@master101 ~]# cat /etc/ssh/sshd_config | grep -e AuthorizedKeysFile -e PubkeyAuthentication 
#PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
[root@master101 ~]# vim /etc/ssh/sshd_config
[root@master101 ~]# cat /etc/ssh/sshd_config | grep -e AuthorizedKeysFile -e PubkeyAuthentication 
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

生成以RSA算法生成的秘钥对,执行命令时不输入任何信息直接回车,保持默认就行。三个节点均需要执行。

[root@master101 ~]# ssh-keygen -t rsa
[root@master101 .ssh]# pwd
/root/.ssh
[root@master101 .ssh]# ls
id_rsa  id_rsa.pub

在master101上将每个节点的公钥复制

[root@master101 .ssh]# cat id_rsa.pub >> authorized_keys
[root@master101 .ssh]# ssh master101			# 自己远程自己,测试下
[root@master101 ~]# ssh root@node102 cat ~/.ssh/id_rsa.pub>> authorized_keys
[root@master101 ~]# ssh root@node103 cat ~/.ssh/id_rsa.pub>> authorized_keys
[root@master101 ~]# scp authorized_keys root@node102:/root/.ssh/
[root@master101 ~]# scp authorized_keys root@node103:/root/.ssh/
[root@master101 ~]# scp known_hosts root@node102:/root/.ssh/
[root@master101 ~]# scp known_hosts root@node103:/root/.ssh/

Part1结束语

截止到目前为止,我们已经完成了k8s集群部署的所有准备工作,接下来就是使用kubeadm来完成集群的部署。具体步骤在Part2:基于国内源完成Kubernetes集群部署。

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

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

相关文章

C++单例模式精解

单例模式&#xff08;重点*&#xff09; 单例模式是23种常用设计模式中最简单的设计模式之一&#xff0c;它提供了一种创建对象的方式&#xff0c;确保只有单个对象被创建。这个设计模式主要目的是想在整个系统中只能出现类的一个实例&#xff0c;即一个类只有一个对象。 将单…

【微服务】java中http调用组件深入实战详解

目录 一、前言 二、http调用概述 2.1 什么是http调用 2.1.1 http调用步骤 2.2 HTTP调用特点 2.3 HTTP调用应用场景 三、微服务场景下http调用概述 3.1 微服务开发中http调用场景 3.2 微服务组件中http的应用 四、常用的http调用组件 4.1 java中常用的http组件介绍 4…

Implementing SAP BPC Embedded - 2nd Edition

Implementing SAP BPC Embedded - 2nd Edition

每日Attention学习26——Dynamic Weighted Feature Fusion

模块出处 [ACM MM 23] [link] [code] Efficient Parallel Multi-Scale Detail and Semantic Encoding Network for Lightweight Semantic Segmentation 模块名称 Dynamic Weighted Feature Fusion (DWFF) 模块作用 双级特征融合 模块结构 模块思想 我们提出了 DWFF 策略&am…

向量检索在AI中的应用与技术解析

关键要点 向量检索在AI中用于信息检索、推荐系统和图像搜索&#xff0c;研究表明其通过高维空间中的向量表示数据来提升搜索相关性。它依赖于嵌入技术&#xff08;如Word2Vec、BERT&#xff09;和近邻算法&#xff08;如kNN、ANN&#xff09;&#xff0c;证据倾向于其在处理大…

关于进程的实验(子进程和父进程相关的)

文章目录 1.第一个问题2.第二个问题3.第三个问题 1.第一个问题 编写一段程序&#xff0c;利用系统调用fork( )创建两个进程。当此程序运行时&#xff0c;在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符&#xff1a;父进程显示字符“a”;子进程分别显…

深度优先搜索(DFS)剪枝技术详解与C++实现

深度优先搜索&#xff08;DFS&#xff09;剪枝技术通过提前终止无效路径的搜索&#xff0c;大幅提升算法效率。以下是五种核心剪枝技术的详细解析及C代码示例&#xff1a; 目录 一、可行性剪枝 C实现示例 二、搜索顺序剪枝 伪代码逻辑 三、最优性剪枝 C实现示例 四、排除…

【双指针】移动零

题目描述&#xff1a; 算法分析&#xff1a; 观察输入输出&#xff1a; 输出中一共分为两个区域&#xff0c;0区和非零区。 但是在处理未完成之前&#xff0c;必然存在着一个零和非零数共存的区域&#xff0c;所以在处理的过程当中一共有三个区域&#xff0c;0区&#xff0c;…

学习15天:pytest

1、.pytest强大的插件 pytest-html(生成html格式的自动化测试报告) pytest-xdist测试用例分布式执行。多CPU分发。 pytest-ordering 用于改变测试用例的执行顺序 pytest-rerunfailures用例失败后重跑 allure-pytest 用于生成美观的测试报告。 2、规则&#xff1a; 模块…

2.7 滑动窗口专题:串联所有单词的子串

LeetCode 30. 串联所有单词的子串算法对比分析 1. 题目链接 LeetCode 30. 串联所有单词的子串 2. 题目描述 给定一个字符串 s 和一个字符串数组 words&#xff0c;words 中所有单词长度相同。要求找到 s 中所有起始索引&#xff0c;使得从该位置开始的连续子串包含 words 中所…

【区块链】区块链密码学基础

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 区块链密码学基础引言一、哈希函数1.1 基本概念1.2 数学表达 二、非对称加密2.1…

Spring Boot配置类原理、Spring Boot核心机制理解,以及实现自动装置的底层原理

目的:从底层源码角度分析 Spring Boot 配置类以及自动装载的底层原理 文章目录 1. Spring Boot 配置类实现自动装载1.1 @Configuration注解1.2 @Configuration 注解完成 bean 注入流程图1.3 @ConfigurationProperties注解赋值2. Spring Boot的核心机制:自动装配2.1 @SpringBo…

docker桌面版启动redis,解决无法连接

docker run -d --name redis -p 6379:6379 -v E:\2\redis\redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf 在本地创建一个目录&#xff0c;里面有个redis.conf文件&#xff0c;内容如下&#xff0c;启动时绑定这个配置文件目…

[网络][tcp协议]:tcp报头

tcp(传输控制协议)是一种面向字节流的传输层协议,相较于udp协议,tcp能保证传输数据的可靠性与准确性,tcp也是目前最常见的传输层协议 本文主要介绍tcp报头各个字段的含义与用途 注:保留6位和6位标记位是目前最普遍的写法,在我查资料时,发现有一些拓展情况,会在后文细说 最简单的…

【虚幻C++笔记】引擎源码下载及编译步骤

目录 1.在GitHub上访问虚幻引擎源代码2.安装Visual Studio 20223.解压完成以后&#xff0c;打开源码的根目录&#xff0c;选择Setup.bat运行4.选择GenerateProjectFiles.bat运行,生成uE5.sln文件&#xff0c;点击这个文件打开项目5.设置编译的选项&#xff0c;选择DevelopmentE…

线性dp(数字三角形,LIS,LCS,LCIS)

文章目录 线性dp数字三角形题目思路 LIS&#xff08;最长上升子序列&#xff09;代码&#xff08;n^2&#xff09;二分优化&#xff08;nlogn&#xff09; LCS(最长公共子序列)代码 LCS——>>LIS思路代码 最长公共子串最长公共上升子序列&#xff08;LCIS&#xff09; 线…

《AI大模型趣味实战》No2 : 快速搭建一个漂亮的AI家庭网站-相册/时间线/日历/多用户/个性化配色(中)

快速搭建一个漂亮的AI家庭网站-相册/时间线/日历/多用户/个性化配色(中) 摘要 在上一篇文章中&#xff0c;我们介绍了如何搭建一个基础的家庭网站&#xff08;V1.0版本&#xff09;&#xff0c;包含了用户管理、相册管理、时间线和日历等功能。本文将继续深入&#xff0c;详细…

软件需求分类、需求获取(高软46)

系列文章目录 软件需求分类&#xff0c;需求获取 文章目录 系列文章目录前言一、软件需求二、获取需求三、真题总结 前言 本节讲明软件需求分类、需求获取的相关知识。 一、软件需求 二、获取需求 三、真题 总结 就是高软笔记&#xff0c;大佬请略过&#xff01;

Zabbix7.0+DeepSeek大模型实现人工智能告警分析

一、方案概述 本方案基于Zabbix7.0监控系统,通过底层webhook脚本机制集成Deepseek做故障分析提供解决方案,构建智能化运维体系。 其核心架构包括: Zabbix监控平台:负责实时监控和告警触发 Webhook接口:实现告警信息的传递 Deepseek AI平台:提供故障智能分析能力 二、…

CPU相关:实时cpu信息接口

[rootxxx ~]# cat /proc/cpuinfo #通过实时cpu信息接口查看cpu信息