亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用LXCFS提升容器資源可見性

發布時間:2020-08-07 20:02:53 來源:網絡 閱讀:462 作者:breaklinux 欄目:系統運維

1.技術背景;

? ? Linuxs利用Cgroup實現了對容器的資源限制,但在容器內部依然缺省掛載了宿主機上的procfs的/proc目錄,其包含如:meminfo, cpuinfo,stat, uptime等資源信息。一些監控工具如free/top或遺留應用還依賴上述文件內容獲取資源配置和使用情況。當它們在容器中運行時,就會把宿主機的資源狀態讀取出來,引起錯誤和不便。


2.LXCFS簡介?

? CNCF社區中常見的做法是利用 lxcfs來提供容器中的資源可見性。lxcfs 是一個開源的FUSE(用戶態文件系統)實現來支持LXC容器,它也可以支持Docker容器。

?githup網站:https://github.com/lxc/lxcfs

?LXCFS通過用戶態文件系統,在容器中提供下列 procfs 的文件。

/proc/cpuinfo
/proc/diskstats
/proc/meminfo
/proc/stat
/proc/swaps
/proc/uptime

?

3.LXCFS工作示意圖:

利用LXCFS提升容器資源可見性? ?

比如,把宿主機的 /var/lib/lxcfs/proc/memoinfo 文件掛載到Docker容器的/proc/meminfo位置后。容器中進程讀取相應文件內容時,LXCFS的FUSE實現會從容器對應的Cgroup中讀取正確的內存限制。從而使得應用獲得正確的資源約束設定


4.Docker?實戰提升容器資源可見性;

注:

本文采用CentOS 7.2 作為測試環境,并已經開啟FUSE模塊支持。


fuse用途:

傳統的文件系統是操作系統的一部分,放在操作系統內核里面實現。Fuse(Filesystem in Userspace), 一個用戶空間文件系統框架,提供給我們一組用于實現一個文件系統的API,使我們可以在用戶態實現自已的文件系統。


Docker for Mac/Minikube等開發環境由于采用高度剪裁過的操作系統,無法支持FUSE,并運行LXCFS進行測試。
安裝 lxcfs 的RPM包


4.1.環境信息:


系統版本內核版本軟件依賴軟件版本備注說明



CentOS Linux 7.2.151



3.10.0-1062.4.1.el7.x86_64

fuse-libs

fuse

fuse-devel

fuse-devel-2.9.2-7.el7.x86_64

fuse-libs-2.9.2-7.el7.x86_64

fuse-2.9.2-7.el7.x86_64


用戶態實現自已的文件系統。

dockerdocker-1.13.1-102.git7f2769b.el7.centos.x86_64docker服務
lxcfslxcfs-3.1.2-0.2.el7.x86_64.rpmLXCFS主程序軟件包


4.2?安裝依賴獲取軟件包并啟動服務

yum?-y?install?fuse-devel?fuse?docker?lxc-templates?
wget?https://copr-be.cloud.fedoraproject.org/results/ganto/lxc3/epel-7-x86_64/01041891-lxcfs/lxcfs-3.1.2-0.2.el7.x86_64.rpm
rpm?-ivh?lxcfs-3.1.2-0.2.el7.x86_64.rpm
systemctl?start?docker
lxcfs?/var/lib/lxcfs?&


4.3?運行docker 測試鏡像

docker?run?-itd?-m?256m?\????
-v?/var/lib/lxcfs/proc/cpuinfo:/proc/cpuinfo:rw?\
-v?/var/lib/lxcfs/proc/diskstats:/proc/diskstats:rw?\
-v?/var/lib/lxcfs/proc/meminfo:/proc/meminfo:rw?\
-v?/var/lib/lxcfs/proc/stat:/proc/stat:rw?\
-v?/var/lib/lxcfs/proc/swaps:/proc/swaps:rw?\???
-v?/var/lib/lxcfs/proc/uptime:/proc/uptime:rw??\??
ubuntu:16.04?/bin/bash

注意:

container_linux.go:247:?starting?container?process?caused?"process_linux.go:258:?applying?cgroup?configuration?for?process?caused?\"Cannot?set?property?TasksAccounting,?or?unknown?property.\""/usr/bin/docker-current:?Error?response?from?daemon:?oci?runtime?error:?container_linux.go:247:?starting?container?process?caused?"process_linux.go:258:?applying?cgroup?configuration?for?process?caused?\"Cannot?set?property?TasksAccounting,?or?unknown?property.\"".

解決:主要原因還是centos系統版本兼容性問題,如果將系統做更新升級

yum update?


4.4?查詢實驗結果;

(1).設置過lxcfs?容器和設置lxcfs?對比? 內存對比

利用LXCFS提升容器資源可見性


(2).未進行設置容器;

利用LXCFS提升容器資源可見性


(1).設置過lxcfs?容器和設置lxcfs?對比? uptime?對比;

利用LXCFS提升容器資源可見性



5.Kubernetes 實戰提升容器資源可見性;


一些同學問過如何在Kubernetes集群環境中使用lxcfs,我們將給大家一個示例方法供參考。

首先我們要在集群節點上安裝并啟動lxcfs,我們將用Kubernetes的方式,用利用容器和DaemonSet方式來運行 lxcfs FUSE文件系統。

通過Github上獲得


git?clone?https://github.com/denverdino/lxcfs-initializer
cd?lxcfs-initializer






向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元朗区| 达拉特旗| 和静县| 威远县| 壤塘县| 大关县| 桂东县| 洛阳市| 河津市| 永定县| 安乡县| 奇台县| 郸城县| 海阳市| 开化县| 新巴尔虎右旗| 苗栗市| 定远县| 黑河市| 乡城县| 化隆| 甘肃省| 金门县| 大理市| 屯门区| 富蕴县| 马鞍山市| 石城县| 宣城市| 随州市| 永州市| 长乐市| 二连浩特市| 北海市| 乌拉特前旗| 静安区| 叙永县| 柘城县| 阜城县| 岑巩县| 涟水县|