色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Kubernetes容器垃圾回收的策略

馬哥Linux運維 ? 來源:博客園 ? 作者:博客園 ? 2022-08-15 09:16 ? 次閱讀

一、Tips

  1. Kubernetes的垃圾回收由kubelet進行管理,每分鐘會查詢清理一次容器,每五分鐘查詢清理一次鏡像。在kubelet剛啟動時并不會立即進行GC,即第一次進行容器回收為kubelet啟動一分鐘后,第一次進行鏡像回收為kubelet啟動五分鐘后。

  2. 推薦使用其它管理工具或手工進行容器和鏡像的清理,因為kubelet需要通過容器來判斷pod的運行狀態,如果使用其它方式清除容器有可能影響kubelet的正常工作。

  3. 鏡像的回收針對node結點上由docker管理的所有鏡像,無論該鏡像是否是在創建pod時pull的。而容器的回收策略只應用于通過kubelet管理的容器。

  4. Kubernetes通過kubelet集成的cadvisor進行鏡像的回收,有兩個參數可以設置:--image-gc-high-threshold--image-gc-low-threshold。當用于存儲鏡像的磁盤使用率達到百分之--image-gc-high-threshold時將觸發鏡像回收,刪除最近最久未使用(LRU,Least Recently Used)的鏡像直到磁盤使用率降為百分之--image-gc-low-threshold或無鏡像可刪為止。默認--image-gc-high-threshold為90,``--image-gc-low-threshold`為80。

  5. 容器的回收有三個參數可設置:--minimum-container-ttl-duration--maximum-dead-containers-per-container--maximum-dead-containers。從容器停止運行時起經過--minimum-container-ttl-duration時間后,該容器標記為已過期將來可以被回收(只是標記,不是回收),默認值為1m0s。一般情況下每個pod最多可以保留--maximum-dead-containers-per-container個已停止運行的容器集,默認值為2。整個node節點可以保留--maximum-dead-containers個已停止運行的容器,默認值為100。

  6. 如果需要關閉容器的垃圾回收策略,可以將--minimum-container-ttl-duration設為0(表示無限制),--maximum-dead-containers-per-container--maximum-dead-containers設為負數。

  7. --minimum-container-ttl-duration的值可以使用單位后綴,如h表示小時,m表示分鐘,s表示秒。

  8. --maximum-dead-containers-per-container--maximum-dead-containers沖突時,``--maximum-dead-containers`優先考慮。

  9. 對于那些由kubelet創建的但由于某些原因導致無名字()的容器,會在到達GC時間點時被刪除。

  10. 回收容器時,按創建時間排序,優先刪除那些創建時間最早的容器。

  11. 到達GC時間點時,具體的GC過程如下:1)遍歷所有pod,使其滿足--maximum-dead-containers-per-container;2)經過上一步后如果不滿足--maximum-dead-containers,計算值X=(--maximum-dead-containers)/(pod總數),再遍歷所有pod,使其滿足已停止運行的容器集個數不大于X且至少為1;3)經過以上兩步后如果還不滿足--maximum-dead-containers,則對所有已停止的容器排序,優先刪除創建時間最早的容器直到滿足--maximum-dead-containers為止。

  12. 當某個鏡像重新pull或啟動某個pod用到該鏡像時,該鏡像的最近使用時間都會被更新。

  13. Kubernetes的垃圾回收在1.1.4版本開始才漸漸完善,之前的版本存在比較多bug甚至不能發揮作用。

  14. 關于容器的回收需要特別注意pod的概念,比如,通過同一個yaml文件create一個pod,再delete這個pod,然后再create這個pod,此時之前的那個pod對應的容器并不會作為新創建pod的已停止容器集,因為這兩個pod雖然同名,但已經不是同一個pod了。只有同一個pod中在運行過程中由于意外或其它情況停止的容器才算是這個pod的已停止容器集。

二、Experiments

  1. 鏡像回收(使用docker默認 --graph 參數:/var/lib/docker

結點上運行的docker設置的參數 --graph 使用默認的/var/lib/docker,指向/var文件系統,通過df -lh查看目前 /var 磁盤使用率為30%,啟動kubelet設置鏡像回收相關參數如下:

--image-gc-high-threshold=40--image-gc-low-threshold=35

此時任意創建兩個使用不同鏡像的pod,在node節點上可以看到新pull了三個images(pause鏡像是啟動pod必需的):

[@tc-151-100/opt/domeos/openxxs/k8s-1.1.7-flannel]#dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
10.11.150.76:5000/openxxs/iperf1.21783511c56f83monthsago279MB
10.11.150.76:5000/centos75ddf34d4d69b8monthsago172.2MB
pub.domeos.org/kubernetes/pauselatestf9d5de07953920monthsago239.8kB

此時查看/var磁盤使用率達到了41%,然后將使用10.11.150.76:5000/centos:7鏡像的pod刪除,等待GC的鏡像回收時間點。然而五分鐘過去了,什么事情也沒有發生=_=!!。還記得 docker rmi 鏡像時有個前提條件是什么嗎?沒錯,要求使用該鏡像的容器都已經被刪除了才可以。前面刪除pod只是停止了容器,并沒有將容器刪除。因此手工將對應的容器docker rm掉,再等待五分鐘后,可以看到鏡像已經被刪除回收了:

[@tc-151-100/opt/domeos/openxxs/k8s-1.1.7-flannel]#dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
10.11.150.76:5000/openxxs/iperf1.21783511c56f83monthsago279MB
pub.domeos.org/kubernetes/pauselatestf9d5de07953920monthsago239.8kB

結論:只有相關聯的容器都被停止并刪除回收后,才能將Kubernetes的鏡像垃圾回收策略應用到該鏡像上。

  1. 鏡像回收(使用自定義docker --graph 參數:/opt/docker

結點上運行的docker設置的參數--graph指向 /opt 磁盤,通過 df -lh 查看目前 /opt 磁盤使用率為 48% ,啟動 kubelet 設置鏡像回收相關參數如下:

--image-gc-high-threshold=50--image-gc-low-threshold=40

此時任意創建兩個使用不同鏡像的pod,在node節點上可以看到新pull了三個images:

[@tc-151-100/opt/domeos/openxxs/k8s-1.1.7-flannel]#dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
10.11.150.76:5000/openxxs/iperf1.21783511c56f83monthsago279MB
10.11.150.76:5000/centos75ddf34d4d69b8monthsago172.2MB
pub.domeos.org/kubernetes/pauselatestf9d5de07953920monthsago239.8kB

此時查看/opt磁盤使用率達到了51%,然后將使用10.11.150.76:5000/centos:7鏡像的pod刪除,手工將對應的容器docker rm掉,等待GC的鏡像回收時間點。然而五分鐘過去了,十分鐘過去了,docker images時centos鏡像依舊頑固地堅守在陣地。

結論:目前Kubernetes的鏡像垃圾回收策略可以在docker --graph 參數默認為 /var/lib/docker 時正常工作,當 --graph 設置為其它磁盤路徑時還存在bug。

問題反饋在 Github 的相關 issue 里:https://github.com/kubernetes/kubernetes/issues/17994,可以繼續跟進。

Append: 根據Github上的反饋,這個bug將在后續版本中解決,目前版本需要讓設置了--graph的鏡像垃圾回收生效,在啟動kubelet時還需要加上參數 --docker-root=

  1. 容器回收之 --maximum-dead-containers-per-container 參數

啟動kubelet設置容器回收相關參數如下:

--maximum-dead-containers-per-container=1--minimum-container-ttl-duration=30s--maximum-dead-containers=100

創建一個只包含一個容器且該容器一運行就退出的pod,此時在node節點上可以看到該pod中的容器不斷的創建退出創建退出:

[@tc-151-100/home/domeos]#dockerps-a
CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
2fe96949916410.11.150.76:5000/centos:7"/bin/bash"4secondsagoExited(0)2secondsagok8s_iperf1.57dfe29d_test-gc-pod-exit_default_92e8bd05-e9e6-11e5-974c-782bcb2a316a_68cc6f03
555b5e7a855010.11.150.76:5000/centos:7"/bin/bash"24secondsagoExited(0)22secondsagok8s_iperf1.57dfe29d_test-gc-pod-exit_default_92e8bd05-e9e6-11e5-974c-782bcb2a316a_ad4a5e39
94b30a0b32c210.11.150.76:5000/centos:7"/bin/bash"34secondsagoExited(0)32secondsagok8s_iperf1.57dfe29d_test-gc-pod-exit_default_92e8bd05-e9e6-11e5-974c-782bcb2a316a_4027e3e1
d458e6a7d396pub.domeos.org/kubernetes/pause:latest"/pause"34secondsagoUp33secondsk8s_POD.bdb2e1f5_test-gc-pod-exit_default_92e8bd05-e9e6-11e5-974c-782bcb2a316a_09798975

GC的容器回收時間點到達時,可以看到創建時間大于30秒的已退出容器只剩下一個(pause容器不計算),且先創建的容器被優先刪除:

[@tc-151-100/home/domeos]#dockerps-a
CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
5aae6157aeff10.11.150.76:5000/centos:7"/bin/bash"46secondsagoExited(0)45secondsagok8s_iperf1.57dfe29d_test-gc-pod-exit_default_92e8bd05-e9e6-11e5-974c-782bcb2a316a_f126d2a8
d458e6a7d396pub.domeos.org/kubernetes/pause:latest"/pause"2minutesagoUp2minutesk8s_POD.bdb2e1f5_test-gc-pod-exit_default_92e8bd05-e9e6-11e5-974c-782bcb2a316a_09798975

結論:Kubernetes容器垃圾回收的--maximum-dead-containers-per-container參數設置可正常工作。

  1. --maximum-dead-containers-per-container 針對容器還是容器集

啟動kubelet設置容器回收相關參數如下:

--maximum-dead-containers-per-container=1--minimum-container-ttl-duration=30s--maximum-dead-containers=100

創建一個包含三個容器且這些容器一運行就退出的pod,此時在node節點上可以看到該pod中的容器不斷的創建退出創建退出:

[@tc-151-100/home/domeos]#dockerps-a
CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
dec04bd28a0310.11.150.76:5000/centos:7"/bin/bash"7secondsagoExited(0)6secondsagok8s_iperf1.57dfe29d_test-gc-pod-exit_default_d1677c09-e9e7-11e5-974c-782bcb2a316a_830a9375
7c94d4a963a710.11.150.76:5000/centos:7"/bin/bash"7secondsagoExited(0)6secondsagok8s_iperf3.5c8de29f_test-gc-pod-exit_default_d1677c09-e9e7-11e5-974c-782bcb2a316a_975d44d3
4f3e7e8ddfd510.11.150.76:5000/centos:7"/bin/bash"8secondsagoExited(0)7secondsagok8s_iperf2.5a36e29e_test-gc-pod-exit_default_d1677c09-e9e7-11e5-974c-782bcb2a316a_d024eb06
cb48cf2ba13310.11.150.76:5000/centos:7"/bin/bash"12secondsagoExited(0)11secondsagok8s_iperf3.5c8de29f_test-gc-pod-exit_default_d1677c09-e9e7-11e5-974c-782bcb2a316a_b5ff7373
ec2941f046f010.11.150.76:5000/centos:7"/bin/bash"13secondsagoExited(0)12secondsagok8s_iperf2.5a36e29e_test-gc-pod-exit_default_d1677c09-e9e7-11e5-974c-782bcb2a316a_69b1a996
f831e8ed568710.11.150.76:5000/centos:7"/bin/bash"13secondsagoExited(0)12secondsagok8s_iperf1.57dfe29d_test-gc-pod-exit_default_d1677c09-e9e7-11e5-974c-782bcb2a316a_fbc02e2e
ee972a4537fcpub.domeos.org/kubernetes/pause:latest"/pause"14secondsagoUp13secondsk8s_POD.bdb2e1f5_test-gc-pod-exit_default_d1677c09-e9e7-11e5-974c-782bcb2a316a_85b3c032

GC的容器回收時間點到達時,可以看到創建時間大于30秒的已退出容器剩下三個(pause容器不計算),且這三個容器正好是一組:

[@tc-151-100/home/domeos]#dockerps-a
CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
e4351e6855ae10.11.150.76:5000/centos:7"/bin/bash"51secondsagoExited(0)50secondsagok8s_iperf3.5c8de29f_test-gc-pod-exit_default_d1677c09-e9e7-11e5-974c-782bcb2a316a_263dd820
990baa6e6a7a10.11.150.76:5000/centos:7"/bin/bash"52secondsagoExited(0)51secondsagok8s_iperf2.5a36e29e_test-gc-pod-exit_default_d1677c09-e9e7-11e5-974c-782bcb2a316a_b16b5eaa
c6916fb06d6510.11.150.76:5000/centos:7"/bin/bash"53secondsagoExited(0)51secondsagok8s_iperf1.57dfe29d_test-gc-pod-exit_default_d1677c09-e9e7-11e5-974c-782bcb2a316a_1d8ea284
ee972a4537fcpub.domeos.org/kubernetes/pause:latest"/pause"AboutaminuteagoUpAboutaminutek8s_POD.bdb2e1f5_test-gc-pod-exit_default_d1677c09-e9e7-11e5-974c-782bcb2a316a_85b3c032

結論:--maximum-dead-containers-per-container 的計數針對一個pod內的容器集而不是容器的個數。

  1. 容器回收之 --maximum-dead-containers 參數

啟動kubelet設置容器回收相關參數如下:

--maximum-dead-containers-per-container=2--minimum-container-ttl-duration=30s--maximum-dead-containers=3

創建一個包含三個容器的pod,再刪除該pod,再創建該pod,再刪除該pod,這樣就產生了8個已退出容器(包括兩個pause容器):

[@tc-151-100/home/domeos]#dockerps-a
CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
a28625d189df10.11.150.76:5000/centos:7"/bin/bash"1secondsagoExited(0)Lessthanasecondagok8s_iperf3.5c8de29f_test-gc-pod-exit_default_c7612b59-e9ee-11e5-974c-782bcb2a316a_48c11200
97aca44f0deb10.11.150.76:5000/centos:7"/bin/bash"2secondsagoExited(0)1secondsagok8s_iperf2.5a36e29e_test-gc-pod-exit_default_c7612b59-e9ee-11e5-974c-782bcb2a316a_df34f48d
4e57b6c839ae10.11.150.76:5000/centos:7"/bin/bash"3secondsagoExited(0)2secondsagok8s_iperf1.57dfe29d_test-gc-pod-exit_default_c7612b59-e9ee-11e5-974c-782bcb2a316a_afd622b2
12588fce1433pub.domeos.org/kubernetes/pause:latest"/pause"3secondsagoExited(2)Lessthanasecondagok8s_POD.bdb2e1f5_test-gc-pod-exit_default_c7612b59-e9ee-11e5-974c-782bcb2a316a_c9d4cbaa
621ed207d45210.11.150.76:5000/centos:7"/bin/bash"4secondsagoExited(0)3secondsagok8s_iperf3.5c8de29f_test-gc-pod-exit_default_c5cbddbb-e9ee-11e5-974c-782bcb2a316a_a91278cd
023c10fad4fd10.11.150.76:5000/centos:7"/bin/bash"5secondsagoExited(0)4secondsagok8s_iperf2.5a36e29e_test-gc-pod-exit_default_c5cbddbb-e9ee-11e5-974c-782bcb2a316a_6cc03f37
756eb7bb4b5310.11.150.76:5000/centos:7"/bin/bash"5secondsagoExited(0)4secondsagok8s_iperf1.57dfe29d_test-gc-pod-exit_default_c5cbddbb-e9ee-11e5-974c-782bcb2a316a_83312ec2
d54bdc22773epub.domeos.org/kubernetes/pause:latest"/pause"6secondsagoExited(2)3secondsagok8s_POD.bdb2e1f5_test-gc-pod-exit_default_c5cbddbb-e9ee-11e5-974c-782bcb2a316a_ccb57220

GC的容器回收時間點到達時,可以看到已退出容器只剩下了三個,pause容器也被回收了:

[@tc-151-100/home/domeos]#dockerps-a
CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
a28625d189df10.11.150.76:5000/centos:7"/bin/bash"2minutesagoExited(0)2minutesagok8s_iperf3.5c8de29f_test-gc-pod-exit_default_c7612b59-e9ee-11e5-974c-782bcb2a316a_48c11200
97aca44f0deb10.11.150.76:5000/centos:7"/bin/bash"2minutesagoExited(0)2minutesagok8s_iperf2.5a36e29e_test-gc-pod-exit_default_c7612b59-e9ee-11e5-974c-782bcb2a316a_df34f48d
4e57b6c839ae10.11.150.76:5000/centos:7"/bin/bash"2minutesagoExited(0)2minutesagok8s_iperf1.57dfe29d_test-gc-pod-exit_default_c7612b59-e9ee-11e5-974c-782bcb2a316a_afd622b2

結論:Kubernetes容器垃圾回收的 --maximum-dead-containers 參數設置可正常工作;pause容器也作為可回收容器被管理著;Tips第11條第3)點。

  1. --maximum-dead-containers 對于非kubelet管理的容器是否計數

在第5個實驗的基礎上,手工創建一個container,等待GC的容器回收時間點到達,一分鐘過去了,兩分鐘過去了,docker ps -a 顯示的依然是4個容器:

[@tc-151-100/home/domeos]#dockerrun-it10.11.150.76:5000/openxxs/iperf:1.2/bin/sh
sh-4.2#exit
exit
[@tc-151-100/home/domeos]#dockerps-a
CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
939b932dc7db10.11.150.76:5000/openxxs/iperf:1.2"/bin/sh"2minutesagoExited(0)2minutesagobackstabbing_aryabhata
a28625d189df10.11.150.76:5000/centos:7"/bin/bash"12minutesagoExited(0)12minutesagok8s_iperf3.5c8de29f_test-gc-pod-exit_default_c7612b59-e9ee-11e5-974c-782bcb2a316a_48c11200
97aca44f0deb10.11.150.76:5000/centos:7"/bin/bash"12minutesagoExited(0)12minutesagok8s_iperf2.5a36e29e_test-gc-pod-exit_default_c7612b59-e9ee-11e5-974c-782bcb2a316a_df34f48d
4e57b6c839ae10.11.150.76:5000/centos:7"/bin/bash"12minutesagoExited(0)12minutesagok8s_iperf1.57dfe29d_test-gc-pod-exit_default_c7612b59-e9ee-11e5-974c-782bcb2a316a_afd622b2

結論:Kubernetes容器垃圾回收的策略不適用于非kubelet管理的容器。

審核編輯:湯梓紅


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 容器
    +關注

    關注

    0

    文章

    495

    瀏覽量

    22066
  • kubernetes
    +關注

    關注

    0

    文章

    224

    瀏覽量

    8722

原文標題:kubelet 垃圾回收機制

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Kubernetes之路 2 - 利用LXCFS提升容器資源可見性

    摘要: 這是本系列的第2篇內容,將介紹在Docker和Kubernetes環境中解決遺留應用無法識別容器資源限制的問題。本系列文章記錄了企業客戶在應用Kubernetes時的一些常見問題第一篇
    發表于 04-17 14:05

    阿里云容器Kubernetes監控(一) - 資源監控

    中的service或者kubernetes中的ReplicaSet、Deployment等等則沒有太好的辦法從采集的數據中進行反向的抽象,造成單純的容器監控數據無法有效的進行監控數據的聚合和告警,一旦
    發表于 04-23 14:35

    阿里云容器Kubernetes監控(一) - 資源監控

    中的service或者kubernetes中的ReplicaSet、Deployment等等則沒有太好的辦法從采集的數據中進行反向的抽象,造成單純的容器監控數據無法有效的進行監控數據的聚合和告警,一旦
    發表于 04-23 14:35

    固態硬盤垃圾回收方法

    由于NAND閃存的固有限制,寫前擦除和擦除粒度較大,基于NAND Flash的固態硬盤(SSD)需要執行垃圾回收以重用失效頁。然而垃圾回收帶來的高開銷會顯著降低SSD的性能,也會直接影
    發表于 12-03 10:50 ?2次下載
    固態硬盤<b class='flag-5'>垃圾</b><b class='flag-5'>回收</b>方法

    基于邏輯區間熱度的垃圾回收算法

    針對現有的NAND閃存垃圾回收算法中回收性能不高,磨損均衡效果差,并且算法內存開銷大的問題,提出了一種基于邏輯區間熱度的垃圾回收算法。該算法
    發表于 12-05 18:27 ?0次下載
    基于邏輯區間熱度的<b class='flag-5'>垃圾</b><b class='flag-5'>回收</b>算法

    Jvm垃圾回收機制及性能調優實戰

    JVM中自動檢測并移除不再使用的數據對象的這種機制稱為:垃圾回收,簡稱GC。JVM通過使用垃圾收集器及使用相應的垃圾回收算法將內存中不再被使
    發表于 04-03 14:31 ?2次下載

    交大發布可回收垃圾分揀機器人,實現助力全國垃圾分類回收工作

    6月4日消息,交大中英國際低碳學院可回收垃圾分揀機器人,更是打破國外技術壟斷,可實現每小時分揀垃圾5400次,并在大量垃圾中精準識別可回收
    的頭像 發表于 06-04 14:31 ?2974次閱讀

    智能垃圾回收機器人的應用優勢是什么

    為什么需要垃圾回收機器人? 首先,垃圾分類回收是實現地球資源循環利用至關重要的一環,對于可持續發展有重大意義。垃圾分類也是對付
    發表于 07-22 09:26 ?2086次閱讀

    生活垃圾數據化分類回收方法及其回收系統(機械部分)

    一種生活垃圾數據化分類回收方法及其回收系統(機械部分)(1).doc 上傳完成 刪除 標題一種生活垃圾數據化分類回收方法及其
    發表于 11-05 18:18 ?0次下載

    詳解JVM的垃圾回收算法和垃圾回收

    JVM 垃圾回收機制是對堆中沒有使用的對象進行回收,那么判斷對象是否“存活”就至關重要。在判斷對象是否“存活”的方法中,我們會介紹引用計數算法和可達性分析法。
    的頭像 發表于 03-29 13:55 ?1513次閱讀
    詳解JVM的<b class='flag-5'>垃圾</b><b class='flag-5'>回收</b>算法和<b class='flag-5'>垃圾</b><b class='flag-5'>回收</b>器

    JVM入門之垃圾回收算法

    根據如何判定對象是垃圾,垃圾回收算法分為兩類:1、 「引用計數式垃圾收集」 (判定垃圾是通過引用計數器)別名:直接
    的頭像 發表于 02-10 11:40 ?823次閱讀
    JVM入門之<b class='flag-5'>垃圾</b><b class='flag-5'>回收</b>算法

    什么是Kubernetes容器運行時CRI

    起初,Docker是事實上的容器技術標準,Kubernetes v1.5之前的代碼中直接調用Docker API,實現容器運行時的相關操作。
    的頭像 發表于 02-20 16:22 ?1522次閱讀
    什么是<b class='flag-5'>Kubernetes</b><b class='flag-5'>容器</b>運行時CRI

    智能垃圾回收箱及其控制系統

    智能高效遠程控制智能垃圾回收箱本文設計了基于機械傳動、嵌入式系統和物聯網技術的智能垃圾回收箱及控制系統,包括結構、硬件和軟件設計,以及基于機智云后臺服務器的操作系統,實現了用戶信息識
    的頭像 發表于 04-13 08:10 ?1241次閱讀
    智能<b class='flag-5'>垃圾</b><b class='flag-5'>回收</b>箱及其控制系統

    智能垃圾回收箱控制系統硬件設計

    智能高效遠程控制智能垃圾回收箱控制系統硬件部分的選型與設計是整個產品的基礎,所有功能的實現都要圍繞其進行開發。本章對智能垃圾回收箱控制系統的硬件進行詳細設計。智能
    的頭像 發表于 04-13 08:10 ?863次閱讀
    智能<b class='flag-5'>垃圾</b><b class='flag-5'>回收</b>箱控制系統硬件設計

    智能垃圾回收箱功能實驗

    需要系統地介紹智能垃圾回收箱軟件硬件設計完成后的設備運行狀況,包括正常工作和問題調試。同時,也要描述當所有設備正常工作時智能垃圾回收箱的操作流程。01硬件模塊的試驗在智能
    的頭像 發表于 05-24 08:10 ?456次閱讀
    智能<b class='flag-5'>垃圾</b><b class='flag-5'>回收</b>箱功能實驗
    主站蜘蛛池模板: 久见久热 这里只有精品| 男人国产AV天堂WWW麻豆| 国产69精品久久久久乱码免费| av亚洲色天堂2017| JIZJIZJIZ 日本老师水多| 把腿张开JI巴CAO死你H教室| 敌伦小芳的第一次| 国产欧美一区二区三区久久| 韩国三级久久精品| 久久久精品久久久久久| 嗯啊快拔出来我是你老师视频| 欧洲最强rapper潮水喷视频| 色四房播播| 亚洲精品理论电影在线观看| 中文国产在线观看| WWW婷婷AV久久久影片| 国产ts在线| 精品视频一区二区三三区四区| 两个吃奶一个添下面视频| 秋霞成人午夜鲁丝一区二区三区| 思思久久99热只有频精品66| 亚洲欧洲无码AV在线观看你懂的| 中文字幕一区在线观看视频| youjizz护士| 国产性夜夜春夜夜爽1A片| 久久偷拍vs国产在线播放| 亲嘴扒胸摸屁股视频免费网站| 午夜DJ国产精华日本无码| 曰本少妇高潮久久久久久| black大战chinese周晓琳| 国产福利一区二区精品| 久久99影院| 日本久久久| 亚洲色图激情文学| WINDOWSCHANNEL老太| 国产亚洲精品久久久久| 老太婆性BBWBBW| 十七岁日本免费完整版BD | 国产树林野战在线播放| 脔到她哭H粗话HWWW男男动漫| 少妇内射兰兰久久|