k8s中控制器DaemonSet簡介及用法

一、簡介
在 Kubernetes 中,DaemonSet 是一種控制器類型,用于確保集群中的每個節點運行一個特定的 Pod 實例。通常情況下,DaemonSet 被用來在集群的每個節點上運行一個特定的系統服務或者應用程序副本,例如日志收集器(如 Fluentd 或 Filebeat)、監控代理(如 Prometheus Node Exporter)、存儲解決方案(如 Ceph 的 OSD 部署)等。

二、主要用途
確保每個節點上運行相同的 Pod 實例:
DaemonSet 確保在集群的每個節點上都有一個 Pod 的副本在運行,從而保證了特定任務或服務在整個集群中的普遍性。

1.節點級別的任務部署:
可以用來在每個節點上運行具有特定配置的任務,例如日志收集、監控等任務,這些任務通常需要與節點本身密切關聯。
2.服務發現和負載均衡:
在某些情況下,DaemonSet 可以用于運行網絡服務或負載均衡器的實例,以便每個節點都可以直接處理來自外部的流量。
3.更新和升級:
DaemonSet 也支持更新和升級,可以通過更改 Pod 模板或鏡像來進行滾動更新,確保新的配置或版本可以安全地應用到每個節點。
DaemonSet 的主要作用,是讓你在 k8s 集群里,運行一個 Daemon Pod。

這個 Pod 有如下三個特征:

  1. 這個 Pod 運行在 k8s 集群里的每一個節點(Node)上;
  2. 每個節點上只有一個這樣的 Pod 實例;
  3. 當有新的節點加入 Kubernetes 集群后,該 Pod 會自動地在新節點上被創建出來;而當舊節點被刪除后,它上面的 Pod 也相應地會被回收掉。

舉例:

各種網絡插件的 Agent 組件,都必須運行在每一個節點上,用來處理這個節點上的容器網絡;

各種存儲插件的 Agent 組件,也必須運行在每一個節點上,用來在這個節點上掛載遠程存儲目錄,操作容器的 Volume 目錄;

各種監控組件和日志組件,也必須運行在每一個節點上,負責這個節點上的監控信息和日志搜集。

三、示例
以下是一個簡化的 DaemonSet 示例 YAML 文件,用于在每個節點上運行一個日志收集器:

apiVersion: apps/v1
kind: DaemonSet
metadata:name: fluentdnamespace: kube-system
spec:selector:matchLabels:app: fluentdtemplate:metadata:labels:app: fluentdspec:containers:- name: fluentdimage: fluentd:v1.0.0volumeMounts:- name: varlogmountPath: /var/log- name: varlibdockercontainersmountPath: /var/lib/docker/containersreadOnly: truevolumes:- name: varloghostPath:path: /var/log- name: varlibdockercontainershostPath:path: /var/lib/docker/containers

解釋

  • metadata.name: DaemonSet 的名稱為 fluentd。
  • spec.selector.matchLabels: 選擇器用于選擇要管理的 Pod,這里選擇 app: fluentd 標簽的 Pod。
  • spec.template: 定義要創建的 Pod 的模板。
  • spec.template.spec.containers: 定義 Pod 中運行的容器,這里是 fluentd 容器。
  • spec.template.spec.volumes: 定義 Pod 使用的卷,用于將宿主機的日志目錄和 Docker 容器目錄掛載到容器內部,以便收集日志。
創建 DaemonSet 對象
kubectl create -f fluentd-elasticsearch.yaml
查看 DaemonSet 對象
[root@k8s-master set]# kubectl get ds -n kube-system fluentd-elasticsearch
NAME                    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
fluentd-elasticsearch   3         3         3       3            3           <none>          22m

注:k8s 里比較長的 API 對象都有短名字,比如 DaemonSet 對應的是 ds,Deployment 對應的是 deploy。

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

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

相關文章

《基于 Kafka + Flink + ES 實現危急值處理措施推薦和范圍校準》

&#x1f4e2; 大家好&#xff0c;我是 【戰神劉玉棟】&#xff0c;有10多年的研發經驗&#xff0c;致力于前后端技術棧的知識沉淀和傳播。 &#x1f497; &#x1f33b; 近期剛轉戰 CSDN&#xff0c;會嚴格把控文章質量&#xff0c;絕不濫竽充數&#xff0c;歡迎多多交流。&am…

爬蟲-豆瓣讀書排行榜

獲取數據 requests庫 獲取數據環節需要用到requests庫。安裝方式也簡單 pip install requests 爬取頁面豆瓣讀書 Top 250 用requests庫來訪問 import requests res requests.get(https://book.douban.com/top250/) 解析&#xff1a; 導入requests庫調用了requests庫中的…

2024年文化研究與數字媒體國際會議 (CRDM 2024)

2024年文化研究與數字媒體國際會議 (CRDM 2024) 2024 International Conference on Cultural Research and Digital Media 【重要信息】 大會地點&#xff1a;珠海 大會官網&#xff1a;http://www.iccrdm.com 投稿郵箱&#xff1a;iccrdmsub-conf.com 【注意&#xff1a;稿將…

程序員必知的 89 個操作系統核心概念

1. 操作系統&#xff08;Operating System&#xff0c;OS&#xff09;&#xff1a;是管理計算機硬件與軟件資源的系統軟件&#xff0c;同時也是計算機系統的內核與基石。操作系統需要處理管理與配置內存、決定系統資源供需的優先次序、控制輸入與輸出設備、操作網絡與管理文件系…

開放式耳機的哪些品牌比較好?開放式耳機爆款2024機型強烈推薦

現在耳機越來越難挑&#xff0c;一是市場上的品牌越來越多&#xff0c;網紅品牌&#xff0c;專業的品牌可選擇性太多了&#xff0c;但是質量什么的就沒有辦法保證了&#xff0c;所以作為耳機測評師&#xff0c;為了讓大家能夠挑選到適合自己的那一款開放式耳機&#xff0c;我寫…

Java-SpringBoot啟動報端口被占用,如何找到占用端口的進程并殺掉

背景 當我們本地啟動多個項目&#xff0c;可能會出現端口被占用的情況&#xff0c;當然有時候可能idea窗口關閉&#xff0c;但是進程并沒有kill掉&#xff0c;導致再次啟動項目時也會報端口被占用的錯誤。 通常的做法是打開任務管理器&#xff0c;然后kill掉對應的進程。 首先…

位置編碼的具體計算方式(公式解釋)

公式 (10.6.2) 描述了位置編碼的具體計算方式&#xff0c;這種位置編碼基于正弦和余弦函數&#xff0c;用于在自注意力機制中引入位置信息。下面我們詳細解釋公式和代碼。 公式 (10.6.2) 公式 (10.6.2) 的目的是為輸入序列中的每個詞元添加一個位置編碼&#xff0c;以保留序列…

PROSOFT/普羅索夫特 PROSOFT MVI56-PDPMV1模塊 控制器 處理器

PROSOFT MVI56-PDPMV1是一款功能豐富的工業自動化通信模塊&#xff0c;其參數、規格、尺寸、重量、系列、特征和作用如下&#xff1a; 參數與規格&#xff1a; 功能&#xff1a;作為PROSOFT MVI56-PDPMV1網絡掃描儀&#xff0c;在PROSOFT MVI56-PDPMV1設備和處理器數據之間傳輸…

MOE技術簡要記錄

MOE GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding 模型設計&#xff1a; 特點: (1) 專家容量 expert capacity 強制規定了每一個expert所負責處理的token數量有一個最大值&#xff0c;這個最大值就叫專家容量&#xff1b;&#xff08;…

RK3588 linux RGA初探

概述 RGA (Raster Graphic Acceleration Unit)是一個獨立的2D硬件加速器&#xff0c;可用于加速點/線繪制&#xff0c;執行圖像縮放、旋轉、bitBlt、alpha混合等常見的2D圖形操作。 本文基于以下版本編寫: commit fb5f019ea0191ec1c34f49ac8be447ac8921aadd (HEAD -> main,…

服務器數據恢復—raid5陣列硬盤出現大量壞道的數據恢復案例

服務器存儲數據恢復環境&故障&#xff1a; 一臺DELL EqualLogic PS 4000存儲中有一組由12塊磁盤組建的raid5陣列&#xff0c;存儲空間劃分3個同等大小的卷&#xff0c;采用的VMFS文件系統。 兩塊硬盤指示燈亮黃色&#xff0c;raid5陣列崩潰&#xff0c;存儲變得不可用。 服…

C語言學習記錄Day2

for循環 for&#xff08;表達式1&#xff1b;表達式2&#xff1b;表達式3&#xff09; 循環語句&#xff1b; 注&#xff1a;表達式1&#xff1a;初始化部分.表達式2&#xff1a;條件判斷部分 表達式3&#xff1a;調整部分 不可再for循環體內修改循環變量&#xff0c;防止f…

廠拉拉獲清科文創天使輪投資

最新信息&#xff1a;源頭工廠測品平臺廠拉拉APP已正式獲得北京清科文創千萬級的天使輪投資。 本輪資金將主要用于測品師、品鑒官隊伍的引流&#xff0c;及APP3.0數字供應鏈和用戶購物行為算法技術、算力模型的建設。 廠拉拉APP的營運主體為廣州智邦遠見科技有限公司&#xf…

Java基礎概念

1.注釋和關鍵字 &#xff08;1&#xff09;注釋 什么是注釋&#xff1f;注釋就是對代碼進行解釋說明的文字 注釋的分類&#xff1f;單行注釋&#xff0c;多行注釋&#xff0c;文檔注釋 注釋的使用細節&#xff1f; 注釋的內容不會參與編譯和運行&#xff0c;僅僅是對代碼的…

【Linux】touch

我們在介紹ls這個命令時&#xff0c;提到每個文件在Linux下面都會記錄許多的時間參數&#xff0c;其實是有三個主要的變動時間&#xff0c;那么三個時間的意義是什么&#xff1f; 修改時間&#xff08;modification time&#xff0c;mtime)&#xff1a;當該文件的【內容數據】…

qt udp 協議鏈接舉例

在Qt框架中&#xff0c;使用UDP協議進行通信主要依賴于QUdpSocket類。以下是一個基于Qt的UDP通信示例&#xff0c;包括UDP套接字的創建、綁定端口、發送和接收數據報的步驟。 1. 創建UDP套接字 首先&#xff0c;需要創建一個QUdpSocket對象。這通常在你的類的構造函數中完成&…

【c++刷題筆記-貪心】day28: 134. 加油站 、 135. 分發糖果 、860.檸檬水找零 、 406.根據身高重建隊列

134. 加油站 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;算出當前的消耗的油量總數&#xff0c;如果花費大于油量表示無法到達。統計總花費最大的油耗總數&#xff0c;如果油耗總數大于或者等于0&#xff0c;表示全程沒有負花銷&#xff0c;直接從0起步。小于零…

十二、數組

1. 一維數組的創建和初始化 數組是一組相同類型元素的集合。 變長數組是不能初始化的。 數組的初始化是指&#xff0c;在創建數組的同時給數組的內容一些合理初始值&#xff08;初始化&#xff09;。 例如上圖 char ch3[ ]"abc";里面方的就是 a b c \0 char ch3[ …

EDA 2023 年世界國家suicide rate排名

文章目錄 前言:關于數據集列 導入模塊導入數據數據預處理探索性數據分析按性別劃分的自殺率 [箱線圖]相關矩陣熱圖自殺率最高的 15 個國家變化百分比最高的 15 個國家/地區2023 年世界地圖上自殺率的國家 結尾: 前言: 隨著社會的不斷發展和變遷&#xff0c;人們對于各種社會問…

揭秘:源代碼防泄密的終極秘籍

在當今信息科技高度發達的時代&#xff0c;源代碼作為企業最核心的資產之一&#xff0c;其安全性不言而喻。源代碼的泄露可能導致企業技術機密被競爭對手獲取&#xff0c;進而威脅到企業的市場競爭力和長遠發展。因此&#xff0c;源代碼防泄密成為了企業信息安全工作的重中之重…