簡易檢索 / 詳目顯示

研究生: 高偉峻
Kao, Wei-Chun
論文名稱: 基於高可用系統的智慧製造應用
Smart Manufacturing Applications Based on High-Available Systems
指導教授: 廖德祿
Liao, Teh-Lu
學位類別: 碩士
Master
系所名稱: 工學院 - 工程科學系碩士在職專班
Department of Engineering Science (on the job class)
論文出版年: 2022
畢業學年度: 110
語文別: 中文
論文頁數: 66
中文關鍵詞: 高可用DevOpsMQTTKubernetesDockerCI/CDNoSQL
外文關鍵詞: DevOps, MQTT, Kubernetes, Docker, CI/CD, NoSQL, High Available
相關次數: 點閱:75下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著容器化的技術日益成熟,興起許多與容器化相關的系統服務。容器化與傳統虛擬機器相比之下更具有節省系統資源、快速移植、啟動速度快的優勢。而這些優勢近年來受到大眾的重視,許多企業將容器化作為軟體技術轉型的首要目標,因而衍生高可用、DevOps、CICD、雲服務的概念。
    傳統的軟體佈署是將程式手動建置在已經安裝好相關套件的實體主機或是虛擬機器上,當發生無預警的異常狀況時,需要快速拓展系統服務時,需耗費大量的人力和時間成本。而我們所期望的情境是可以透過系統或服務,根據當前系統環境將軟體自動化的拓展及回收。
    DevOps主要的目標是加速軟體開發並兼顧程式碼品質,我們透過持續整合中加入單元、整合、功能性測試以解決不同版本之間所產生的衝突,爾後透過持續佈署將程式建置在相對應的環境,讓終端使用者無須擔憂系統設定或效能[5][7]。
    本研究採用GitLab的版本管理,對每次開發人員所更新的程式碼內容進行測試,再利用Docker技術將程式碼進行容器化,藉由觸發Kubernetes執行軟體自動化佈署並監測軟體服務的生命週期。如遇無預警的情況發生時,將會自動化的拓展或回收軟體服務,使系統資源能夠有效利用。本研究以CNN搭配Web API、MQTT及Redis的程式架構,模擬工廠導入新技術時,透過此系統架達到更強健的軟體服務[2]。

    This research improves technology transformation and innovation in factory and reviews IT traditional infrastructure and program type to become DevOps infrastructure, micro-service as well as uses CI/CD (Continuous Integration/ Continuous Deployment) to achieve automation.
    The DevOps infrastructure used in this research is GitLab which controls program version and uses runner to do unit-test, functional-test, integration test and deploy program to Kubernetes.
    The program types developed in this research are docker images which are built with own dockerfile .

    摘要 I ABSTRACT II INTRODUCTION III MATERIALS AND METHODS IV RESULTS AND DISCUSSIONS VI CONCLUSION VII 致謝 VIII 目錄 IX 圖目錄 XI 表目錄 XIV 第一章 緒論 1 1.1 研究動機 1 1.2 研究目的 4 1.3 論文架構 4 第二章 背景知識 6 2.1 Docker介紹 6 2.1.1 Docker Engine 7 2.1.2 Docker Daemon 8 2.1.3 Docker Image 8 2.1.4 Docker Container 8 2.1.5 Docker Registry 8 2.2 Kubernetes介紹 9 2.2.1 Pod 11 2.2.2 Deployment 11 2.2.3 Service 12 2.2.4 Persistent Volume 14 2.2.5 Persistent Volume Claims 15 2.3 Redis介紹 16 2.3.1哨兵模式(Sentinel) 16 2.4 Gitlab介紹 17 2.4.1 持續整合佈署(CI/CD) 17 2.5 卷積神經網路(CNN)介紹 21 2.5.1 卷積層 22 2.5.2 池化層 22 2.5.3 Dropout層 23 2.5.4 扁平層 23 2.5.5 全連接層 23 2.6 MQTT介紹 24 第三章 系統架構與設計 25 3.1 系統架構 25 3.2 基礎設施架構(Infrastructure) 26 3.2 資料傳輸及加解密 33 3.3 卷積神經網路(CNN)後台系統及取像系統 36 第四章 實驗結果 40 4.1 GitOps實驗結果 43 4.2 資訊傳輸實驗結果 45 第五章 結論與未來研究 53 附錄 55 參考文獻 64

    [1] Jay Lee,Jaskaran Singh,MosiemAzamfar,Shahin Siahpour, Integration of Digital Twin and Deep Learning in Cyber-Physical Systems: Towards Smart Manufacturing, February 2020, IET Collaborative Intelligent Manufacturing
    [2] Bezerra, Daniel, et al. An IoT Protocol Evaluation in a Smart Factory Environment. 2018 Latin American Robotic Symposium, 2018 Brazilian Symposium on Robotics (SBR) and 2018 Workshop on Robotics in Education (WRE). IEEE, 2018.
    [3] Morabito, R., Kjallman, J., and Komu, M., “Hypervisors vs. Lightweight Virtualization: A Performance Comparison,” Proceedings of the 2015 IEEE International Conference on Cloud Engineering (IC2E), 2015, pp. 386–393.
    [4] A.M.Potdar, G,S.Kengond, and M.M.Mulla, “Performance Evaluation of Docker Container and Virtual Machine,” Procedia Computer Science, vol. 171,pp.1419–1428, 2020.
    [5] A. Hemon, B. Lyonnet, F. Rowe, and B. Fitzgerald, "From agile to DevOps: Smart skills and collaborations," Information Systems Frontiers, vol. 22, no. 4, pp. 927-945, 2020.
    [6] S. Arachchi and I. Perera, "Continuous integration and continuous delivery pipeline automation for agile software project management," in 2018 Moratuwa Engineering Research Conference (MERCon), 2018: IEEE, pp. 156-161.
    [7] S. M. Mohammad, "Improve Software Quality through practicing DevOps Automation," SikenderMohsienuddin Mohammad," IMPROVE SOFTWARE QUALITY THROUGH PRACTICING DEVOPS AUTOMATION", International Journal of Creative Research Thoughts (IJCRT), ISSN, pp. 2320-2882, 2018.
    [8] D. F. Jez Humble, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler)), 2010.
    [9] D. Vohra, Using Rolling Updates. Kubernetes Management Design Patterns, 2017.
    [10] Fei Tao, Qinglin Qi, Lihui Wang, A.Y.C Nee, Digital Twins and Cyber–Physical Systems toward Smart Manufacturing and Industry 4.0: Correlation and Comparison, Engineering, 2019
    [11] Saad Albawi, Tareq Abed Mohammed, Saad Al-Zawi Understanding of a convolutional neural network, IEEE, 2017
    [12] Docker官方 取自: https://docs.docker.com/
    [13] Kubernetes官方 取自: https://kubernetes.io/docs/home/
    [14] GitLab官方 取自: https://docs.gitlab.com/
    [15] 資料分析&機器學習第5.1講: 卷積神經網絡介紹(Convolutional Neural Network)取自:https://medium.com/jameslearningnote/%E8%B3%87%E6%96%99%E5%88%86%E6%9E%90-%E6%A9%9F%E5%99%A8%E5%AD%B8%E7%BF%92-%E7%AC%AC5-1%E8%AC%9B-%E5%8D%B7%E7%A9%8D%E7%A5%9E%E7%B6%93%E7%B6%B2%E7%B5%A1%E4%BB%8B%E7%B4%B9-convolutional-neural-network-4f8249d65d4f
    [16] Docker Hub 取自: https://hub.docker.com/
    [17] Cisco Blog-Have You Ever Considered CI/CD as a Service 取自:https://blogs.cisco.com/cloud/have-you-ever-considered-ci-cd-as-a-service

    下載圖示 校內:2025-08-01公開
    校外:2025-08-01公開
    QR CODE