簡易檢索 / 詳目顯示

研究生: 林佑澄
Lin, You-Cheng
論文名稱: 開發具持續整合與部署能力之容器化製造服務高效率維護方案
Development of Efficient Maintenance Scheme with Continuous Integration and Deployment Capability for Containerized Manufacturing Services
指導教授: 鄭芳田
Cheng, Fan-Tien
共同指導教授: 洪敏雄
Hung, Min-Hsiung
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 製造資訊與系統研究所
Institute of Manufacturing Information and Systems
論文出版年: 2021
畢業學年度: 110
語文別: 中文
論文頁數: 49
中文關鍵詞: Docker輕量級虛擬化技術容器技術映像檔容器化製造服務自動化建造與部署機制持續整合與持續部署方案Kubernetes 叢集
外文關鍵詞: Docker, Lightweight Virtualization Technology, Container Technology, Image, Containerized Manufacturing Service, Automated Construction and Deployment Scheme, Containerized Continuous Integration and Continuous Deployment (CI/CDc) Solution, Kubernetes Cluster
相關次數: 點閱:121下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • Docker是一種新一代輕量級虛擬化技術,它允許我們將應用程式及其依賴項(Dependencies)封裝成映像檔(Image),然後輕鬆地將應用程式執行在隔離的容器中。與虛擬機相比,Docker改變了我們將應用程式部署到伺服器的方式,它可以控制應用程式使用的資源並提供更簡單的部署管道,為軟體帶來構建更安全(Build Safer)、共享更廣(Share Wider)與運行更快(Run Faster)的效益。先前研究有一套基於容器技術之製造服務自動化建造方案(稱為MSACSC),可以讓使用者透過操作網頁操作介面便可快速地建置與部署容器化製造服務。然而,在每一次需要更新製造服務時,即便只做了小小的變更,使用者便須人工操作MSACSC中的步驟來重新部署容器化製造服務,這對於維護容器化製造服務並不是有效率的方式。因此,本論文採用Docker、Drone.io與Helm等技術為MSACSC建置一個持續整合與部署(Continuous Integration and Continuous Deployment,CI/CD)方案(稱為CI/CDC),以讓使用者可自動化地與有效率地建置與部署容器化製造服務。本論文所研發CI/CDC包括(1)自動地為更新後的製造服務建置映像檔、(2)自動地將建置完成的映像檔上傳至雲端映像檔倉庫中、(3)自動地將製造服務映像檔部署到指定的Kubernetes叢集等3個核心機制。整合測試結果顯示,當需要更新製造服務時,使用者只需要上傳更新的製造服務,CI/CDC便能夠自動化地完成從映像檔建置到將容器化製造服務部署到Kubernetes叢集執行的整體流程,達到高效率維護容器化製造服務之效益。

    Docker is a new generation of lightweight virtualization technology that allows us to package applications and their dependencies into images and then quickly execute applications in isolated containers. Compared with virtual machines, Docker changes how we deploy applications to servers. It can control the resources used by applications and provide a simpler deployment pipeline, bringing the benefits of building safer, sharing wider, and running faster. A previous study has proposed a container-based manufacturing service automated construction solution (called MSACSC), allowing users to quickly build and deploy containerized manufacturing services by operating Web GUIs. However, every time the manufacturing service needs to be updated, even only making a small change, the user has to manually operate the steps in MSACSC to redeploy the containerized manufacturing service, which is not efficient for maintaining the containerized manufacturing service. Therefore, this paper adopts technologies such as Docker, Drone.io, and Helm to build a Containerized Continuous Integration and Continuous Deployment (called CI/CD) solution for MSACSC so that the users can build and deploy containerized manufacturing services automatically and efficiently. The CI/CDC developed in this thesis includes three core mechanisms: (1) automatically building an image for the updated manufacturing service, (2) automatically uploading the built image to the cloud image file repository, (3) automatically deploying manufacturing service images to specified Kubernetes clusters. The integrated test results show that when the manufacturing service needs to be updated, the user only needs to upload the updated manufacturing service, and CI/CDC can automatically complete the overall process from the image construction to the deployment of the containerized manufacturing service to the Kubernetes cluster for execution, achieving the benefits of efficient maintenance of containerized manufacturing services.

    目錄 摘要 I 誌謝 IX 目錄 X 表目錄 XII 圖目錄 XIII 第1章 緒論 1 1.1 研究背景 1 1.2 研究目的與研究議題 2 1.3 論文架構 5 第2章 參考文獻與技術探討 6 2.1 Docker Image的基礎概念 6 2.2 管理Container的工具: Kubernetes 8 2.3 自動化腳本語言 (Shell Script) 11 2.4 快速部署Kubernetes物件的工具 : Helm 12 2.5 持續整合持續遞送(CI/CD) : Drone.io 13 第3章 系統運作架構與核心元件設計 15 3.1 核心問題介紹 15 3.2 系統架構介紹 16 第4章 核心功能機制設計 20 4.1 自動化參數嵌入平台機制設計 20 4.2 自動更新服務之CI/CD流程機制設計 26 4.3 更新服務自動建置映像檔與自動化上傳機制設計 29 4.4 Helm Chart自動更新與自動部署機制設計 34 第5章 系統整合測試與效能評估 40 5.1 實驗環境 40 5.1.1 硬體設備 40 5.2 系統通用化之測試與分析 41 5.3 平行部署多個軟體服務測試 42 第6章 系統整合測試與效能評估 44 6.1 結論 44 6.2 未來研究 45 參考文獻 47

    [1] Yu-Chuan Lin, Min-Hsiung Hung, Hsien-Cheng Huang, Chao-Chun Chen, Haw-Ching Yang, Yao-Sheng Hsieh, and Fan-Tien Cheng, “Development of Advanced Manufacturing Cloud of Things (AMCoT)—A Smart Manufacturing Platform,” IEEE Robotics and Automation Letters, vol. 2, no. 3, pp. 1809-816, May 2017.
    [2] Yu-Yang Liu, Min-Hsiung Hung, Yu-Chuan Lin , Chao-Chun Chen , Wei-Lun Gao, and Fan-Tien Cheng, “A Cloud-based Pluggable Manufacturing Service Scheme for Smart Factory,” 2018 IEEE International Conference on Automation Science and Engineering (CASE2018), Munich, Germany, pp. 1040-1045, August 20-24, 2018.
    [3] Jamal Mahboob, and Joel Coffman, “A Kubernetes CI/CD Pipeline with Asylo as a Trusted Execution Environment Abstraction Framework,” 2021 IEEE 11th Annual Computing and Communication Workshop and Conference (CCWC), Jan 27-30, 2021.
    [4] Tim Tegeler, Frederik Gossen, and Bernhard Steffen, “A Model-driven Approach to Continuous Practices for Modern Cloud-based Web Applications,” 2019 9th International Conference on Cloud Computing, Data Science & Engineering (Confluence), Jan 10-11, 2019.
    [5] Kelly Brady, Seung Moon, Tuan Nguyen, and Joel Coffman, “Docker Container Security in Cloud Computing,” 2020 10th Annual Computing and Communication Workshop and Conference (CCWC), Jan 6-8, 2020.
    [6] Charanjot Singh, Nikita Seth Gaba, Manjot Kaur, and Bhavleen Kaur, “Comparison of Different CI/CD Tools Integrated with Cloud Platform,” 2019 9th International Conference on Cloud Computing, Data Science & Engineering (Confluence), Jan 10-11, 2019.
    [7] Irfan Fadil, Asep Saeppani, Agun Guntara, and Fathoni Mahardika, “Distributing Parallel Virtual Image Application using Continuous Integrity/Continuous Delivery Based on Cloud Infrastructure,” 2020 8th International Conference on Cyber and IT Service Management (CITSM), Oct 23-24, 2020.
    [8] Badr El Khalyly, Abdessamad Belangour, Mouad Banane, and Allae Erraissi, “A new metamodel approach of CI/CD applied to Internet of Things Ecosystem,” 2020 IEEE 2nd International Conference on Electronics, Control, Optimization and Computer Science (ICECOCS), Dec 2-3, 2020.
    [9] Kostis Trantzas, Christos Tranoris, Spyros Denazis, Rafael Direito, Diogo Gomes, Jorge Gallego-Madrid, Ana Hermosilla, and Antonio Skarmeta, “An automated CI/CD process for testing and deployment of Network Applications over 5G infrastructure” 2021 IEEE International Mediterranean Conference on Communications and Networking (MeditCom), Sept 7-10, 2021.
    [10] Camille Fayollas, Hugues Bonnin, and Olivier Flebus, “SafeOps: A Concept of Continuous Safety” 2020 16th European Dependable Computing Conference (EDCC), Sept 7-10, 2020.
    [11] Thorsten Rangnau, Remco v. Buijtenen, Frank Fransen, and Fatih Turkmen, “Continuous Security Testing: A Case Study on Integrating Dynamic Security Testing Tools in CI/CD Pipelines” 2020 IEEE 24th International Enterprise Distributed Object Computing Conference (EDOC), Oct 5-8, 2020
    [12] Adithya Abraham Philip, Ranjita Bhagwan, Rahul Kumar, Chandra Sekhar Maddila, and Nachiappan Nagppan, “FastLane: Test Minimization for Rapidly Deployed Large-Scale Online Services” 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE), May 25-31, 2019.
    [13] Qianying Liao, “Modelling CI/CD Pipeline Through Agent-Based Simulation” 2020 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), Oct 12-15, 2020.
    [14] Mohammad Rizky Pratama, and Dana Sulistiyo Kusumo, “Implementation of Continuous Integration and Continuous Delivery (CI/CD) on Automatic Performance Testing” 2021 9th International Conference on Information and Communication Technology (ICoICT)), Aug 3-5, 2021.
    [15] Njegoš Railić, and Mihajlo Savić, “Architecting Continuous Integration and Continuous Deployment for Microservice Architecture” 2021 20th International Symposium INFOTEH-JAHORINA (INFOTEH), March 17-19, 2021.
    [16] Stefan Throner, Heiko Hütter, Niklas Sänger, Michael Schneider, Simon Hanselmann, Patrick Petrovic, and Sebastian Abeck, “An Advanced DevOps Environment for Microservice-based Applications” 2021 IEEE International Conference on Service-Oriented System Engineering (SOSE), Aug 23-26, 2021.
    [17] Thomas F. Düllmann, Oliver Kabierschke, and André van Hoorn, “StalkCD: A Model-Driven Framework for Interoperability and Analysis of CI/CD Pipelines” 2021 47th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Sept 1-3, 2021.
    [18] K Manish Kumar Abhishek, and D. Rajeswara Rao, “Framework to Secure Docker Containers” 2021 Fifth World Conference on Smart Trends in Systems Security and Sustainability (WorldS4), July 29-30, 2021.
    [19] Sander Rossel, “Continuous Integration, Delivery, and Deployment: Reliable and faster software releases with automating builds, tests, and deployment”
    [20] Christina Paule, Thomas F. Düllmann, and André Van Hoorn, “Vulnerabilities in Continuous Delivery Pipelines? A Case Study” 2019 IEEE International Conference on Software Architecture Companion (ICSA-C), March 25-26, 2019.
    [21] Sriniketan Mysari, and Vaibhav Bejgam, “Continuous Integration and Continuous Deployment Pipeline Automation Using Jenkins Ansible” 2020 International Conference on Emerging Trends in Information Technology and Engineering (ic-ETITE), Feb 24-25, 2020.
    [22] Yogendra Swaroop Dwivedi, Ganesh Semalty, and Amit Moondra, “Predictive Technique To Improve Classification On Continuous System Deployment” 2021 IEEE International Conference on Electronics, Computing and Communication Technologies (CONECCT), July 9-11, 2021.
    [23] Harika Rajavaram, Vineet Rajula, and B. Thangaraju, “Automation of Microservices Application Deployment Made Easy By Rundeck and Kubernetes” 2019 IEEE International Conference on Electronics, Computing and Communication Technologies (CONECCT), July 26-27, 2019.
    [24] Moutaman Kamal Aldeen Abbass, Rahama Ibrahim Elyass Osman, Abubaker Motasem Hmad Mohammed, and Mohannad Waheed Ahmed Alshaikh, “Adopting Continuous Integeration and Continuous Delivery for Small Teams” 2019 International Conference on Computer, Control, Electrical, and Electronics Engineering (ICCCEEE), Sept 21-23, 2019.

    無法下載圖示 校內:2027-02-10公開
    校外:2027-02-10公開
    電子論文尚未授權公開,紙本請查館藏目錄
    QR CODE