云原生-集群管理

1.集群管理命令:

? a.如何管理集群?

-kubectl是用于控制Kubernetes集群的命令行工具

b.語法格式:

-kubectl [command]? [TYPE]? ? ?[NAME]? ? [flages]

command:子命令,如create、get、descrbe、delete

type:資源類型,可以表示為單數,復數或縮寫形式

name:資源的總稱,如果忽略,則顯示所有資源信息

flages:指定可選標志,或附加的參數

2.管理主機授權

a.為其他主機添加管理權限

-安裝集群管理工具kubectl:eg:

b.拷貝證書到目標主機

-證書默認路徑:$ [HOME]/.kube/config

K8s集群管理案例:

信息查詢命令
子命令	說明
help	用于查看命令及子命令的幫助信息
cluster-info	顯示集群的相關配置信息
api-resources	查看當前服務器上所有的資源對象
api-versions	查看當前服務器上所有資源對象的版本
config	管理當前節點上的認證信息
命令示例
help# 查看幫助命令信息
[root@master ~]# kubectl help version
Print the client and server version information for the current context.Examples:# Print the client and server versions for the current contextkubectl version
... ...
cluster-info# 查看集群狀態信息
[root@master ~]# kubectl cluster-info 
Kubernetes control plane is running at https://192.168.88.50:6443
CoreDNS is running at https://192.168.88.50:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
... ...
api-resources# 查看資源對象類型
[root@master ~]# kubectl api-resources 
NAME             SHORTNAMES     APIVERSION      NAMESPACED      KIND
bindings                        v1              true            Binding
endpoints        ep             v1              true            Endpoints
events           ev             v1              true            Event
... ...
api-versions# 查看資源對象版本
[root@master ~]# kubectl api-versions 
admissionregistration.k8s.io/v1
apiextensions.k8s.io/v1
apiregistration.k8s.io/v1
apps/v1
... ...
config# 查看當前認證使用的用戶及證書
[root@master ~]# kubectl config get-contexts 
CURRENT   NAME                          CLUSTER      AUTHINFO
*         kubernetes-admin@kubernetes   kubernetes   kubernetes-admin
# 使用 view 查看詳細配置
[root@master ~]# kubectl config view 
apiVersion: v1
clusters:
- cluster:certificate-authority-data: DATA+OMITTEDserver: https://192.168.88.50:6443name: kubernetes
contexts:
- context:cluster: kubernetesuser: kubernetes-adminname: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-adminuser:client-certificate-data: REDACTEDclient-key-data: REDACTED
集群管理授權
[root@harbor ~]# vim /etc/hosts
192.168.88.240  harbor
192.168.88.50   master
192.168.88.51   node-0001
192.168.88.52   node-0002
192.168.88.53   node-0003[root@harbor ~]# dnf makecache
[root@harbor ~]# dnf install -y kubectl
[root@harbor ~]# mkdir -p $HOME/.kube
[root@harbor ~]# rsync -av master:/etc/kubernetes/admin.conf $HOME/.kube/config
[root@harbor ~]# chown $(id -u):$(id -g) $HOME/.kube/config
[root@harbor ~]# kubectl get nodes
NAME        STATUS   ROLES           AGE   VERSION
master      Ready    control-plane   24h   v1.29.2
node-0001   Ready    <none>          22h   v1.29.2
node-0002   Ready    <none>          22h   v1.29.2
node-0003   Ready    <none>          22h   v1.29.2

3.資源對象概述

a.什么是資源對象?

-K8s中把可以創建或配置的應用和服務稱為資源對象

-我們在集群中創建的Pod、負載均衡、存儲、網絡服務等等都是資源對象

b.如何創建資源對象?

-簡單資源對象可以使用“kubectl”直接創建

-高級資源對象需要使用“資源清單文件”創建

c.上傳鏡像到harbor倉庫

d.使用run創建一個Pod資源對象

格式:kubectl run <pod名稱>? ?[選項/參數]? ? ?---image? ? <鏡像:標簽>

Pod管理案例:

Pod 管理
創建 Pod
上傳鏡像到 harbor 倉庫
rsync -av public/myos.tar.xz 192.168.88.50:/root/
# 導入鏡像
[root@master ~]# docker load -i myos.tar.xz
# 上傳鏡像到 library 項目
[root@master ~]# docker images|while read i t _;do[[ "${t}" == "TAG" ]] && continue[[ "${i}" =~ ^"harbor:443/".+ ]] && continuedocker tag ${i}:${t} harbor:443/library/${i##*/}:${t}docker push harbor:443/library/${i##*/}:${t}docker rmi ${i}:${t} harbor:443/library/${i##*/}:${t}
done
創建 Pod
# 創建 Pod 資源對象
[root@master ~]# kubectl run myweb --image=myos:httpd
pod/myweb created# 查詢資源對象
[root@master ~]# kubectl get pods -o wide
NAME     READY   STATUS    RESTARTS   AGE   IP           NODE
myweb    1/1     Running   0          3s    10.244.1.3   node-0001# 訪問驗證
[root@master ~]# curl http://10.244.1.3
Welcome to The Apache.

4.Pod概述

a.什么是Pod?

-Pod就像是豌豆莢一樣,它由一個或者多個容器組成

-Pod是一個服務的多個進程的聚合單位

-Pod是Kubernetes中最小的管理元素

-Pod會自動維護在其中運行的容器

-Pod具有原子性、一致性特點

-同一個Pod共享網絡與卷

Pod創建過程:

b.Pod狀態

-Pod的status字段是一個PodStatus的對象,Pod對象總是應該處于其生命進程中以下幾個相位(phase)之一.

5.Pod管理命令

a.系統中的核心服務都是運行在Pod中

-核心管理命令

續Pod管理命令:常用參數

-參數[ -o name]只顯示名字

-參數[-o? wide]顯示更加的詳細信息

-參數[-o? yaml/json] 以Yaml/json格式顯示資源對象.

b.系統命名空間

-default 默認的命名空間,不聲明命名空間的Pod都在這

-Kube-node-lease 為高可用提供心跳監視的命名空間

-Kube-public公共數據,所有用戶都可以讀取它

-Kube-system系統服務對象所使用的命名空間

c.K8s系統核心服務都運行在Kube-system名稱空間中

d.Kubectl create 語法格式

Kubectl create <資源對象>? ?[選項/參數]

e.Kubectl run 語法格式

kubectl run pod名稱 [選項/參數]

f.kubectl describe 語法格式

kubectl describe? 資源類型 [資源名稱]? ?[選項/參數]

-Events下是事務日志,常用于排錯

g.kubectl logs 語法格式

kubectl logs pod名稱? ?[選項/參數]

6.Pod排錯

a.排錯三兄弟

-K8s的系統管理和排錯一直都是難點和重點,在實際工作中排查問題、解決問題是我們必須要掌握的技能之一。

kubectl get

kubectl describe

kubectl logs

案例:

get# 查看 Pod 資源對象
[root@master ~]# kubectl get pods
NAME     READY   STATUS    RESTARTS   AGE
myweb    1/1     Running   0          10m# 只查看資源對象的名字
[root@master ~]# kubectl get pods -o name
pod/myweb# 查看資源對象運行節點的信息
[root@master ~]# kubectl get pods -o wide
NAME     READY   STATUS    RESTARTS   AGE   IP           NODE
myweb    1/1     Running   0          10m   10.244.1.3   node-0001# 查看資源對象詳細信息,Yaml/Json 格式
[root@master ~]# kubectl get pod myweb -o yaml
apiVersion: v1
kind: Pod
metadata:name: myweb
... ...# 查看名稱空間
[root@master ~]# kubectl get namespaces 
NAME              STATUS   AGE
default           Active   39h
kube-node-lease   Active   39h
kube-public       Active   39h
kube-system       Active   39h# 查看名稱空間中的 Pod 信息
[root@master ~]# kubectl -n kube-system get pods
NAME                             READY   STATUS    RESTARTS      AGE
etcd-master                      1/1     Running   0             39h
kube-apiserver-master            1/1     Running   0             39h
kube-controller-manager-master   1/1     Running   0             39h
kube-scheduler-master            1/1     Running   0             39h
... ...
create# 創建名稱空間資源對象
[root@master ~]# kubectl create namespace work
namespace/work created# 查看名稱空間
[root@master ~]# kubectl get namespaces
NAME              STATUS   AGE
default           Active   39h
kube-node-lease   Active   39h
kube-public       Active   39h
kube-system       Active   39h
work              Active   11s
run# 在 work 名稱空間創建 Pod
[root@master ~]# kubectl -n work run myhttp --image=myos:httpd
pod/myhttp created# 查詢資源對象
[root@master ~]# kubectl -n work get pods -o wide
NAME     READY   STATUS    RESTARTS   AGE   IP           NODE
myhttp   1/1     Running   0          3s    10.244.2.2   node-0002# 訪問驗證
[root@master ~]# curl http://10.244.2.2
Welcome to The Apache.
describe# 查看資源對象的配置信息
[root@master ~]# kubectl -n work describe pod myhttp
Name:             myhttp
Namespace:        work
Priority:         0
Service Account:  default
Node:             node-0002/192.168.88.52
... ...
Events:Type    Reason     Age   From               Message----    ------     ----  ----               -------Normal  Scheduled  7s    default-scheduler  Successfully assigned work/myhttp to node-0002Normal  Pulling    6s    kubelet            Pulling image "myos:httpd"Normal  Pulled     2s    kubelet            Successfully pulled image "myos:httpd" in 4.495s (4.495s including waiting)Normal  Created    2s    kubelet            Created container myhttpNormal  Started    2s    kubelet            Started container myhttp# 查看 work 名稱空間的配置信息
[root@master ~]# kubectl describe namespaces work
Name:         work
Labels:       kubernetes.io/metadata.name=work
Annotations:  <none>
Status:       ActiveNo resource quota.No LimitRange resource.
logs# 查看容器日志
[root@master ~]# kubectl -n work logs myhttp
[root@master ~]# 
[root@master ~]# kubectl -n default logs myweb 
2022/11/12 18:28:54 [error] 7#0: *2 open() "... ..." failed (2: No such file or directory), ...... 

b.Pod管理命令(續)

管理命令:

--kubectl exec 在容器內執行命令

kubectl exec [選項/參數]? Pod名稱 ---操作命令

-常用參數 -it分配交互式終端

--kubectl cp拷貝文件/目錄

kubectl cp? [選項/參數] 原文件? ?目標文件

-路徑格式? [Pod名稱:絕對路徑]

--kubectl delete語法格式

-集群中所有資源均可使用delete命令刪除

kubectl delete? [選項/參數]? 資源類型 資源名稱

總結:

子命令說明備注
exec在某一個容器內執行特定的命令可選參數: -c 容器名稱
cp在容器和宿主機之間拷貝文件或目錄可選參數: -c 容器名稱
delete刪除資源對象可選參數: -l 標簽

案例:

exec# 在容器內執行命令
[root@master ~]# kubectl exec -it myweb -- ls 
index.html  info.php[root@master ~]# kubectl exec -it myweb -- bash
[root@myweb html]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450inet 10.244.1.3  netmask 255.255.255.0  broadcast 10.244.2.255ether 3a:32:78:59:ed:25  txqueuelen 0  (Ethernet)
... ...
cp# 與容器進行文件或目錄傳輸
[root@master ~]# kubectl cp myweb:/etc/yum.repos.d /root/aaa
tar: Removing leading `/' from member names
[root@master ~]# tree /root/aaa
/root/aaa
├── local.repo
├── Rocky-AppStream.repo
├── Rocky-BaseOS.repo
└── Rocky-Extras.repo0 directories, 4 files
[root@master ~]# kubectl -n work cp /etc/passwd myhttp:/root/mima
[root@master ~]# kubectl -n work exec -it myhttp -- ls /root/
mima
delete# 刪除資源對象
[root@master ~]# kubectl delete pods myweb 
pod "myweb" deleted# 刪除 work 名稱空間下所有 Pod 對象
[root@master ~]# kubectl -n work delete pods --all
pod "myhttp" deleted# 刪除名稱空間
[root@master ~]# kubectl delete namespaces work 
namespace "work" deleted

7.資源監控組件

a.資源指標概述

資源指標有什么用?

在安裝部署程序之后,必須要了解應用程序在部署后的性能以及資源使用情況。你可以通過檢測 P?od 容器或節點來了解整個集群的情況。

如何監控資源指標?

Kubernetes 的 Metrics-server 組件提供有關節點和 Pod 的資源使用情況的信息,包括 CPU 和內存的指標。如果將 Metrics-server 部署到集群中,就可以查詢并使用到這些信息管理應用及服務。b.Metrics-server 是什么?

Metrics-Server 是集群核心監控數據的聚合器。通俗地說,它存儲了集群中各節點和 Pod 的監控數據,并且提供了API以供查詢和使用。Metrics-Server 通過 kubelet 獲取 node 和 Pod 的 CPU、內存等監控數據。為調度器、彈性控制器、以及 Dashboard 等UI組件提供數據來源。

c.Matrics-server組件安裝

-安裝Metrics-server條件:

--必須啟用聚合服務或使用kube-proxy代理轉發

--節點必須啟用身份驗證和授權

--證書需要由集群證書頒發機構簽名

----簽發引導令牌

案例:資源監控組件

資源監控組件
配置授權令牌
[root@master ~]# echo 'serverTLSBootstrap: true' >>/var/lib/kubelet/config.yaml
[root@master ~]# systemctl restart kubelet
[root@master ~]# kubectl get certificatesigningrequests 
NAME        AGE   SIGNERNAME                      REQUESTOR            REQUESTEDDURATION   CONDITION
csr-2hg42   14s   kubernetes.io/kubelet-serving   system:node:master   <none>              Pending
[root@master ~]# kubectl certificate approve csr-2hg42
certificatesigningrequest.certificates.k8s.io/csr-2hg42 approved
[root@master ~]# kubectl get certificatesigningrequests 
NAME        AGE   SIGNERNAME                      REQUESTOR            REQUESTEDDURATION   CONDITION
csr-2hg42   28s   kubernetes.io/kubelet-serving   system:node:master   <none>              Approved,Issued
安裝插件 metrics
# 上傳鏡像到私有倉庫
[root@master ~]# cd plugins/metrics
[root@master metrics]# docker load -i metrics-server.tar.xz
[root@master metrics]# docker images|while read i t _;do[[ "${t}" == "TAG" ]] && continue[[ "${i}" =~ ^"harbor:443/".+ ]] && continuedocker tag ${i}:${t} harbor:443/plugins/${i##*/}:${t}docker push harbor:443/plugins/${i##*/}:${t}docker rmi ${i}:${t} harbor:443/plugins/${i##*/}:${t}
done# 使用資源對象文件創建服務
[root@master metrics]# sed -ri 's,^(\s*image: )(.*/)?(.+),\1harbor:443/plugins/\3,' components.yaml
140:     image: registry.k8s.io/metrics-server/metrics-server:v0.6.4
[root@master metrics]# kubectl apply -f components.yaml# 驗證插件 Pod 狀態
[root@master metrics]# kubectl -n kube-system get pods
NAME                             READY   STATUS    RESTARTS   AGE
metrics-server-ddb449849-c6lkc   1/1     Running   0          64s
證書簽發
# 查看節點資源指標
[root@master metrics]# kubectl top nodes
NAME        CPU(cores)    CPU%         MEMORY(bytes)     MEMORY%     
master      99m           4%           1005Mi            27%         
node-0001   <unknown>     <unknown>    <unknown>        <unknown>
node-0002   <unknown>     <unknown>    <unknown>        <unknown>
node-0003   <unknown>     <unknown>    <unknown>        <unknown>#--------------- 在所有計算節點配置證書 -----------------
[root@node ~]# echo 'serverTLSBootstrap: true' >>/var/lib/kubelet/config.yaml
[root@node ~]# systemctl restart kubelet#--------------- 在 master 簽發證書 -------------------
[root@master ~]# kubectl certificate approve $(kubectl get csr -o name)
certificatesigningrequest.certificates.k8s.io/csr-t8799 approved
certificatesigningrequest.certificates.k8s.io/csr-69qhz approved
... ...
[root@master ~]# kubectl get certificatesigningrequests
NAME        AGE   SIGNERNAME                      REQUESTOR   CONDITION
csr-2hg42   14m   kubernetes.io/kubelet-serving   master      Approved,Issued
csr-9gu29   28s   kubernetes.io/kubelet-serving   node-0001   Approved,Issued
... ...
資源指標監控
# 獲取資源指標有延時,等待 15s 即可查看
[root@master ~]# kubectl top nodes
NAME        CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
master      83m          4%     1789Mi          50%       
node-0001   34m          1%     747Mi           20%       
node-0002   30m          1%     894Mi           24%       
node-0003   39m          1%     930Mi           25%  

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

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

相關文章

基于Linux下的vscode c/c++開發環境搭建詳細教程

vscode是文本編輯而非集成開發環境&#xff0c;需要經過配置才能在其上編譯執行代碼。本教程將具體詳解在linux上配置Visual Studio Code使用GCC C 編譯器&#xff08;g&#xff09;和GDB調試器的方法&#xff08;GCC是GNU 編譯器集合&#xff0c;GDB則是 GNU調試器&#xff09…

【EGSR2025】材質+擴散模型+神經網絡相關論文整理隨筆

MatSwap: Light-aware material transfers in images 介紹任務&#xff1a;輸入一張拍攝圖像、示例材質紋理圖像&#xff08;這里跟BRDF無關&#xff0c;通常我們講到材質一般指的是SVBRDF&#xff0c;但是這里的材質指的只是紋理&#xff09;、用戶為拍攝圖像指定的遮罩區域&…

WebRTC 雙向視頻通話

WebRTC 雙向視頻通話 一、項目概述 WebRTC&#xff08;Web Real - Time Communication&#xff09;是一種支持瀏覽器之間進行實時通信的技術&#xff0c;它使得在網頁上實現音視頻通話、文件共享等功能變得更加容易。為了體驗這個技術&#xff0c;所以我實現了webrtc - local…

Paimon lookup核心過程:分級查找、二分和緩存創建

LookupLevels LookupLevels 在 Paimon 中扮演著**“帶緩存的、基于 Key 的數據查找引擎”**的角色。它的核心使命是&#xff1a;當需要根據主鍵&#xff08;Key&#xff09;查找某條數據時&#xff0c;能夠高效地在 LSM-Tree 的多層&#xff08;Levels&#xff09;數據文件中定…

Ruby大會演講實錄:Baklib 如何用 AI 重構內容管理賽道

“2015 年成都 Ruby 大會時&#xff0c;我們還在做大數據項目&#xff1b;2025 年的今天&#xff0c;Baklib 已服務 800 多家企業。” 在 RubyConf China 2025 的演講臺上&#xff0c;Baklib 創始人Song以十年對比開篇&#xff0c;講述了從技術愛好者到企業服務創業者的蛻變&am…

408第三季part2 - 計算機網絡 - 傳輸層II

理解第一次和第二次握手是不能攜帶數據&#xff0c;只能消耗一個序號后面揮手也有第一次和第三次題目建立連接是1000&#xff0c;FIN揮手是5001&#xff0c;這兩個是不會帶數據的所以字節數范圍是1001-50005000-10011 4000c再次理解還可以叫快速重傳題目服務器想要100確認號客…

揭秘圖像LLM:從像素到語言的智能轉換

圖像LLM是怎么工作 圖像LLM(多模態大語言模型)的核心是將圖像轉化為語言模型能理解的“語言”,并與文本深度融合。以下結合CLIP、DALL-E、GPT-4V等主流模型,通過具體例子說明其工作機制: 一、圖像→特征向量:從像素到“密碼” 例子:識別“戴墨鏡的貓” 視覺編碼器提取…

十、K8s集群資源合理化分配

十、K8s集群資源合理化分配 文章目錄 十、K8s集群資源合理化分配1、K8s 資源限制 ResourceQuota1.1 什么是ResourceQuota&#xff1f;1.2 ResourceQuota通常用于如下場景&#xff1a;1.3 基于租戶和團隊的資源限制1.4 基于命名空間的資源限制 2、K8s 資源限制 LimitRange2.1 設…

Android 13 設置界面會判斷當前屏幕的大小,如果是大屏,則為左右屏顯示

1.前言 在13.0的系統rom定制化開發中,在某些時候,在大屏設備中,設置新增了左右分屏的功能,就是 左邊顯示主菜單,右邊顯示一級菜單的功能,某些情況下不需要,接下來關閉這個功能 2.設置界面會判斷當前屏幕的大小,如果是大屏,則為左右屏顯示的核心類 packages/apps/Sett…

算法學習day15----藍橋杯--進制轉換

python代碼&#xff1a;def jinzhizhuanhuan(x, n):ans 0while x > 0:ans x % nx // nreturn ans sum 0 for i in range(1, 2025):if jinzhizhuanhuan(i, 2) jinzhizhuanhuan(i, 4):sum 1 print(sum)雖然結束了期末周&#xff0c;但是又變懶了不少&#xff0c;水一個先…

OpenStack擴展

一、OpenStack &#xff08;開源云計算管理平臺&#xff09;的核心服務組件及功能計算服務&#xff08;Compute - Nova&#xff09;功能&#xff1a;是 OpenStack 計算資源管理的核心組件&#xff0c;負責虛擬機實例全生命周期管理&#xff0c;像實例的創建、啟動、暫停、遷移、…

【LeetCode 熱題 100】41. 缺失的第一個正數——(解法二)原地哈希

Problem: 41. 缺失的第一個正數 題目&#xff1a;給你一個未排序的整數數組 nums &#xff0c;請你找出其中沒有出現的最小的正整數。 請你實現時間復雜度為 O(n) 并且只使用常數級別額外空間的解決方案。 【LeetCode 熱題 100】41. 缺失的第一個正數——&#xff08;解法一&am…

C#上位機之Modbus通信協議!

文章目錄前言一、Modbus概念二、使用步驟1.使用Modbus準備2.使用步驟三、Modbus RTU 與 Modbus ASCII對比前言 Modbus通信協議&#xff01; 一、Modbus概念 從站設備編碼&#xff08;從站地址、單元ID&#xff09;&#xff0c;一主多從。 存儲區&#xff1a;0-線圈狀態、1-輸…

前后端分離架構下的跨域問題與解決方案

在現代Web開發中&#xff0c;特別是隨著前后端分離架構的普及&#xff0c;跨域問題成為了開發者必須面對的一個重要議題。本文將詳細介紹什么是跨域問題、其產生的原因以及如何從前端和后端兩個角度來解決這個問題&#xff0c;并提供一些實用的代碼示例。一、跨域問題概述1. 定…

搜索數據建設系列之數據架構重構

導讀 主要概述百度搜索業務數據建設的創新實踐&#xff0c;重點圍繞寬表模型設計、計算引擎優化和新一代業務服務交付模式&#xff08;圖靈3.0開發模式&#xff09;三大方向&#xff0c;解決了傳統數倉在搜索場景下面臨的諸多挑戰&#xff0c;實現了搜索數據建設的高效、穩定、…

2025年滲透測試面試題總結-2025年HW(護網面試) 29(題目+回答)

安全領域各種資源&#xff0c;學習文檔&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具&#xff0c;歡迎關注。、 目錄 2025年HW(護網面試) 29 1. 樣本分析思路 2. Linux GDB分析樣本示例 3. 應急案例&#xff1a;WebShell后…

動態編程入門第二節:委托與事件 - Unity 開發者的高級回調與通信藝術

動態編程入門第一節&#xff1a;C# 反射 - Unity 開發者的超級工具箱 動態編程入門第二節&#xff1a;委托與事件 - Unity 開發者的高級回調與通信藝術 上次我們聊了 C# 反射&#xff0c;它讓程序擁有了在運行時“看清自己”的能力。但光能看清還不夠&#xff0c;我們還需要讓…

降低網絡安全中的人為風險:以人為本的路徑

有效降低網絡安全中的人為風險&#xff0c;關鍵在于采取以人為本的方法。這種方法的核心在于通過高效的培訓和實踐&#xff0c;使員工掌握安全知識、踐行安全行為&#xff0c;并最終培育出安全且相互支持的文化氛圍。 誠然&#xff0c;技術和政策必須為良好的安全行為提供支持、…

opencv裁剪和編譯

opencv裁剪和編譯 0. 準備工作 0.1 下載和安裝Eigen 地址 https://eigen.tuxfamily.org/index.php?titleMain_Page對于opencv編譯&#xff0c;需要增加EIGEN_INCLUDE_PATH和開啟WITH_EIGEN -DWITH_EIGENON -DEIGEN_INCLUDE_PATH./3rd/eigen-3.4.01. 實際腳本 編譯腳本如下: ch…

小白成長之路-mysql數據基礎(三)

文章目錄一、主從復制二、案例總結一、主從復制 1、master開啟二進制日志記錄2、slave開啟IO進程&#xff0c;從master中讀取二進制日志并寫入slave的中繼日志3、slave開啟SQL進程&#xff0c;從中繼日志中讀取二進制日志并進行重放4、最終&#xff0c;達到slave與master中數據…