【Kubernetes安装】从零开始使用kubeadm命令工具部署K8S v1.28.2 集群

文章目录

    • 一、虚拟机配置参数说明
    • 二、kubernetes v1.28.2版本介绍
    • 三、CentOS 7.9 系统初始化配置
      • 3.1 配置CentOS系统基础环境
        • 3.1.1 配置hosts
        • 3.1.2 永久关闭selinux
        • 3.1.3 关闭swap分区
        • 3.1.4 所有节点全部关闭防火墙
        • 3.1.5 配置ntp server同步时间
        • 3.1.6 添加kubernetes镜像源
      • 3.2 内核升级
        • 3.2.1 查看当前内核版本
        • 3.2.2 导入ELPepo仓库公共密钥
        • 3.2.3 安装ELPepo的仓库yum源
        • 3.2.4 选择lt版本安装
        • 3.2.5 设置内核默认启动
        • 3.2.6 重启系统
        • 3.2.7 查看内核版本
      • 3.3 配置Kubernetes运行环境
        • 3.3.1 配置内核参数
        • 3.3.2 配置核模块
        • 3.3.3 重启系统并检查
        • 3.3.4 安装 containerd
        • 3.3.5 配置 containerd
    • 四、kubernetes v1.28.2集群安装步骤
      • 4.1 安装kubeamd、kubelet、kubectl
      • 4.2 部署control-plane节点
      • 4.3 部署calico
        • 4.3.1 安装calico网络插件
        • 4.3.2 修改CALICO的IP地址块
        • 4.3.3 指定网卡
        • 4.3.4 部署calico
      • 4.4 将worker节点加入集群
      • 4.5 Kubernetes dashboard 安装
    • 五、Kubernetes metrics-server 插件部署
      • 5.1 下载yaml文件
      • 5.2 编辑yaml文件
      • 5.3 部署yaml文件
      • 5.4 测试验证
    • 六、参考链接

一、虚拟机配置参数说明

hosthostnameosrolehardware
11.0.1.10master01centos7.9control-planeCPU:2c 内存: 8G 硬盘:50G
11.0.1.11node01centos7.9workerCPU:2c 内存: 8G 硬盘:50G

二、kubernetes v1.28.2版本介绍

  1. 资源管理优化:Kubernetes v1.28 引入了一些新的资源管理特性,例如节点级别的资源限制和配额管理。这些特性可以帮助管理员更好地管理和控制集群中的资源使用情况,提高集群的稳定性和性能。
  2. 网络性能改进:在网络方面,Kubernetes v1.28 对网络策略进行了改进,提高了网络的性能和安全性。此外,还引入了新的网络插件,支持更多的网络拓扑和插件集成。
  3. 安全加固:Kubernetes v1.28 在安全性方面也做了很多改进,例如增加了对身份验证和授权的支持,以及对密钥和证书的管理。这些特性可以帮助管理员更好地保护集群的安全,防止未经授权的访问和攻击。
  4. 简化操作:Kubernetes v1.28 还引入了一些新的工具和特性,旨在简化集群的部署和管理操作。例如,增加了对多集群部署的支持,以及对自动修复和自我保护机制的改进。
  5. 可扩展性提升:Kubernetes v1.28 对可扩展性做了很多改进,例如增加了对自定义资源对象的支持,以及对事件数据的改进。这些特性可以帮助开发者更好地扩展集群的功能和性能。

三、CentOS 7.9 系统初始化配置

[root@master01 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@master01 ~]# uname -a
Linux master01 5.4.277-1.el7.elrepo.x86_64 #1 SMP Sun May 26 13:12:21 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux

3.1 配置CentOS系统基础环境

该部分所有节点均需要操作;

3.1.1 配置hosts
[root@master01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
11.0.1.10       master01
11.0.1.11       node01
3.1.2 永久关闭selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/configsetenforce 0
3.1.3 关闭swap分区
sed -i '/swap/s/^/#/g' /etc/fstabswapoff -a 
3.1.4 所有节点全部关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl is-enabled firewalld
3.1.5 配置ntp server同步时间
ntpdate ntp1.aliyun.com
vi /etc/crontab
1 * * * * root /usr/sbin/ntpdate ntp1.aliyun.com && /sbin/hwclock -w
3.1.6 添加kubernetes镜像源
cat >/etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

3.2 内核升级

3.2.1 查看当前内核版本
[root@master01 ~]# uname -a
Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
3.2.2 导入ELPepo仓库公共密钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
3.2.3 安装ELPepo的仓库yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
3.2.4 选择lt版本安装
yum -y  --enablerepo=elrepo-kernel install kernel-lt
类型版本
ml最新稳定版
lt长期维护版
3.2.5 设置内核默认启动
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
grub2-set-default 0
3.2.6 重启系统
reboot
3.2.7 查看内核版本
[root@master01 ~]# uname -a
Linux localhost.localdomain 4.4.244-1.el7.elrepo.x86_64 #1 SMP Tue Nov 17 18:57:10 EST 2020 x86_64 x86_64 x86_64 GNU/Linux

3.3 配置Kubernetes运行环境

说明:下面的操作所有节点全部执行,后面如果要给集群新增节点也要做这个操作。

3.3.1 配置内核参数
cat > /etc/sysctl.d/Kubernetes.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
EOF
# 使配置生效
sysctl --system
3.3.2 配置核模块
yum -y install conntrack ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git
# 相关内核模块
cat > /etc/modules-load.d/ipvs.conf <<EOF
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack
EOF
# 启动服务
systemctl enable --now systemd-modules-load
3.3.3 重启系统并检查
[root@master01 ~]# reboot
# 检查是否加载成功
lsmod |egrep "ip_vs|nf_conntrack_ipv4"
nf_conntrack_ipv4      15053  26
nf_defrag_ipv4         12729  1 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          139264  10 ip_vs,nf_nat,nf_nat_ipv4,nf_nat_ipv6,xt_conntrack,nf_nat_masquerade_ipv4,nf_nat_masquerade_ipv6,nf_conntrack_netlink,nf_conntrack_ipv4,nf_conntrack_ipv6
libcrc32c              12644  4 xfs,ip_vs,nf_nat,nf_conntrack
3.3.4 安装 containerd
yum -y install yum-utils device-mapper-persistent-data lvm2
# 添加阿里源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 配置 containerd
cat >>/etc/modules-load.d/containerd.conf <<EOF
overlay
br_netfilter
EOF
# 立刻加载 overlay模块
modprobe overlay
# 立刻加载 br_netfilter模块
modprobe br_netfilter
# 安装containerd
yum install containerd.io -y
3.3.5 配置 containerd
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml
# 使用systemd管理cgroups
sed -i '/SystemdCgroup/s/false/true/g' /etc/containerd/config.toml
# 配置sadnbox image从阿里云拉取
sed -i '/sandbox_image/s/registry.k8s.io/registry.aliyuncs.com\/google_containers/g' /etc/containerd/config.toml
sed -i 's#sandbox_image = "registry.k8s.io/pause:3.6"#sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"#' /etc/containerd/config.toml
# 启动containerd
systemctl enable containerd
systemctl start containerd

四、kubernetes v1.28.2集群安装步骤

4.1 安装kubeamd、kubelet、kubectl

# 查看可用版本
yum list kubelet --showduplicates |grep 1.28# 开始安装版本为1.28.2
yum -y install kubectl-1.28.2 kubelet-1.28.2 kubeadm-1.28.2# 启动
systemctl enable kubelet
systemctl start kubelet

4.2 部署control-plane节点

以下操作只在control-plane节点执行,使用kubeadm初始化。

# 查看所需镜像
[root@master01 ~]# kubeadm config images list --kubernetes-version=v1.28.2
registry.k8s.io/kube-apiserver:v1.28.2
registry.k8s.io/kube-controller-manager:v1.28.2
registry.k8s.io/kube-scheduler:v1.28.2
registry.k8s.io/kube-proxy:v1.28.2
registry.k8s.io/pause:3.9
registry.k8s.io/etcd:3.5.7-0
registry.k8s.io/coredns/coredns:v1.10.1# 初始化
[root@master01 ~]# kubeadm init --kubernetes-version=1.28.2 \
--apiserver-advertise-address=192.168.31.200  \
--image-repository  registry.aliyuncs.com/google_containers \
--pod-network-cidr=172.16.0.0/16

4.3 部署calico

4.3.1 安装calico网络插件
wget https://docs.projectcalico.org/manifests/calico.yaml
[root@master01 ~]# kubectl get pods -A
NAMESPACE              NAME                                         READY   STATUS      RESTARTS      AGE
kube-system            calico-kube-controllers-658d97c59c-fzmmj     1/1     Running     5 (23m ago)   24d
kube-system            calico-node-5fdwc                            1/1     Running     5 (23m ago)   24d
kube-system            calico-node-k5smq                            1/1     Running     5 (23m ago)   24d
4.3.2 修改CALICO的IP地址块
# 改为10.244.0.0/16
- name: CALICO_IPV4POOL_CIDRvalue: "172.16.0.0/16"
4.3.3 指定网卡
# Cluster type to identify the deployment type- name: CLUSTER_TYPEvalue: "k8s,bgp"- name: IP_AUTODETECTION_METHODvalue: "interface=ens32" # ens32为本地网卡名字
4.3.4 部署calico
# kubectl apply -f calico.yaml[root@master01 ~]# kubectl get pods -n kube-system
NAME                                       READY   STATUS    RESTARTS      AGE
calico-kube-controllers-658d97c59c-fzmmj   1/1     Running   5 (31m ago)   24d
calico-node-5fdwc                          1/1     Running   5 (31m ago)   24d
calico-node-k5smq                          1/1     Running   5 (31m ago)   24d
coredns-66f779496c-5qxnw                   1/1     Running   5 (31m ago)   24d
coredns-66f779496c-tg9vb                   1/1     Running   5 (31m ago)   24d
etcd-master01                              1/1     Running   5 (31m ago)   24d
kube-apiserver-master01                    1/1     Running   5 (31m ago)   24d
kube-controller-manager-master01           1/1     Running   6 (30m ago)   24d
kube-proxy-thm89                           1/1     Running   5 (31m ago)   24d
kube-proxy-tpcdh                           1/1     Running   5 (31m ago)   24d
kube-scheduler-master01                    1/1     Running   5 (31m ago)   24d
metrics-server-84989b68d9-98bqn            1/1     Running   5 (31m ago)   24d

4.4 将worker节点加入集群

# 所有worker节点都执行
kubeadm join 11.0.1.10:6443 --token l906wz.0fydt3hcfbogwlo9 \--discovery-token-ca-cert-hash sha256:2604d3aab372a483b26bcbdafdb54d7746226975c3a317db07d94eccdfca51be# 查看状态
[root@master01 ~]# kubectl get nodes
NAME          	  STATUS   		ROLES       AGE   VERSION
control-plane01   Ready    	control-plane   13d   v1.28.2
node01   		  Ready    		<none>      13d   v1.28.2
node02   		  Ready    		<none>      13d   v1.28.2
node03   		  Ready    		<none>      13d   v1.28.2

4.5 Kubernetes dashboard 安装

补全安装命令

yum -y install bash-completion
echo "source <(kubectl completion bash)" >> /etc/profile
source /etc/profile

kubernetes-dashboard安装

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v3.0.0-alpha0/charts/kubernetes-dashboard.yaml

修改如下内容

kind: Service
apiVersion: v1
metadata:labels:Kubernetes-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboard
spec:type: NodePort       # 增加内容ports:- port: 443targetPort: 8443nodePort: 30000  # 增加内容(端口范围30000-32767)selector:Kubernetes-app: kubernetes-dashboard# 安装
kubectl apply -f recommended.yaml# 查看进度
[root@master01 ~]# kubectl get all -n kubernetes-dashboard
NAME                                             READY   STATUS    RESTARTS      AGE
pod/dashboard-metrics-scraper-856cb79ffb-5txjq   1/1     Running   4 (41m ago)   24d
pod/kubernetes-dashboard-8ff59f48c-svt95         1/1     Running   3 (22d ago)   24dNAME                                TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
service/dashboard-metrics-scraper   ClusterIP   10.99.106.70    <none>        8000/TCP        24d
service/kubernetes-dashboard        NodePort    10.98.125.159   <none>        443:30000/TCP   24dNAME                                        READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/dashboard-metrics-scraper   1/1     1            1           24d
deployment.apps/kubernetes-dashboard        1/1     1            1           24dNAME                                                   DESIRED   CURRENT   READY   AGE
replicaset.apps/dashboard-metrics-scraper-856cb79ffb   1         1         1       24d
replicaset.apps/kubernetes-dashboard-8ff59f48c         1         1         1       24d

创建admin用户

[root@master01 ~]# vim admin.yaml
apiVersion: v1
kind: ServiceAccount
metadata:name: adminnamespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: admin
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin
subjects:
- kind: ServiceAccountname: adminnamespace: kubernetes-dashboard  
---
apiVersion: v1
kind: Secret
metadata:name: kubernetes-dashboard-adminnamespace: kubernetes-dashboardannotations:kubernetes.io/service-account.name: "admin"
type: kubernetes.io/service-account-token# 创建admin用户token
[root@master01 ~]# kubectl -n kubernetes-dashboard create token admin
eyJhbGciOiJSUzI1NiIsImtpZCI6IlgxVzZreFRlRXZldHNpMGoxUU9lTGxaQ050QnNDZHlmX1RpSk5Xc25BdjgifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzIwNDMwNjc2LCJpYXQiOjE3MjA0MjcwNzYsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJhZG1pbiIsInVpZCI6ImU1NzgxNTI3LWU1MDktNGYwZC05NmU5LTk0OTRjNmJjODQ4ZiJ9fSwibmJmIjoxNzIwNDI3MDc2LCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4ifQ.cXKn-qz3QvQdPuxUgrfKws-GY0f958r_Lv_4XoFXhZkdROAErfETM2TuzU7mEOhAdc7f09t_D4HWETfLFoj-adbsD9sq4KSAVPjcFm-pFS1F_qPovIe1F3CyYCWBnGRWlxlSyvvtktgoUK3Zh8SHsniea5CMbBLDxd8PrH_KARu8jIoCXsqE2VHQE77r_EdPRIqLFgntpBoh4M9Xgg7lTEo1D9NoWmIjpJv67GJyD1jvORadB6H2Eq9M-Q6pH4qqFWnEeJUbG3ZabvyMVfnlE3vOpsaXMB2QfqFMrpj2WEmaalAVHxz74lEQLVapUDehCxNnYR9NgP3Wm4ZftNIQtQ# 获取token
Token=$(kubectl -n kubernetes-dashboard get secret |awk '/kubernetes-dashboard-admin/ {print $1}')
kubectl describe secrets -n kubernetes-dashboard ${Token} |grep token |awk 'NR==NF {print $2}'

最后,使用token登陆,URL地址是 <集群任意节点IP>:30000

image-20240708162610737

五、Kubernetes metrics-server 插件部署

metrics server为Kubernetes自动伸缩提供一个容器资源度量源。metrics-server 从 kubelet 中获取资源指标,并通过 Metrics API 在 Kubernetes API 服务器中公开它们,以供 HPA 和 VPA 使用。

5.1 下载yaml文件

wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml -O metrics-server.yaml

5.2 编辑yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:labels:k8s-app: metrics-servername: metrics-servernamespace: kube-system
spec:# ...template:spec:containers:- args:- --cert-dir=/tmp- --secure-port=4443- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname- --kubelet-use-node-status-port- --metric-resolution=15s- --kubelet-insecure-tls     # 需要新加的一行image: registry.cn-hangzhou.aliyuncs.com/rainux/metrics-server:v0.6.4

5.3 部署yaml文件

# 部署yaml文件
[root@master01 ~]# kubectl apply -f metrics-server.yaml# 查看是否在运行
[root@master01 ~]# kubectl get pods -n kube-system | grep metric
metrics-server-84989b68d9-98bqn            1/1     Running   5 (52m ago)   24d# 获取集群的指标数据
[root@master01 ~]# kubectl get --raw /apis/metrics.k8s.io/v1beta1
{"kind":"APIResourceList","apiVersion":"v1","groupVersion":"metrics.k8s.io/v1beta1","resources":[{"name":"nodes","singularName":"","namespaced":false,"kind":"NodeMetrics","verbs":["get","list"]},{"name":"pods","singularName":"","namespaced":true,"kind":"PodMetrics","verbs":["get","list"]}]}

5.4 测试验证

[root@master01 ~]# kubectl top nodes
NAME       CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
master01   232m         11%    1258Mi          16%
node01     93m          4%     940Mi           12%

六、参考链接

📍 Kubernetes 部署集群1.28.2版本(无坑) - smx886 - 博客园 (cnblogs.com)

📍 K8s持久化存储PV和PVC(通俗易懂)_kubectl get pv-CSDN博客

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

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

相关文章

python的类中的super是做什么的

其实就是子类调用一下父类的构造函数(或者其他函数也行)。:   在 Python 中&#xff0c;super() 是一个用于调用父类&#xff08;或基类&#xff09;的方法。它通常在子类中使用&#xff0c;以便调用其父类的初始化方法或其他方法&#xff0c;从而确保父类的初始化代码在子类…

spring boot easyexcel

1.pom <!-- easyexcel 依赖 --><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.1</version></dependency><dependency><groupId>org.projectlombok</group…

uniapp,app端使用echarts不兼容,可以使用iframe来使用echarts

可以新建文件夹 echarts&#xff0c;里面放echart.min.js文件,echarts.html文件生成echarts图&#xff0c;之所以用iframe不用webview&#xff0c;是因为webview容易出问题&#xff0c;最明显问题是层级问题。 <!DOCTYPE html> <html lang"en"> <hea…

Maven依赖 dependencyManagement、 dependencies、 dependency

在Maven项目构建工具中&#xff0c;“dependencies”、“dependencyManagement”和“dependency”这三个概念扮演着重要的角色&#xff0c;它们之间既有区别又有联系。以下是对这三个概念的详细解释以及它们之间的区别与联系&#xff1a; 一、基本概念 dependencies 定义&…

12--RabbitMQ消息队列

前言&#xff1a;前面一章内容太多&#xff0c;写了kafka&#xff0c;这里就写一下同类产品rabbitmq&#xff0c;rabbitmq内容较少&#xff0c;正好用来过度一下&#xff0c;概念还是会用一些例子来说明&#xff0c;实际部署的内容会放在概念之后。 1、基础概念 1.1、MQ消息队…

CSS原子化

目录 一、定义 二、原子化工具 2.1、tailwind 2.1.1、以PostCss插件形式安装 2.1.2、不依赖PostCss安装 2.1.3、修改原始配置 2.2、unocss 三、优缺点 3.1、优点 3.2、缺点 一、定义 定义&#xff1a;使用一系列的助记词&#xff0c;利用类名来代表样式。 二、原子化…

FastGPT源码部署,不使用docker

在使用FastGPT的过程中&#xff0c;可能有的功能不符合自己的需求。如果使用docker部署没办法修改源码二次开发&#xff0c;所以需要本地通过源码部署。 操作如下&#xff1a; 下载最新代码 git clone https://github.com/labring/FastGPT.git按照pnpm npm install pnpm -g …

uniapp——银行卡号脱敏

样式 代码 {{bankNumber.replace(/(\d{4})(?\d)/g, "●●●● ").replace(/(\d{2})(?\d{2}$)/, " $1")}} 将银行卡号按照每四位一组的方式进行处理&#xff0c;前面的变成 剩下的正常显示

uniapp上架到appstore遇到的问题

1、appstore在美国审核&#xff0c;需要把服务器接口的国外访问权限放开 2、登陆部分 a、审核时只能有密码登陆&#xff0c;可以通过接口响应参数将其他登陆方式暂时隐藏&#xff0c;审核成功后放开即可 b、需要有账号注销功能 3、使用照相机和相册功能时需要写清楚描述文案

在 PostgreSQL 里如何实现数据的自动清理和过期处理?

文章目录 一、使用 TIMESTAMP 列和定期任务二、使用事件触发器&#xff08;Event Triggers&#xff09;三、使用分区表&#xff08;Partitioned Tables&#xff09;四、结合存储过程和定时任务示例场景实现步骤测试与验证 在 PostgreSQL 中&#xff0c;可以通过多种方式实现数据…

达梦数据库系列—25. DSC故障切换

目录 DSC故障切换 故障处理 故障自动切换 DSC故障切换 故障处理 在 DMDSC 故障处理机制下&#xff0c;一旦产生节点故障&#xff0c;登录到故障节点的所有连接将会断开&#xff0c;所有未提交事务将被强制回滚&#xff1b;活动节点上的用户请求可以继续执行&#xff0c;但是…

ChatEval:通过多代理辩论提升LLM文本评估质量

论文地址:ChatEval: Towards Better LLM-based Evaluators through Multi-Agent Debate | OpenReviewText evaluation has historically posed significant challenges, often demanding substantial labor and time cost. With the emergence of large language models (LLMs…

MySQL资源组的使用方法

MySQL支持创建和管理资源组&#xff0c;并允许将服务器内运行的线程分配给特定的组&#xff0c;以便线程根据组可用的资源执行。组属性允许控制其资源&#xff0c;以启用或限制组中线程的资源消耗。DBA可以针对不同的工作负载适当地修改这些属性。 目前&#xff0c;CPU时间是一…

前端开发攻略---webSocket的简单实现与使用

1、演示 2、实现流程 安装依赖 npm i ws 服务端代码 const WebSocket require(ws)// 创建一个 WebSocket 服务器&#xff0c;监听端口 3000 const wss new WebSocket.Server({ port: 3000 })// 监听连接事件 wss.on(connection, function connection(ws) {console.log(客户端…

笔记:mysql双主,keepalived 配置

准备工作 1&#xff0c;两台主机,3个IP mysql-1:192.168.0.1 mysql-2:192.168.0.2 vip 192.168.0.3 2&#xff0c;mysql安装包 下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/ 3&#xff0c;keepalived安装包 下载地址&#xff1a;https://www.keepalived.org…

HTML(29)——立体呈现

作用&#xff1a;设置元素的子元素是位于3D空间中还是平面中 属性名&#xff1a;transform-style 属性值&#xff1a; flat&#xff1a;子级处于平面中preserve-3d:子级处于3D空间 步骤&#xff1a; 父级元素添加 transform-style:preserve-3d 子级定位调整子盒子的位置&a…

TIDB锁表与事务查询

# 查询当前进程&#xff0c;等效show processlist select * from information_schema.PROCESSLIST p;# 查询当前tidb集群开启的事务 select * from INFORMATION_SCHEMA.cluster_tidb_trx;# 查询当前tidb节点开启的事务 SELECT * FROM information_schema.TIDB_TRX tt ;# selec…

【GC 垃圾回收算法和回收器】

作者&#xff1a;ofLJli 链接&#xff1a;https://juejin.cn/post/7003213289425633287?searchId20240709085629749958B21D886D4E67D4 来源&#xff1a;稀土掘金 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 概述 在JVM中主要的结构为&…

云服务器如何隐藏源IP

在云计算时代&#xff0c;保护云服务器的安全成为了企业和个人开发者的重要课题。其中&#xff0c;隐藏云服务器的真实源IP地址是一项有效的安全措施&#xff0c;可以减少DDoS攻击、恶意扫描和数据泄露的风险。本文将详细介绍几种实现隐藏云服务器源IP的方法&#xff0c;并提供…

怎样优化 PostgreSQL 中对 XML 数据的存储和查询?

文章目录 一、数据类型选择二、索引优化三、查询优化四、分区策略五、存储参数调整六、示例代码与解释七、性能测试与监控八、数据清理与压缩九、注意事项 在 PostgreSQL 中处理 XML 数据时&#xff0c;为了实现高效的存储和查询&#xff0c;需要采取一系列的优化策略。以下将详…