K8S日常運維手冊

Kubernetes(簡稱 K8S)是一種廣泛使用的容器編排平臺,能夠自動化部署、擴展和管理容器化應用。對于運維人員來說,掌握 Kubernetes 的日常運維技能是確保系統穩定運行的關鍵。本文將介紹一些 Kubernetes 日常運維的基本操作與技巧,幫助你更好地管理和維護你的 Kubernetes 集群。

1. 集群健康檢查

1.1 查看節點狀態

確保所有節點都正常運行是 Kubernetes 運維的基礎。使用以下命令可以查看節點的狀態:

kubectl get nodes

輸出示例:

sh

NAME           STATUS   ROLES    AGE   VERSION
node1          Ready    master   10d   v1.20.2
node2          Ready    <none>   10d   v1.20.2
node3          Ready    <none>   10d   v1.20.2

1.2 檢查系統組件狀態

系統組件(如?kube-apiserverkube-scheduler?等)的健康狀況也非常重要。可以通過以下命令查看:

kubectl get componentstatuses

輸出示例:

sh

NAME                 STATUS    MESSAGE             ERROR
scheduler            Healthy   ok
controller-manager   Healthy   ok
etcd-0               Healthy   {"health":"true"}

2. 日志管理

2.1 查看 Pod 日志

當某個應用出現問題時,查看 Pod 的日志是定位問題的第一步。使用以下命令可以查看某個 Pod 的日志:

kubectl logs <pod-name>

如果 Pod 有多個容器,可以指定容器名稱:

kubectl logs <pod-name> -c <container-name>

2.2 實時查看日志

可以使用?-f?選項實時查看日志輸出:

kubectl logs -f <pod-name>

3. 資源管理

3.1 擴展/縮減 Deployment

根據業務需求,可能需要動態調整應用的副本數。可以使用以下命令擴展或縮減 Deployment:

sh

kubectl scale deployment <deployment-name> --replicas=<number>

3.2 更新鏡像

當需要更新應用鏡像時,可以使用以下命令:

sh

kubectl set image deployment/<deployment-name> <container-name>=<new-image>

4. 備份與恢復

4.1 備份 ETCD 數據

ETCD 是 Kubernetes 的數據存儲核心,定期備份 ETCD 數據是非常重要的。可以使用以下命令備份 ETCD 數據:

sh

ETCDCTL_API=3 etcdctl snapshot save <backup-file>

4.2 恢復 ETCD 數據

如果出現數據丟失或損壞情況,可以使用以下命令恢復 ETCD 數據:

sh

ETCDCTL_API=3 etcdctl snapshot restore <backup-file> --data-dir /var/lib/etcd

5. 安全管理

5.1 創建 RBAC 角色和綁定

Kubernetes 使用 RBAC(基于角色的訪問控制)來管理權限。以下是創建一個新角色及其綁定的示例:

創建角色:

yaml

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:namespace: defaultname: pod-reader
rules:
- apiGroups: [""]resources: ["pods"]verbs: ["get", "watch", "list"]

創建角色綁定:

yaml

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:name: read-podsnamespace: default
subjects:
- kind: Username: "user1"apiGroup: rbac.authorization.k8s.io
roleRef:kind: Rolename: pod-readerapiGroup: rbac.authorization.k8s.io

應用配置:

sh

kubectl apply -f role.yaml
kubectl apply -f rolebinding.yaml

結論

Kubernetes 日常運維涉及多個方面,從集群健康檢查、日志管理、資源管理,到備份恢復和安全管理,每一個環節都至關重要。希望本文提供的操作指南能幫助你更高效地進行 Kubernetes 集群的日常運維工作。

記得定期更新你的 Kubernetes 版本,并關注官方更新的最佳實踐,以確保你的集群安全、穩定地運行。

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

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

相關文章

虛擬機裝入kali linux

VMware 首先需要先安裝VMware Workstation Pro可以根據這篇文章來下載VMware 下載kali linux Installer Images VS Virtual Machines Installer Images&#xff08;安裝鏡像&#xff09;Virtual Machines&#xff08;虛擬機&#xff09; 直接訪問硬件&#xff0c;定制內核…

Matlab|【防騙帖】考慮時空相關性的風電功率預測誤差建模與分析

目錄 1 主要內容 2 部分程序 3 下載鏈接 1 主要內容 這個程序《考慮時空相關性的風電功率預測誤差建模與分析》畫的圖片非常漂亮&#xff0c;和原文獻基本一致&#xff0c;但是實際上內容并未實現出來&#xff0c;主要就是利用現有的風電預測的數據和結果做了相關的圖&#…

【數據結構】(C語言):鏈表

鏈表&#xff1a; 基本單位是節點。節點至少兩部分&#xff1a;數據&#xff0c;下一個數據的地址。頭指針head&#xff0c;始終指向鏈表的第一個節點。若沒有節點&#xff0c;則headNULL。鏈表在內存中是非連續的。不能使用索引&#xff08;下標&#xff09;查找元素。只能從…

解決:Xshell通過SSH協議連接Ubuntu服務器報“服務器發送了一個意外的數據包,received:3,expected:20”

下圖所示&#xff1a; 日志也基本看不出來問題在哪&#xff0c;只是說斷開了連接大概是驗證失敗。有幸在某論壇評論區找到了原因&#xff0c;是因為我的xshell版本太低了而服務器的ssh版本太高&#xff0c;高版本的ssh默認屏蔽了一部分不太安全的算法導致建立連接的時候驗證失敗…

C++ 14新特性個人總結

variable templates 變量模板。這個特性允許模板被用于定義變量&#xff0c;就像之前模板可以用于定義函數或類型一樣。變量模板為模板編程帶來了新的靈活性&#xff0c;特別是在定義泛化的常量和元編程時非常有用。 變量模板的基本語法 變量模板的聲明遵循以下基本語法&am…

解決Vue+Vite打包后Leaflet的marker圖標不顯示的問題

前言 用Leaflet寫關于WebGIS的開發&#xff0c;用Vite或者webpack打包&#xff0c;打包后會找不到圖標&#xff0c;如下所示。 直言的說&#xff0c;筆者去網上搜了搜&#xff0c;其實收到一個比較好是答案。網址如下。 &#xff08;完美解決~&#xff09;關于VueLeaflet添加…

eslint 與 prettier 的一些常見的配置項(很詳細)

目錄 1、eslint 常見配置項&#xff08;語法規范&#xff09; 2、 prettier 常見的配置項&#xff08;格式規范&#xff09; 代碼規范相關內容看小編的該文章&#xff0c;獲取對你有更好的幫助 vsCode代碼格式化&#xff08;理解eslint、vetur、prettier&#xff0c;實現格式…

IDEA啟動報錯:Abnormal build process termination...

一、問題描述 因為項目需要&#xff0c;同時打開了兩個idea&#xff0c;突然發現一個啟動的時候報錯&#xff0c;有點莫名其妙&#xff0c;剛還好好的&#xff0c;為啥就不能用了&#xff0c;一頓百度找方法&#xff0c;試了各種方法&#xff0c;像重新安裝jdk、重啟系統發現都…

TensorFlow開源項目

歡迎來到 Papicatch的博客 文章目錄 &#x1f349;TensorFlow介紹 &#x1f349;主要特點和功能 &#x1f348;多語言支持 &#x1f348;靈活的架構 &#x1f348;分布式訓練 &#x1f348;跨平臺部署 &#x1f348;強大的工具鏈 &#x1f348;豐富的社區和生態系統 &a…

c++基本數據類型和計算(一)習題講解

1.【單選題】以下說法正確的是? A. unsigned 類型的值 最大為0xFFFFFFFF B. float類型的值大約有15位精度 C.bool類型占用4個字節 解析&#xff1a; 選項A&#xff1a;unsigned 類型的值 最大為 4個字節&#xff0c;正確。選項B&#xff1a; 因為float類型的值是單精度的浮…

Vue3基礎使用

目錄 一、創建Vue3工程 (一)、cli (二)、vite 二、常用Composition API (一)、setup函數 (二)、ref函數 (三)、reactive函數 (四)、setup注意事項 (五)、計算屬性 (六)、watch (七)、watchEffect函數 (八)、生命周期 1、以配置項的形式使用生命周期鉤子 2、組合式…

kafka-簡單代碼實現生產者消費者

生產者代碼&#xff1a; package com.kafka.test;import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.ProducerConfig; import org.apache.kafka.clients.producer.ProducerRecord; import org.apache.kafka.common.seriali…

【機器學習-10】 | Scikit-Learn工具包進階指南:Scikit-Learn工具包之支持向量機模塊研究

&#x1f3a9; 歡迎來到技術探索的奇幻世界&#x1f468;?&#x1f4bb; &#x1f4dc; 個人主頁&#xff1a;一倫明悅-CSDN博客 ?&#x1f3fb; 作者簡介&#xff1a; C軟件開發、Python機器學習愛好者 &#x1f5e3;? 互動與支持&#xff1a;&#x1f4ac;評論 &…

高考填報志愿攻略,5個步驟選專業和院校

在高考完畢出成績的時候&#xff0c;很多人會陷入迷茫中&#xff0c;好像努力了這么多年&#xff0c;卻不知道怎么規劃好未來。怎么填報志愿合適&#xff1f;在填報志愿方面有幾個內容需要弄清楚&#xff0c;按部就班就能找到方向&#xff0c;一起來了解一下正確的步驟吧。 第…

入局AI手機 蘋果公布Apple Intelligence

日前&#xff0c;蘋果WWDC 2024如期召開。在這持續1個小時44分鐘的開發者大會上&#xff0c;蘋果在前一個小時里更新了iOS、iPadOS、MacOS等操作系統&#xff0c;而且還首次更新了visionOS。余下的時間全部留給了蘋果的“AI大禮包”——Apple Intelligence&#xff08;蘋果智能…

請說明Thread類中run和start的區別,從方法的區別,及運行結果的區別分別說明

方法本身的區別 start() 方法&#xff1a; run()方法是Thread類的一個普通方法&#xff0c;它包含了線程要執行的代碼。當你直接調用一個線程的run()方法&#xff08;如myThread.run()&#xff09;&#xff0c;你實際上是在當前線程&#xff08;通常是主線程&#xff09;中執行…

PointCloudLib-濾波模塊(Filtering)-使用參數化模型投影點

在本教程中,我們將學習如何將點投影到參數化模型上 (例如,平面、球體等)。參數模型通過一組 系數 – 在平面的情況下,通過其方程:ax + by + cz + d = 0。 代碼 #include <iostream> #include <pcl/point_cloud.h> // for PointCloud #include <pcl/point…

mysql是什么

mysql是什么 是DBMS軟件系統&#xff0c;并不是一個數據庫&#xff0c;管理數據庫 DBMS相當于用戶和數據庫之間的橋梁&#xff0c;有超過300種不同的dbms系統 mysql是關系型數據庫&#xff0c;關系型數據庫存儲模型很想excel&#xff0c;用行和列組織數據 sql是一門編程語言…

關于ip地址的網頁無法訪問navigator的gpu、媒體、藍牙等設備的解決方法

在使用threejs的WebGPURenderer渲染器時&#xff0c;發現localhost以及127.0.0.1才能訪問到navigator.gpu&#xff0c;直接使用ip會變成undefined,原因是為了用戶的隱私安全&#xff0c;只能在安全的上下文中使用&#xff0c;非安全的上下文就會是undefined&#xff0c;安全上下…