k8s v1.28.15部署(kubeadm方式)

k8s部署(kubeadm方式)

部署環境及版本

系統版本:CentOS Linux release 7.9.2009
k8s版本:v1.28.15
docker版本:26.1.4
containerd版本:1.6.33
calico版本:v3.25.0

準備

主機ip主機名角色配置
192.168.1.131vm131master2核4G,50G
192.168.1.132vm132node12核4G,50G
192.168.1.133vm133node22核4G,50G

1、修改主機名

#master
hostnamectl set-hostname vm131
#node1
hostnamectl set-hostname vm132
#node2
hostnamectl set-hostname vm133#修改hosts文件
vim /etc/hosts
192.168.1.131 vm131
192.168.1.132 vm132
192.168.1.133 vm133

2、關閉自帶防火墻

# 關閉SELinux
setenforce 0 
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config# 關閉Firewalld并禁止自啟動
systemctl stop firewalld
systemctl disable firewalld# 設置iptables規則
iptables -F && iptables -X && iptables -F -t nat && iptables -X -t nat && iptables -P FORWARD ACCEPT# 設置iptables,解決iptables而導致流量無法正確路由的問題
cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
vm.overcommit_memory = 1
EOF
sysctl --system# 關閉swap
swapoff -a && free –h
sed -i 's@/dev/mapper/centos-swap@#/dev/mapper/centos-swap@g' /etc/fstab

3、時間同步

yum -y install ntp
systemctl enable ntpd
systemctl start ntpd
timedatectl set-timezone Asia/Shanghai
ntpdate -u time.nist.gov
date#如果遇到yum源的問題,可以通過以下方式解決
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all #清除緩存
yum makecache #生成緩存

一、安裝docker

#安裝編譯器環境
yum -y install gcc gcc-c++
#卸載之前下載的docker(防止和之前安裝過的docker出現沖突)yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
#安裝yum-utils
yum install -y yum-utils
#將docker-ce.repo添加到/etc/yum.repos.d/
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#提升yum安裝的速度
yum makecache fast
#安裝docker
yum install docker-ce docker-ce-cli containerd.io -y
#啟動docker
systemctl start docker
#開機自啟動
systemctl enable docker

二、安裝containerd

yum install containerd -y#配置/etc/containerd/config.toml 
#如果你不打算使用跟蹤功能,可以在 containerd 配置文件中禁用該插件。vim /etc/containerd/config.toml
#disabled_plugins = ["cri"]
[plugins."io.containerd.grpc.v1.cri"]
disable = false#配置完成后,重啟 containerd:
systemctl restart containerd
#如果你需要啟用 tracing,可以配置跟蹤端點。在 containerd 的配置文件中,提供正確的 tracing 端點配置:
#[plugins."io.containerd.tracing.processor.v1.otlp"]
#  endpoint = "your-tracing-endpoint:port"
#根據你所使用的 tracing 服務(如 OpenTelemetry Collector)來提供適當的端點信息。
#配置完成后,重啟 containerd:
#systemctl restart containerd

三、Master節點安裝kubeadm

1、安裝kubelet 和kubeadm以及kubectl

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable --now kubelet

2、下載所需要的鏡像

#查看需要下載的鏡像
kubeadm config images list
#查看結果
I0306 11:27:12.886721   21939 version.go:256] remote version is much newer: v1.32.2; falling back to: stable-1.28
registry.k8s.io/kube-apiserver:v1.28.15
registry.k8s.io/kube-controller-manager:v1.28.15
registry.k8s.io/kube-scheduler:v1.28.15
registry.k8s.io/kube-proxy:v1.28.15
registry.k8s.io/pause:3.9
registry.k8s.io/etcd:3.5.9-0
registry.k8s.io/coredns/coredns:v1.10.1
#下載鏡像(注意:namespace是k8s.io)
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.28.15
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.28.15
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.28.15
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.28.15
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.9-0
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.10.1
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6
#重新打標簽
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.28.15 registry.k8s.io/kube-apiserver:v1.28.15
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.28.15 registry.k8s.io/kube-controller-manager:v1.28.15
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.28.15 registry.k8s.io/kube-scheduler:v1.28.15
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.28.15 registry.k8s.io/kube-proxy:v1.28.15
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9 registry.k8s.io/pause:3.9
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 registry.k8s.io/pause:3.6
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.9-0 registry.k8s.io/etcd:3.5.9-0
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.10.1 registry.k8s.io/coredns/coredns:v1.10.1
#刪除aliyun鏡像
for item in `ctr -n k8s.io images list | awk '$1 ~ /registry.cn-hangzhou.aliyuncs.com/ {print $1}'`;do ctr -n k8s.io images rm ${item};done

3、更改kubelet參數

vim /etc/sysconfig/kubelet#改為如下參數
KUBELET_EXTRA_ARGS=--cgroup-driver=systemd

4、kubeadm初始化

kubeadm init
#出現Your Kubernetes control-plane has initialized successfully!說明初始化成功
#根據提示執行如下命令
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

四、Node節點安裝kubeadm

1、安裝kubeadm kubelet

yum -y install kubeadm kubelet
systemctl enable kubelet.service

2、下載所需要的鏡像

#查看需要下載的鏡像
kubeadm config images list
#查看結果
I0306 11:27:12.886721   21939 version.go:256] remote version is much newer: v1.32.2; falling back to: stable-1.28
registry.k8s.io/kube-apiserver:v1.28.15
registry.k8s.io/kube-controller-manager:v1.28.15
registry.k8s.io/kube-scheduler:v1.28.15
registry.k8s.io/kube-proxy:v1.28.15
registry.k8s.io/pause:3.9
registry.k8s.io/etcd:3.5.9-0
registry.k8s.io/coredns/coredns:v1.10.1
#下載鏡像(注意:namespace是k8s.io)
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.28.15
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.28.15
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.28.15
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.28.15
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.9-0
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.10.1
ctr -n k8s.io images pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6
#重新打標簽
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.28.15 registry.k8s.io/kube-apiserver:v1.28.15
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.28.15 registry.k8s.io/kube-controller-manager:v1.28.15
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.28.15 registry.k8s.io/kube-scheduler:v1.28.15
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.28.15 registry.k8s.io/kube-proxy:v1.28.15
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9 registry.k8s.io/pause:3.9
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 registry.k8s.io/pause:3.6
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.9-0 registry.k8s.io/etcd:3.5.9-0
ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.10.1 registry.k8s.io/coredns/coredns:v1.10.1
#刪除aliyun鏡像
for item in `ctr -n k8s.io images list | awk '$1 ~ /registry.cn-hangzhou.aliyuncs.com/ {print $1}'`;do ctr -n k8s.io images rm ${item};done

3、更改kubelet參數

vim /etc/sysconfig/kubelet#改為如下參數
KUBELET_EXTRA_ARGS=--cgroup-driver=systemd

4、加入Master

#token來自master節點執行kubeinit的結果
kubeadm join 192.168.1.131:6443 --token 51lpgy.tue7o5rnwi3h62ql \
> --discovery-token-ca-cert-hash sha256:200ad4e8f13649b3cd14db97cdaf842d97f4dbbca0cbec123c06b2a3c687ede1

五、安裝網絡插件

1、在Master節點拉取并修改calico.yml文件

#下載calico的yaml文件(Master節點操作)
yum install wget -y
mkdir -pv /data/yaml && cd /data/yaml
wget https://docs.tigera.io/archive/v3.25/manifests/calico.yaml
#修改calico的yaml文件
- name: CALICO_IPV4POOL_CIDRvalue: "10.244.0.0/16"
#在CLUSTER_TYPE那行,下面添加(interface根據自己的主機網卡名修改)
- name: IP_AUTODETECTION_METHODvalue: "interface=ens192"

2、下載所需要的鏡像(Master和Node都要操作)

mkdir -pv /data/tar && cd /data/tar
#需要先用docker下載,用ctr測試下載不下來
docker pull calico/cni:v3.25.0
docker pull calico/node:v3.25.0
docker pull calico/kube-controllers:v3.25.0
#導出docker鏡像
docker save -o cni.tar calico/cni:v3.25.0
docker save -o node.tar calico/node:v3.25.0
docker save -o kube-controllers.tar calico/kube-controllers:v3.25.0
#用ctr導入鏡像(namespace是k8s.io)(前面兩步可以在一臺服務器上操作,最后這步都要操作)
ctr -n k8s.io images import cni.tar
ctr -n k8s.io images import node.tar
ctr -n k8s.io images import kube-controllers.tar
#驗證是否導入成功
ctr -n k8s.io images list|grep calico

3、安裝calico插件

#只在Master節點操作即可
cd /data/yaml
kubectl apply -f calico.yaml
[root@vm131 ~]# kubectl get pods -A
NAMESPACE     NAME                                       READY   STATUS    RESTARTS       AGE
kube-system   calico-kube-controllers-658d97c59c-fc46q   1/1     Running   0              46m
kube-system   calico-node-4cc9q                          1/1     Running   0              46m
kube-system   calico-node-l6ch2                          1/1     Running   0              46m
kube-system   calico-node-r27jj                          1/1     Running   0              46m
kube-system   coredns-5dd5756b68-84cww                   0/1     Running   0              4h
kube-system   coredns-5dd5756b68-nd9v8                   0/1     Running   0              4h
kube-system   etcd-vm131                                 1/1     Running   0              4h1m
kube-system   kube-apiserver-vm131                       1/1     Running   0              4h1m
kube-system   kube-controller-manager-vm131              1/1     Running   1 (3h9m ago)   4h1m
kube-system   kube-proxy-26qwm                           1/1     Running   0              3h44m
kube-system   kube-proxy-bj5xg                           1/1     Running   0              4h
kube-system   kube-proxy-wgfnz                           1/1     Running   0              3h43m
kube-system   kube-scheduler-vm131                       1/1     Running   0              4h1m#出現上面情況可以嘗試,重啟coreDNS
#plugin/kubernetes: Kubernetes API connection failure: Get "https://10.96.0.1:443/version": dial tcp 10.96.0.1:443: i/o timeout
kubectl rollout restart deployment coredns -n kube-system

六、驗證

[root@vm131 ~]# kubectl get pods -A
NAMESPACE     NAME                                       READY   STATUS    RESTARTS        AGE
kube-system   calico-kube-controllers-658d97c59c-t678p   1/1     Running   0               5m26s
kube-system   calico-node-5zj2n                          1/1     Running   0               5m26s
kube-system   calico-node-hjdcm                          1/1     Running   0               5m26s
kube-system   calico-node-hrwh4                          1/1     Running   0               5m26s
kube-system   coredns-967d5bb69-sb9xx                    1/1     Running   0               31m
kube-system   coredns-967d5bb69-sngxg                    1/1     Running   0               31m
kube-system   etcd-vm131                                 1/1     Running   0               4h34m
kube-system   kube-apiserver-vm131                       1/1     Running   0               4h34m
kube-system   kube-controller-manager-vm131              1/1     Running   1 (3h43m ago)   4h34m
kube-system   kube-proxy-26qwm                           1/1     Running   0               4h17m
kube-system   kube-proxy-bj5xg                           1/1     Running   0               4h34m
kube-system   kube-proxy-wgfnz                           1/1     Running   0               4h16m
kube-system   kube-scheduler-vm131                       1/1     Running   0               4h34m
[root@vm131 ~]# kubectl get node
NAME    STATUS   ROLES           AGE     VERSION
vm131   Ready    control-plane   4h34m   v1.28.2
vm132   Ready    <none>          4h16m   v1.28.2
vm133   Ready    <none>          4h17m   v1.28.2

七、問題記錄

crictl images 報錯:
WARN[0000] image connect using default endpoints: [unix:///var/run/dockershim.sock unix:///run/containerd/containerd.sock unix:///run/crio/crio.sock unix:///var/run/cri-dockerd.sock]. As the default settings are now deprecated, you should set the endpoint instead. 
E0305 16:42:46.922252   22812 remote_image.go:119] "ListImages with filter from image service failed" err="rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial unix /var/run/dockershim.sock: connect: no such file or directory\"" filter="&ImageFilter{Image:&ImageSpec{Image:,Annotations:map[string]string{},},}"
FATA[0000] listing images: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/dockershim.sock: connect: no such file or directory"
解決:
export CONTAINER_RUNTIME_ENDPOINT=unix:///run/containerd/containerd.sock
export IMAGE_SERVICE_ENDPOINT=unix:///run/containerd/containerd.sock
配置 crictl 默認連接 containerd
編輯 crictl 配置文件:
mkdir -p /etc/crictl
echo 'runtime-endpoint: unix:///run/containerd/containerd.sock' > /etc/crictl.yamlvim /etc/containerd/config.toml
#disabled_plugins = ["cri"]
[plugins."io.containerd.grpc.v1.cri"]
disable = false禁用跟蹤插件: 如果你不打算使用跟蹤功能,可以在 containerd 配置文件中禁用該插件。在 /etc/containerd/config.toml 文件中,查找并禁用跟蹤插件:
[plugins."io.containerd.tracing.processor.v1.otlp"]enabled = false
然后重啟 containerd:
sudo systemctl restart containerd
配置 tracing endpoint: 如果你需要啟用 tracing,可以配置跟蹤端點。在 containerd 的配置文件中,提供正確的 tracing 端點配置:[plugins."io.containerd.tracing.processor.v1.otlp"]endpoint = "your-tracing-endpoint:port"
根據你所使用的 tracing 服務(如 OpenTelemetry Collector)來提供適當的端點信息。配置完成后,重啟 containerd:
sudo systemctl restart containerd
總結:
如果不使用跟蹤功能,可以簡單地忽略這個信息或禁用該插件。
如果需要啟用跟蹤功能,確保配置了正確的 tracing endpoint

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/71584.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/71584.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/71584.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Redis特性總結

一、速度快 正常情況下&#xff0c;Redis 執?命令的速度?常快&#xff0c;官?給出的數字是讀寫性能可以達到 10 萬 / 秒&#xff0c;當然這也取決于機器的性能&#xff0c;但這?先不討論機器性能上的差異&#xff0c;只分析?下是什么造就了 Redis 如此之快&#xff0c;可以…

C# Unity 面向對象補全計劃 之 索引器與迭代器

本文僅作學習筆記與交流&#xff0c;不作任何商業用途&#xff0c;作者能力有限&#xff0c;如有不足還請斧正 本篇有部分內容出自唐老獅,唐老師網站指路:全部 - 游習堂 - 唐老獅創立的游戲開發在線學習平臺 - Powered By EduSoho 目錄 1.索引器 2.迭代器 1.索引器 我的理解 索…

深度學習PyTorch之13種模型精度評估公式及調用方法

深度學習pytorch之22種損失函數數學公式和代碼定義 深度學習pytorch之19種優化算法&#xff08;optimizer&#xff09;解析 深度學習pytorch之4種歸一化方法&#xff08;Normalization&#xff09;原理公式解析和參數使用 深度學習pytorch之簡單方法自定義9類卷積即插即用 實時…

C++ Primer 拷貝控制和資源管理

歡迎閱讀我的 【CPrimer】專欄 專欄簡介&#xff1a;本專欄主要面向C初學者&#xff0c;解釋C的一些基本概念和基礎語言特性&#xff0c;涉及C標準庫的用法&#xff0c;面向對象特性&#xff0c;泛型特性高級用法。通過使用標準庫中定義的抽象設施&#xff0c;使你更加適應高級…

【無監督學習】層次聚類步驟及matlab實現

層次聚類 &#xff08;四&#xff09;層次聚類1.算法步驟2.MATLAB 實現參考資料 &#xff08;四&#xff09;層次聚類 層次聚類是一種通過逐層合并或分裂數據點構建樹狀結構&#xff08;樹狀圖&#xff0c;Dendrogram&#xff09;的聚類方法。它分為兩種類型&#xff1a; 凝聚…

02 HarmonyOS Next儀表盤案例詳解(一):基礎篇

溫馨提示&#xff1a;本篇博客的詳細代碼已發布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下載運行哦&#xff01; 文章目錄 1. 項目概述2. 技術架構2.1 文件結構2.2 ArkTS 語言特性裝飾器的使用 3. 數據結構設計3.1 接口定義3.2 數據初始化 4. 生命周期與頁面路由…

微信小程序接入deepseek

先上效果 話不多說&#xff0c;直接上代碼&#xff08;本人用的hbuilder Xuniapp&#xff09; <template><view class"container"><!-- 聊天內容區域 --><scroll-view class"chat-list" scroll-y :scroll-top"scrollTop":…

istio入門到精通-2

上部分講到了hosts[*] 匹配所有的微服務&#xff0c;這部分細化一下 在 Istio 的 VirtualService 配置中&#xff0c;hosts 字段用于指定該虛擬服務適用的 目標主機或域名。如果使用具體的域名&#xff08;如 example.com&#xff09;&#xff0c;則只有請求的主機 域名與 exa…

6. PromQL的metric name(在node exporter復制下來交給AI解釋的)

目錄 前言&#xff1a; Go 運行時指標&#xff1a; Go 內存統計指標&#xff1a; CPU 指標&#xff1a; 內存指標&#xff1a; 磁盤指標&#xff1a; 網絡指標&#xff1a; 系統指標&#xff1a; 前言&#xff1a; 寫這個得目的是為了后續方便查詢&#xff0c;因為在pro…

圖像形成與計算機視覺基礎

1. 圖像形成的基本原理 圖像形成是物理世界與傳感器&#xff08;如膠片、CCD/CMOS&#xff09;交互的過程&#xff0c;核心是光線的傳播與記錄。 1.1 直接放置膠片模型 物理原理&#xff1a;物體表面反射的光線直接照射到膠片上&#xff0c;但無任何遮擋或聚焦機制。 問題&a…

Dockerfile概述及編輯

文章目錄 Docker 鏡像原理操作系統組成部分Docker 鏡像原理鏡像制作 Dockerfile概念及作用Dockerfile 概念Dockerfile 作用 Dockerfile關鍵字 案例要求實現步驟 Docker 鏡像原理 操作系統組成部分 操作系統組成&#xff1a;進程調度子系統、進程通信子系統、內存管理子系統、…

CES Asia 2025:AR/VR/XR論壇峰會備受矚目

CES Asia 2025第七屆亞洲消費電子技術貿易展&#xff08;賽逸展&#xff09;將在首都北京心盛大舉行。作為亞洲極具影響力的消費電子技術展會&#xff0c;此次盛會以“科技重塑生活&#xff0c;創新定義未來”為主題&#xff0c;預計將吸引全球500展商、100,000專業觀眾參與&am…

【Java線程基礎操作詳解】

Java線程基礎操作詳解 前言1. 線程創建1.1 繼承Thread類1.2 實現Runnable接口1.3 匿名內部類1.4 lambda表達式 2. 線程中斷3. 線程等待4. 線程休眠 前言 在Java編程里&#xff0c;線程是實現多任務處理的關鍵概念。本文會詳細講解Java中線程的創建、中斷、等待以及休眠等操作&…

qt 播放pcm音頻

一、獲取PCM音頻 ffmpeg -i input.mp3 -acodec pcm_s16le -ar 44100 -ac 2 -f s16le output.pcm -acodec pcm_s16le&#xff1a;指定16位小端PCM編碼格式&#xff08;兼容性最佳&#xff09;-ar 44100&#xff1a;設置采樣率為CD標準44.1kHz&#xff08;可替換為16000/8000等&a…

python實現的可愛卸載動畫

在逛掘金時&#xff0c;掘金用戶在B站看到的靈感進行的一個卸載窗口的動畫效果的實用案例。人類是一種不斷在學習的動物&#xff0c;并且是一種模仿能力學習能里比較強的動物。我這里是第三波的學習實踐者咯&#xff01; 相對VUE構建動畫效果窗口&#xff0c;我更加喜歡用pytho…

出現FullGC的排查思路

一、明確Full GC的觸發原因 根據多篇資料&#xff0c;Full GC的觸發條件主要包括&#xff1a; 直接調用System.gc()&#xff1a;代碼或第三方庫&#xff08;如jxl組件&#xff09;可能顯式觸發。老年代空間不足&#xff1a;大對象直接進入老年代、Minor GC后存活對象過多導致…

【Python運維】 Python與日志管理:構建高效的集中式日志收集與分析系統

《Python OpenCV從菜鳥到高手》帶你進入圖像處理與計算機視覺的大門! 解鎖Python編程的無限可能:《奇妙的Python》帶你漫游代碼世界 在當今信息化時代,日志數據成為企業監控系統健康、優化性能和保障安全的重要資源。傳統的分散式日志管理方式不僅效率低下,而且難以應對大…

給沒有登錄認證的web應用添加登錄認證(openresty lua實現)

這陣子不是deepseek火么&#xff1f;我也折騰了下本地部署&#xff0c;ollama、vllm、llama.cpp都弄了下&#xff0c;webui也用了幾個&#xff0c;發現nextjs-ollama-llm-ui小巧方便&#xff0c;挺適合個人使用的。如果放在網上供多人使用的話&#xff0c;得接入登錄認證才好&a…

靜態成員不依賴于特定對象的內容

靜態成員不依賴于特定對象的內容這一概念主要涉及到面向對象編程中的靜態成員&#xff08;包括靜態變量和靜態方法&#xff09;。為了詳細解釋這一點&#xff0c;我們需要從以下幾個方面來理解&#xff1a; 1. 面向對象編程基礎 在面向對象編程中&#xff0c;類是對象的藍圖&…

SQL Server查詢計劃操作符(7.3)——查詢計劃相關操作符(9)

7.3. 查詢計劃相關操作符 78)Repartition Streams:該操作符消費多個輸入流并產生多個輸出流。期間,記錄內容與格式保持不變。如果查詢優化器使用一個位圖過濾(bitmap filter),則輸出流中的數據行數將會減少。一個輸入流的每行記錄被放入一個輸出流。如果該操作符保留順序…