K8S集群環境搭建(一)

虛擬機鏡像

ubuntu 24

虛擬機網絡

虛擬網絡–配置

nat模式

20250803132226

20250803132235

主機ip配置

20250803132528

宿主機ip配置

10.0.0.12 master 2c
10.0.0.15 node1
10.0.0.16 node2
10.0.0.17 node3
10.0.0.20 register


sudo vi /etc/netplan/00-installer-config.yaml  # 替換為實際文件名
sudo netplan apply
network:version: 2renderer: networkd  # 服務器版用 networkd;桌面版可改為 NetworkManagerethernets:ens33:  # 替換為你的網卡名稱dhcp4: no  # 關閉 DHCPaddresses:- 10.0.0.15/24  # 靜態 IP/子網掩碼(CIDR 格式)routes:- to: defaultvia: 10.0.0.2  # 網關地址nameservers:addresses: [8.8.8.8, 8.8.4.4]  # DNS 服務器

虛擬機–局域網內–域名配置

10.0.0.12    kubernetes-master.sswang.com  kubernetes-master
10.0.0.15    kubernetes-node1.sswang.com  kubernetes-node1
10.0.0.16    kubernetes-node2.sswang.com  kubernetes-node2
10.0.0.17    kubernetes-node3.sswang.com  kubernetes-node3
10.0.0.20    kubernetes-register.sswang.com  kubernetes-register

密鑰

ssh-keygen -t rsa
ssh-copy-id root@10.0.0.15
ssh-copy-id root@10.0.0.16
ssh-copy-id root@10.0.0.17
ssh-copy-id root@10.0.0.20

設置root用戶密碼: 如果root用戶沒有設置密碼,需要設置一個密碼: sudo passwd root

修改SSH配置文件: 編輯/etc/ssh/sshd_config文件,找到PermitRootLogin配置項,并將其修改為yessudo vim /etc/ssh/sshd_config 將以下內容: #PermitRootLogin prohibit-password 修改為: PermitRootLogin yes

systemctl restart ssh

主機名設置


hostnamectl set-hostname kubernetes-masterssh root@10.0.0.15 "hostnamectl set-hostname kubernetes-node1"ssh root@10.0.0.16 "hostnamectl set-hostname kubernetes-node2"ssh root@10.0.0.17 "hostnamectl set-hostname kubernetes-node3"ssh root@10.0.0.20 "hostnamectl set-hostname kubernetes-register"

swap分區禁用

Kubernetes 為什么要求禁用 Swap?

Kubernetes 的設計初衷是確保容器能夠獲得預期的資源(CPU、內存)。當節點上的內存不足時,操作系統會使用 Swap 空間將部分內存數據換出到磁盤上。然而,這種行為會導致以下問題:

  1. 性能下降:磁盤 I/O 速度遠低于內存,使用 Swap 會顯著降低應用程序性能。
  2. 資源調度不可預測:Kubernetes 調度器無法感知 Swap 的使用情況,它只能基于節點的實際物理內存進行調度決策。如果節點因為 Swap 而“看起來”有足夠內存,但實際上物理內存不足,會導致容器性能急劇下降。
  3. 穩定性問題:當內存壓力大時,頻繁的 Swap 換入換出可能導致節點不穩定,甚至引發 OOM(Out-Of-Memory)問題。
  4. 資源統計不準確:kubelet 在報告節點資源使用情況時,無法準確反映 Swap 的使用,這會影響集群的自動伸縮(HPA/VPA)和資源配額管理。

# 臨時禁用
swapoff -a# 永久禁用
sed -i 's/.*swap.*/#&/' /etc/fstab# 內核參數調整
cat >> /etc/sysctl.d/k8s.conf << EOF
vm.swappiness=0
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF## 創建自定義內核模塊自動加載服務,開機自動加載systemd-modules-load服務,自動加載modules-load.d下的所有服務
sudo tee /etc/modules-load.d/br_netfilter.conf <<EOF
br_netfilter
EOFsudo tee /etc/modules-load.d/overlay.conf <<EOF
overlay
EOFsysctl -p /etc/sysctl.d/k8s.conf# 驗證
free -h  # 應顯示 Swap 行全為0

20250803144843

關閉swap分區后需要重啟系統

20250803144246

for i in 15 16 17 20
do
scp /etc/fstab root@10.0.0.$i:/etc/fstab
scp /etc/sysctl.d/k8s.conf root@10.0.0.$i:/etc/sysctl.d/k8s.conf
scp /etc/modules-load.d/br_netfilter.conf root@10.0.0.$i:/etc/modules-load.d/br_netfilter.conf
scp /etc/modules-load.d/overlay.conf root@10.0.0.$i:/etc/modules-load.d/overlay.conf
ssh root@10.0.0.$i "systemctl restart systemd-modules-load"
ssh root@10.0.0.$i "sysctl -p /etc/sysctl.d/k8s.conf"
done

安裝k8s (adm)

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

20250803110828

容器運行時環境

# 更新軟件包索引
sudo apt update# 安裝必要的依賴工具
sudo apt install -y \ca-certificates \curl \gnupg \lsb-release \software-properties-common

添加 Docker 官方 GPG 密鑰

# 創建密鑰存儲目錄
sudo install -m 0755 -d /etc/apt/keyrings# 下載并添加 Docker 的官方 GPG 密鑰(使用阿里云鏡像)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg# 設置密鑰文件權限
sudo chmod a+r /etc/apt/keyrings/docker.gpg

4. 添加 Docker 軟件源

# 添加 Docker 軟件源(使用阿里云鏡像)
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. 安裝 Docker Engine

# 更新軟件包索引
sudo apt update# 安裝 Docker CE、CLI 和 containerd
sudo apt install -y docker-ce docker-ce-cli containerd.io# 檢查安裝的版本
docker --version
docker compose version

其中containerd.io是docker-engine 所需要的服務

20250810153639

containerd.sock & Docker (dockerd.sock) 的區別

運行環境中的容器運行時接口兩者依賴關系如下,所以兩者都安裝了。
20250810115415

核心作用
  1. 容器運行時接口(CRI):
  • 提供標準的 gRPC 接口,使 Kubernetes 能夠管理容器生命周期
  • Kubernetes kubelet 通過這個 socket 與 containerd 通信
  1. 容器操作通道:
  • 創建/啟動/停止/刪除容器
  • 拉取容器鏡像
  • 管理容器網絡
  • 執行容器內命令
  1. 低級別容器管理:
  • 直接與 Linux 內核的容器功能交互(cgroups、namespaces)
  • 管理容器文件系統(通過快照機制)

6. 配置國內鏡像加速器

為了提高 Docker 鏡像的下載速度,編輯 /etc/docker/daemon.json 配置文件,需要配置國內鏡像加速器:

因為一些限制,所以能用的加速源不多,歡迎大家分享可用的加速源。這里加速源不一定能用。

# 創建 Docker 配置目錄(如果不存在)
sudo mkdir -p /etc/docker# 編輯 daemon.json 配置文件
sudo tee /etc/docker/daemon.json > /dev/null << EOF
{"registry-mirrors": ["http://74f21445.m.daocloud.io","https://docker.xuanyuan.me","https://docker.1ms.run","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"],"dns": ["8.8.8.8", "8.8.4.4"],"log-driver": "json-file","log-opts": {"max-size": "10m","max-file": "3"},"storage-driver": "overlay2","insecure-registries": ["kubernetes-register.sswang.com:80"]
}
EOF# 重新加載 systemd 配置
sudo systemctl daemon-reload# 重啟 Docker 服務使配置生效
sudo systemctl restart dockersystemctl status docker

7. 驗證安裝

# 運行測試容器
sudo docker run hello-world# 查看 Docker 信息
sudo docker info

8. 開機啟動docker

sudo systemctl enable docker
sudo systemctl is-enabled docker  # 應返回 "enabled"
docker info | grep "Storage Driver"

9. docker compose 安裝使用


# 檢查是否已安裝 Docker Compose
docker compose version# 如果未安裝,手動安裝
sudo apt install docker-compose-plugin# 或者使用 pip 安裝(需要先安裝 Python)
pip install docker-compose

10. 完全卸載docker

# 停止所有運行的容器
docker stop $(docker ps -aq)# 刪除所有容器
docker rm $(docker ps -aq)# 刪除所有鏡像
docker rmi $(docker images -q)# 卸載 Docker 軟件包
sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin# 刪除相關目錄和文件
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /etc/docker# 刪除軟件源配置
sudo rm /etc/apt/sources.list.d/docker.list
sudo rm /etc/apt/keyrings/docker.gpg# 清理用戶組設置
sudo deluser $USER docker

11. 總

#!/bin/sh
set -ex# 更新軟件包索引
sudo apt update# 安裝必要的依賴工具
sudo apt install -y ca-certificates curl gnupg lsb-release software-properties-common# 創建密鑰存儲目錄
sudo install -m 0755 -d /etc/apt/keyrings# 下載并添加 Docker 的官方 GPG 密鑰(使用阿里云鏡像)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg# 設置密鑰文件權限
sudo chmod a+r /etc/apt/keyrings/docker.gpg# 添加 Docker 軟件源(使用阿里云鏡像)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 更新軟件包索引
sudo apt update# 安裝 Docker CE、CLI 和 containerd
sudo apt install -y docker-ce docker-ce-cli containerd.io# 檢查安裝的版本
docker --version
docker compose versionsudo systemctl enable docker
sudo systemctl is-enabled docker  # 應返回 "enabled"
docker info | grep "Storage Driver"sudo mkdir -p /etc/docker# 編輯 daemon.json 配置文件 registry主機(hub) 不需要
sudo tee /etc/docker/daemon.json > /dev/null << EOF
{"registry-mirrors": ["http://74f21445.m.daocloud.io","https://docker.xuanyuan.me","https://docker.1ms.run","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"],"dns": ["8.8.8.8", "8.8.4.4"],"log-driver": "json-file","log-opts": {"max-size": "10m","max-file": "3"},"storage-driver": "overlay2","insecure-registries": ["kubernetes-register.sswang.com:80"]
}
EOF# 重新加載 systemd 配置
sudo systemctl daemon-reload# 重啟 Docker 服務使配置生效
sudo systemctl restart dockersystemctl status docker# 重新加載 systemd 配置
sudo systemctl daemon-reload# 重啟 Docker 服務使配置生效
sudo systemctl restart dockersystemctl status dockersudo systemctl enable docker
sudo systemctl is-enabled docker  # 應返回 "enabled"
docker info | grep "Storage Driver"sudo docker run hello-world# 查看 Docker 信息
sudo docker info

cri環境操作

用于k8s運行時控制docker engine。

注意:所有主機操作

獲取軟件

mkdir /data/softs -p && cd /data/softs
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.2/cri-dockerd-0.3.2.amd64.tgz# 解壓軟件
tar -xvf cri-dockerd-0.3.2.amd64.tgz
mv cri-dockerd/cri-dockerd /usr/local/bin/

設置開機啟動cri-dockerd服務,配置socket

cat > /etc/systemd/system/cri-dockerd.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
[Service]
Type=notify
ExecStart=/usr/local/bin/cri-dockerd --pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9 --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin --container-runtime-endpoint=unix:///var/run/cri-dockerd.sock --cri-dockerd-root-directory=/var/lib/dockershim --docker-endpoint=unix:///var/run/docker.sock --cri-dockerd-root-directory=/var/lib/docker
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

此 systemd 服務文件用于配置 cri-dockerd 服務,主要包含:

  1. 定義服務在 docker 和網絡服務之后啟動
  2. 指定 cri-dockerd 的執行參數:
  • 使用阿里云鏡像倉庫的 pause 容器
  • 配置 CNI 網絡插件路徑
  • 設置容器運行時和 docker 的 unix socket 路徑
  • 指定存儲目錄路徑
  1. 配置服務重啟策略和資源限制
  2. 設置系統啟動時自動啟用服務
cat > /etc/systemd/system/cri-dockerd.socket <<-EOF
[Unit]
Description=CRI Docker Socket for the API
PartOf=cri-docker.service[Socket]
ListenerStream=/var/run/cri-dockerd.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker[Install]
WantedBy=sockets.target
EOF

20250803163334

同步從節點

for i in 15 16 17 20
dossh root@10.0.0.$i "systemctl stop cri-dockerd &&  rm -rf /etc/systemd/system/cri-dockerd.socket && rm -rf /etc/systemd/system/cri-dockerd.service && rm -rf /data/softs/cri-dockerd/cri-dockerd"scp  /data/softs/cri-dockerd/cri-dockerd root@10.0.0.$i:/usr/local/binscp  /etc/systemd/system/cri-dockerd.socket root@10.0.0.$i:/etc/systemd/systemscp /etc/systemd/system/cri-dockerd.service root@10.0.0.$i:/etc/systemd/systemssh root@10.0.0.$i "systemctl daemon-reload && systemctl restart cri-dockerd && systemctl enable cri-dockerd"ssh root@10.0.0.$i "systemctl status cri-dockerd | grep Active"
done

harbor倉庫

# 下載軟、】
mkdir /data/{softs,server} -p && cd /data/softs
wget https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz# 解壓軟件
tar -zxvf harbor-offline-installer-v2.5.0.tgz -C /data/server/
cd /data/server/harbor/# 加載鏡像 harbor 到docker中
docker load < harbor.v2.5.0.tar.gz
docker images# 備份配置
cp harbor.yml.tmpl harbor.ymlvi harbor.yml

20250803203144

./prepare # 基于harbor.yml 生成 docker-compose.yml等配置文件,用于生成harbor容器./install.sh # zhuanb

卸載安裝的docker 鏡像、容器

# 卸載容器鏡像
docker images | awk '{print $3}' | grep -v "IMAGE" | xargs  docker rmi
# 卸載compose 配置(用于拉起容器的)
docker compose down -v

安裝成功如下:

20250803221414

harbor 定制服務

/etc/systemd/system/harbor.service

[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor[Service]
Type=simple
Restart=on-failure
RestartSec=5
# 需要注意 harbor 的安裝位置
ExecStart=/usr/bin/docker compose --file /data/server/harbor/docker-compose.yml up
ExecStop=/usr/bin/docker compose --file /data/server/harbor/docker-compose.yml down[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl start harbor
systemctl status harbor
systemctl enable harbor

20250803232352

配置用戶名 deck1; 密碼 a123678A

20250803232507

為harbor倉庫提交鏡像

  1. 鏡像打標簽
    • 必須攜帶harbor主機的地址
  2. 登錄harbor
    docker login
  3. 提交鏡像
    docker push
# 登錄倉庫
docker login kubernetes-register.sswang.com -u sswang#下載鏡像
docker pull busyboxdocker tag busybox kubernetes-register.sswang.com/sswang/busybox:v0.1# 推送
docker push kubernetes-register.sswang.com/sswang/busybox:v0.1

測試過程遇到報錯:

docker login kubernetes-register.sswang.com:80 -u sswang
Password:
Error response from daemon: Get "https://kubernetes-register.sswang.com:80/v2/": http: server gave HTTP response to HTTPS client

主要原因時,docker 默認強制訪問鏡像倉庫都是使用https協議,同時上面harbor的https端口關閉,就需要docker強制harbor的訪問允許http協議:

vi /etc/docker/daemon.json

{"insecure-registries": ["kubernetes-register.sswang.com:8080"]
}

對應每個節點都需要修改。
systemctl restart docker

for i in 15 16 17 20
doscp /etc/docker/daemon.json root@10.0.0.$i:/etc/docker/daemon.jsonssh root@10.0.0.$i "systemctl restart docker"
done
# 登錄倉庫
docker login kubernetes-register.sswang.com:80 -u sswang#下載鏡像
docker pull busyboxdocker tag busybox kubernetes-register.sswang.com:80/sswang/busybox:v0.1# 推送
docker push kubernetes-register.sswang.com:80/sswang/busybox:v0.1

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

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

相關文章

css預編譯器實現星空背景圖

打造夢幻星空背景&#xff1a;用CSS預處理器輕松實現動態效果 星空背景能為網頁增添神秘感和視覺吸引力。通過CSS預處理器&#xff08;如Sass/Less&#xff09;可以高效實現可定制化的星空效果&#xff0c;避免重復編寫純CSS代碼。以下是 Vue3 組件皮膚具體實現方法和代碼示例。…

焊接機器人保護氣體效率優化

在現代工業制造領域&#xff0c;焊接機器人的應用日益廣泛&#xff0c;而保護氣體在焊接過程中起著至關重要的作用。如何優化保護氣體的效率&#xff0c;成為焊接技術發展的一個關鍵考量因素。WGFACS節氣裝置的出現&#xff0c;為焊接機器人在保護氣體效率優化方面帶來了顯著的…

Portkey-AI gateway 的一次“假壓縮頭”翻車的完整排障記:由 httpx 解壓異常引發的根因分析

筆者最近在本地搭建了Portkey AI Gateway&#xff08;模型路由網關&#xff09;&#xff0c;然后按照文檔中的方式進行測試。結果發現&#xff0c;網關能夠接收到請求&#xff0c;但是Python測試的程序卻運行報錯。Python代碼報錯信息如下&#xff1a; Traceback (most recent …

什么是Session? PHP編程中Session用法詳解

一、Session的基本概念 Session 是 Web 開發中用于在服務器端存儲用戶臨時數據的一種機制&#xff0c;它允許服務器在不同的 HTTP 請求之間識別和跟蹤特定用戶的狀態&#xff0c;本質上是?服務器為每個用戶開辟的臨時私有存儲空間?。由于 HTTP 協議本身是無狀態的&#xff…

【大模型】AI平臺 joyagent 2.0 的部署與測試

github鏈接&#xff1a;https://github.com/jd-opensource/joyagent-jdgenie 本篇博客記錄下自己在配置joyagent的過程&#xff0c;以【手動初始化環境&#xff0c;啟動服務】為例&#xff0c;后端調用的deepseek-chat大模型。 前言 JoyAgent是由京東云開源的企業級多智能體系統…

計算機視覺(一):nvidia與cuda介紹

背景與意義 計算機視覺 (Computer Vision, CV) 需要對圖像和視頻進行處理、特征提取和模型訓練&#xff0c;計算量巨大。GPU (圖形處理單元) 擅長并行計算&#xff0c;非常適合深度學習、卷積操作、矩陣乘法等場景。NVIDIA 作為 GPU 領域的領導者&#xff0c;推出了 CUDA (Comp…

阿里云杭州 AI 產品法務崗位信息分享(2025 年 8 月)

&#xff08;注&#xff1a;本崗位信息已獲jobleap.cn授權&#xff0c;可在 CSDN 平臺發布&#xff09; 一、基本信息 招聘方&#xff1a;阿里云工作地點&#xff1a;杭州信息收錄時間&#xff1a;2025 年 08 月 14 日 二、職位主要職責 為 AI 相關產品全流程提供法務支持&…

醫療智慧大屏系統 - Flask + Vue實現

下面我將實現一個完整的醫療智慧大屏系統&#xff0c;使用Flask作為后端框架&#xff0c;前端使用Vue.js結合ECharts進行醫療數據的可視化展示&#xff0c;文章末尾提交源碼下載。 系統設計思路 前端部分&#xff1a; 使用Vue.js構建響應式界面 使用ECharts實現各類醫療數據可…

庫制作與原理(下)

庫制作與原理 (下) 1. 目標文件 編譯和鏈接這兩個步驟&#xff0c;在 Windows 下被我們的 IDE 封裝的很完美&#xff0c;我們一般都是一鍵構建非常方便&#xff0c;但一旦遇到錯誤的時候呢&#xff0c;尤其是鏈接相關的錯誤&#xff0c;很多人就束手無策了。在 Linux 下&#x…

STL 容器

STL是C的核心組成部分&#xff0c;其主要包括了容器、迭代器、算法三大組件。 其中容器負責存儲數據&#xff0c;迭代器是容器和算法的橋梁&#xff0c;負責對容器中的元素進行操作。本文重點介紹容器部分內容。 STL主要容器 STL容器根據特性進行分類&#xff0c;可以分為序列式…

微信小程序 拖拽簽章

微信小程序 拖拽簽章 效果 主要實現的功能點 文件按比例加載圖片(寬高設定拖拽范圍) 彈層展示印章模板 模板拖拽到文件圖片上 實時獲取拽拽位置 難點 彈層中的元素如何拖拽到文件圖片上 實現歷程 版本1.0 以前我們拖拽一個圖層到另一個圖層上,pc端使用的是mousedown mou…

人工智能加速計算套件

按照甲方要求的技術指標的人工智能加速計算套件1套。每套包含以下內容&#xff1a; 1、顯卡 不低于6542Y&#xff1b;容量不低于 48GB GDDR6顯存&#xff1b;CUDA核心不低于14080 個 &#xff1b;第四代Tensor Core不低于440 個&#xff1b;單精度性能不低于69.3 TFLOPS&#x…

端到端測試:復雜系統的終極體檢術

當你的應用像多米諾骨牌一樣牽一發而動全身&#xff0c;如何確保用戶一路暢通無阻&#xff1f;一、為什么我們需要端到端測試&#xff1f; 想象一下&#xff1a;你精心開發的電商應用&#xff0c;用戶登錄順利&#xff0c;商品瀏覽流暢&#xff0c;卻在最后支付時卡殼——原因是…

Perf使用詳解

Perf 工具深度解析 Perf&#xff08;Performance Counters for Linux&#xff09;是 Linux 系統的性能分析工具&#xff0c;基于內核的 perf_event 子系統&#xff0c;通過硬件性能計數器&#xff08;PMC&#xff09;、軟件事件和跟蹤點&#xff08;tracepoints&#xff09;實現…

Windchill 11 Enumerated Type Customization Utility-枚舉類型自定義實用程序

一、Enumerated Type Customization Utility 枚舉類型自定義實用程序&#xff0c;可用于添加或編輯枚舉類型的值&#xff0c;在Windchill 12.0中可直接在類型和屬性管理中編輯&#xff0c;如下圖所示&#xff0c;而在Windchill 11.0中只能通過windchill shell啟動程序&#xff…

git疑問,暫時記錄

有時候把dev本地分支搞亂了,多出幾個提交,好像在遠程倉庫,rebase dev到本地dev,就恢復了,然后再把我開發分支合并過去就ok,就不會多出幾個重復的提交 在自己分支開發提交數據后,不push到遠程倉庫 然后合并到dev分支,推dev分支到遠程倉庫然后在自己分支,rebase到自己分支,然后再…

Java 大視界 -- 基于 Java 的大數據分布式計算在氣象災害預警與應急響應中的應用

Java 大視界 -- 基于 Java 的大數據分布式計算在氣象災害預警與應急響應中的應用引言&#xff1a;Java 筑起氣象防災減災的數字長城正文&#xff1a;Java 構建的氣象智慧防御體系一、氣象大數據的 Java 基座&#xff1a;從采集到存儲的全鏈路優化1.1 多源異構數據的實時匯聚1.2…

MySQL黑盒子研究工具 strace

strace是什么&#xff1f; 按照 strace 官網的描述, strace 是一個可用于診斷、調試和教學的 Linux 用戶空間跟蹤器。我們用它來監控用戶空間進程和內核的交互&#xff0c;比如系統調用、信號傳遞、進程狀態變更等。 strace 底層使用內核的 ptrace 特性來實現其功能。 strace能…

【運維進階】實施任務控制

實施任務控制 在 Ansible 中&#xff0c;“實施任務控制” 通常指的是對任務執行流程的控制&#xff0c;比如&#xff1a; 條件執行&#xff08;when&#xff09; 循環執行&#xff08;with_items / loop&#xff09; 錯誤處理&#xff08;block / rescue / ignore_errors&…

Java 中的線程中斷詳解

Java 中的線程中斷1、什么是線程中斷2、如何觸發線程中斷3、如何處理線程中斷3.1 線程中斷相關的核心方法3.2 處理中斷的典型方式3.3 注意事項4、線程中斷與線程終止的區別5、線程中斷的應用場景5.1 長時間運行任務的取消5.2 阻塞操作的快速響應5.3 服務或線程池的優雅關閉5.4 …