破冰,培訓整體介紹,團隊分組 |
參訓人員互相熟悉,并分成4個小組。講師對培訓進行整體介紹。 |
DevOps和持續交付概述 |
- DevOps的價值,知識體系;
- 通過案例分享了解實現DevOps的過程和收益。
- 持續交付所涉及的方法和實踐,增量式開發,按故事交付,快速迭代,持續集成,持續部署。
|
Docker技術概述 |
|
演示:基于容器的DevOps發布流水線整體場景 |
- 使用Docker和容器技術構建持續交付流水線
- 場景演示:容器化本地開發環境,容器化主機,容器編排平臺Docker Swarm,私有鏡像倉庫,GitLab + Jenkins持續交付流水線;
- 并在以上環境中完成一個微服務架構應用從代碼到CI/CD,再到測試和生產環境的自動化發布流程。
|
動手實驗:搭建基礎環境并發布至測試環境 |
- 各學員按照講師提供的操作手冊對docker基本操作進行熟悉。
- 同時使用docker搭建gitlab, jenkins和registry基礎環境,完成項目代碼初始化,jenkins節點配置和測試環境的自動化部署。
|
容器編排平臺概述 |
容器編排平臺的特點和價值,如何選擇適合自己的編排平臺(Docker Swarm/k8s/Apache Mesos/Service Fabric) |
持續交付工具鏈介紹 |
構建持續交付所需要的工具,以及如何使用這些工具支持迭代開發,單元測試,代碼覆蓋率,自動化構建,自動化部署,自動化集成測試以及生產環境監控 |
演示:Docker Swarm編排平臺的主要使用場景 |
- 容器編排平臺Docker Swarm的搭建,服務部署和擴縮容;
- 將Docker Swarm環境集成到Jenkins發布流水線 。
|
動手實驗:使用容器化DevOps流水線開發,測試和發布容器化應用 |
各學員在教師的指導下,按照操作手冊,完成GitLab項目觸發器配置,Jenkins作業配置,Docker Swarm集群初始化和自動化部署;從而完成整條DevOps發布流水線的配置。 |
動手實驗:使用持續交付流水線快速發布產品 |
在以上環境中完成特性分支建立,代碼編寫和簽入,Pull Request提交,自動化構建,容器打包,容器上傳私有鏡像倉庫,發布容器到測試(docker machine)和生產環境(docker swarm集群) |
容器數據持久化 & 跨主機網絡解決方案 |
- 深入了解容器CoW機制及其影響,數據卷的主要使用技巧,以及使用共享數據卷實現跨主機容器遷移。
- 深入了解容器網絡工作機制,使用overlay網絡實現跨主機容器網絡。
|
容器日志機制和監控解決方案 |
深入了解容器日志機制和監控方式,使用ELK搭建企業級容器集群監控平臺,實現主機,容器和應用三層監控機制。 |
演示:生產機容器運行環境改造 |
- 在Docker Swarm環境中增加共享卷和overlay網絡支持,并實現集群環境下的容器在線遷移;
- 完成ELK監控服務搭建并在Docker Swarm環境中部署監控數據采集器,配置Kibana儀表盤完成容器集群環境的監控。
|
動手實驗:改進DevOps流水線,實現數據持久化(容器遷移),跨主機網絡(微服務集群),多主機監控和Pipeline as Code. |
- 在講師的指導下,按照操作手冊在環境中添加數據持續久化,跨主機網絡和監控系統。
- 莆趙諫??肪持惺褂?Docker作為容器化DevOps解決方案的能力。
- 改造當前流水線使用Pipeline as Code方式。
|
動手實驗內容 |
1.實驗環境獲?。鹤灾瓿苫贏zure云平臺的實驗環境創建和獲取。
2. 基礎環境搭建:使用docker-compose 完成gitlab, jenkins, registry和cAdvisor的容器環境搭建。
3. 導入實驗項目代碼到gitlab:完成gitlab初始化并從GitHub導入實驗項目代碼。
4. 完成Jenkins初始化配置:完成訪問憑據,遠程服務器ssh連接和Jenkins構建代理節點等初始化配置。
在Jenkins中搭建CI/CD流水線完成到測試環境的部署:使用Jenkins Job的方式完成從獲取代碼,編譯代碼到測試環境部署的過程 |
動手實驗內容 |
1. 完成Docker Swarm集群的搭建和初始化:使用ssh登錄個節點主機完成swarm join操作
2. 學習Docker Swarm的基本操作,管理節點,管理服務,服務擴縮容等等。
3. 配置Jenkins通過遠程方式控制Swarm集群
4. 配置Jenkins Job完成對Swarm集群的部署和持續更新 |
動手實驗內容 |
1. 改造Jenkins使用Pipeline as Code的方式
2. 完成ELK環境搭建:使用docker-compose完成elastic search, logstash, kibana容器環境搭建
3. 在測試環境中部署logspout和dockbeat以便收集監控數據
4. 在Swarm集群中安裝共享數據卷驅動,并使用global方式啟動dockbeat服務以便完成集群各節點的監控數據收集
5. 配置Kibana完成容器環境的統一監控儀表盤配置 |