一、 培訓背景
近些年,隨著新技術的不斷發展,市場變化越來越快,需求變更越來越頻繁。為了能夠跟上市場變化的腳步,在市場競爭中占得先機,越來越多的研發團隊選擇敏捷開發、快速迭代與互聯網分布式架構,云原生的概念孕育而生。云原生=微服務+DevOps+持續交付+容器化,它通過微服務進行設計開發系統,通過DevOps進行持續交付,以容器化的形式進行分布式云端部署。
采用云原生架構以后,可以通過開發微服務,拆解復雜的單體系統;通過DevOps進行自動化運維,實現快速交付;通過K8s分布式云端平臺,進行分布式云端部署,以實現互聯網的高并發、高可用。但是,如何搭建這樣一套DevOps自動化運維平臺,如何將微服務系統部署在K8s云端平臺,需要開發團隊具備更多的服務端實操的能力。為了幫助開發團隊解決這些方面的問題,切實地將DevOps與K8s云端平臺搭建起來,真正有效地發揮出微服務的優勢,我們特組織了此次課程。
二、 課程目標
過此次課程培訓,可使學習者獲得如下收益:
1. 學會構建分布式云原生架構的思路;
2. 掌握分布式云原生的自動化運維平臺;
3. 掌握容器技術與Docker實操;
4. 掌握分布式云部署與K8s實操;
5. 讓學員具備微服務開發與云端部署的能力;
6. 了解云平臺監控與日志采集。
三、 培訓方式/工具及方法
1. PPT+教材+參考資料,理論講解
2. 提供配套的實驗環境
3. 場景+案例+模擬環境,動手實踐
4. 手把手解決問題+解決問題經驗分享
四、 課程大綱
日程安排 | 培訓章節 | 培訓內容 |
第一天上午 | 第一單元 分布式云原生技術平臺 |
構建分布式云原生架構的思路 1. 微服務架構的彈性可擴容設計需求 2. 分布式架構的有狀態應用與無狀態應用 3. 構建基于DevOps的自動化發布平臺 4. 構建基于云原生的自動化運維平臺 分布式云原生的自動化運維平臺 1. 基于Jenkins與pipeline構建持續發布平臺 2. 基于SonarQube與Jacoco構建質量監督平臺 3. 基于Docker+Kubernetes構建容器化部署平臺 4. 包含各種分布式緩存、分布式隊列、分布式事務的PaaS云平臺 5. 基于NoSQL/NewSQL分布式數據庫的DaaS數據平臺 6. 基于Skywalking的鏈路跟蹤與系統調優平臺 7. 基于Prometheus+Grafana的自動化監控告警平臺 8. 基于EFK的分布式日志監控平臺 |
第一天下午 | 第二單元 容器技術與Docker實操 |
Docker的基本原理 1. 虛擬化技術 vs. 容器技術 2. 容器技術的標準化概念 Docker運維實戰 1.Docker容器管理與實操 2.Docker鏡像管理與實操 3.使用Dockerfile構建鏡像 演練:微服務如何打包制作Docker鏡像 4.Docker倉庫管理與實操 演練:如何搭建私有鏡像倉庫Docker Registry 5.實戰演練 用Docker部署和運維rabbitMQ 用Docker部署和運維mysql 基于容器的微服務自動化運維 1.微服務運維的難點與痛點 2.基于Maven的Docker構建過程 3.使用Jenkins編寫定時任務 演練:基于容器的微服務持續集成過程 |
第二天上午 | 第三單元 分布式云部署與K8s實操 |
分布式容器管理工具Kubernetes 1.Kubernetes的分布式管理運行原理 2.Kubernetes的基本組件及其應用場景: 無狀態應用(Deployment)、有狀態應用(StatefulSet)、批處理任務(Job)、后臺支撐型(DaemonSet) 3.Kubernetes的虛擬網絡原理:Node IP、Pod IP、Cluster IP 4.Kubernetes的安裝部署與彈性擴容 基于Kubernetes的運維實操 1.演練:微服務在Kubernetes上的高可用云端部署 基于yaml文件的微服務部署與彈性擴展過程 Node, Pod, Deployment, Service等基礎組件及其實操 Label標簽、Selector選擇器及其實操 K8s的訪問類型ClusterIP、NodePort、LoadBalancer及Ingress 2.演練:Redis高可用集群在Kubernetes的部署 Kubernetes的三種IP及其在項目中的運用 有狀態應用的部署及無頭服務的應用 3.演練:基于K8s搭建三種類型的MySQL集群數據庫 K8s的存儲類型:存儲卷、持久化存儲卷與StorageClass 4.演練:基于K8s搭建Hadoop大數據平臺 使用Dockerfile制作鏡像并上傳鏡像倉庫 K8s的配置信息管理:ConfigMap、Secret及其應用 5.演練:集群監控工具Prometheus的部署過程 K8s的權限管理:Account、Role、RoleBinding及其應用 集群調度:親和性(Affinity)、污點(taints)與容忍(tolerations) 6.演練:搭建Git+Jenkins+docker+k8s的自動化運維平臺 1)從Git服務器上下載代碼、編譯、測試、打包 2)靜態代碼規范檢查與形成測試報告 3)制作Docker鏡像并上傳本地私服 4)執行腳本進行灰度發布與K8s分布式云端部署 |
第二天下午 | 第四單元 微服務開發與云端部署 |
用實際項目演練微服務開發的整個過程 1. 演練:從單體應用到微服務的設計轉型過程 2. 微服務開發的組織形式:父項目與基礎平臺 3. 微服務開發的組織形式:多環境配置 4. 前端、聚合層、原子服務層的微服務設計 5. 服務網關的設計:用戶權鑒與智能路由 微服務開發高階: 1. 在分布式環境中高可靠地部署Nacos集群 2. 演練:如何實現跨語言的微服務調用 3. 演練:如何實現高并發下的優雅降級 4. 微服務間調用的監控與調優 微服務的技術中臺建設: 1. 微服務技術中臺應具備的要素 2. 配置中心Nacos 3. 斷路監控Spring Cloud Turbine 4. 鏈路監控Skywalking 5. 消息中間件kafka, rocketmq 6. 分布式緩存redis 7. 監控平臺prometheus+EFK |
第三天 | 第五單元 云平臺監控與日志采集 |
云平臺安全可靠運行的重要意義 1. 網站可用性的評價指標與系統監控 2. 系統監控的具體內容 3. 系統監控與日志采集的原理與系統架構 4. 國內主流系統監控與日志采集軟件介紹 Prometheus系統監控與運維 1. 搭建系統監控組件Prometheus實操 2. 搭建監控數據展現組件Grafana實操 3. 設定rules進行系統監控告警實操 4. 設定pushGateway自定義監控與告警實操 EFK日志采集與故障分析 1. 日志采集與故障分析的重要意義 2. 搭建ElasticSearch+Flunted+Kibana日志采集實操 3. 使用Kibana系統監控組件分析與監控系統 4. 在Kibana中進行故障分析與運行監控 |
五、 培訓師資
張老師 曾工作于北京聯通研究院,摩托羅拉中國公司,美團;目前就職于一家隸屬于清華大學的上市公司,主要公司業務是服務國家安全和國外安全項目,在公司擔任大數據架構師及區塊鏈技術負責人,主要負責中臺的技術、數據。
擁有16年IT相關工作經驗,10余年的培訓經驗,具備豐富的企業應用軟件開發經驗、深厚的軟件架構設計理論基礎及實踐能力,尤其擅長區塊鏈、人工智能以及大數據相關技術。
此外,張老師現任工信部大數據實驗室研究員;工信部特約講師;工信部大數據、人工智能培訓體系建設和試題的開發專家團成員;張老師精通大型分布式互聯網應用架構設計與技術開發。對于大規模分布式架構、微服務架構、云計算與容器化技術、開發與運維一體化、應用系統安全與和架構設計、海量數量處理、大數據等方向特別有研究,尤其是偏后端的對于高并發系統上有豐富的架構和實施經驗。
范老師 獨立咨詢顧問,暢銷書籍《架構真意》與《大話重構》的作者,規模化敏捷SPC。曾任航天信息首席架構師,哈工大軟件工程碩士,軟件架構及重構的客座講師。從事軟件研發工作近二十年,并且現在一直堅守在大型軟件架構設計一線工作。從需求分析、軟件開發到項目管理、架構設計都有豐富的從業經驗。
先后參與了數十個國內大型軟件項目,涉及國家財政、軍工、稅務、醫療等領域的大數據中臺建設、風險防控與人工智能研究。互聯網轉型、微服務轉型及大數據轉型的實踐者與倡導者。同時,還是大型遺留系統改造專業戶,多次參與大型遺留系統改造、軟件系統重構等重大項目,長期關注大型業務系統的品質保證、防止腐化以及技術改造等困擾軟件企業的問題,在遺留系統優化與改造方面有豐富的經驗。
李老師 K8s中國區官方認證導師,Linux集群架構師,前奇虎360高級DevOps工程師。 從事DevOps相關工作12年了,維護過近千臺服務器,曾主導從0到1實現億級PV中大型互聯網架構,K8s容器平臺建設及微服務容器化遷移等多個項目。在自動化運維、容器化及云計算方面積累了豐富的實戰經驗。
本課程由中國信息化培訓中心頒發《云原生架構師》證書,證書查詢網址:www.qinzhounet.cn;證書可作為專業技術人員職業能力考核的證明,以及專業技術人員崗位聘用、任職、定級和晉升職務的重要依據。