.NET Core on K8S學習與實踐系列文章 (2019版)

1、關於這個系列

  自從去年(2018年)底離開工做了3年的M公司加入X公司以後,開始了ASP.NET Core的實踐,包括微服務架構與容器化等等。咱們的實踐是漸進的,當咱們的微服務數量到了必定值時,發現運維工做量已將增長了不少,所以容器編排引擎的需求也隨之產生(雖然咱們一直都知道K8S的必要性)。同時,在張隊發的《.NET雲原生採用狀況調查》中已經代表,容器編排和自動化領域Kubernetes已經佔據了主體地位,學習Kubernetes刻不容緩!html

K8S

  因此,我將K8S的學習放到了今年的學習列表中,並總結了一些學習筆記和實踐總結的文章並彙總在這裏,但願對各位園友有幫助!docker

2、重點內容索引

2.1 Docker基礎

  

  學習K8S以前須要瞭解一點Docker基礎,若是沒有Docker基礎請先補補課:安全

  ① Docker基礎、安裝與運行.NET Core應用網絡

  ② Docker經常使用流行鏡像倉庫的搭建架構

  ③ Docker資源限制學習與驗證負載均衡

  ④ Docker數據卷學習與應用運維

  ⑤ Dockerfile詳解ide

  ⑥ Docker容器監控工具與方案:微服務

   ⑴ Docker自帶監控子命令 & 開源監控工具Weave Scope工具

   ⑵ Google開發的容器監控工具cAdvisor

   ⑶ 生產級強大應用監控方案Prometheus

  ⑦ Docker日誌管理工具與方案:

   ⑴ Docker logs & logging driver

   ⑵ 開源日誌管理三兄弟之ELK

2.2 Kubernetes初探

  

  若是你想在Windows開發機上快速體驗一把K8S,那麼能夠藉助Docker for Windows來快速體驗一下:

  ① ASP.NET Core on K8S學習初探:單節點環境搭建

  ② ASP.NET Core on K8S學習初探:基本概念快速一覽

  ③ ASP.NET Core on K8S學習初探:部署WebAPI到K8S

  若是你嫌在Linux上搭建環境麻煩,那麼能夠藉助K8S在線實驗室玩一下快速的交互實驗體驗一下:

  ● Hello Kubernetes - 快速交互實驗10分鐘把玩手冊

2.3 Kubernetes深刻

  

  想要深刻學習K8S,必須在Linux下搭建一個K8S集羣,嘗試學習和實踐各個核心組件:

  ⑴ ASP.NET Core on K8S深刻學習(1)K8S基礎知識與集羣搭建

  ⑵ ASP.NET Core on K8S深刻學習(2)部署過程解析與部署Dashboard

  ⑶ ASP.NET Core on K8S深刻學習(3-1)Deployment

  ⑷ ASP.NET Core on K8S深刻學習(3-2)DaemonSet與Job

  ⑸ ASP.NET Core on K8S深刻學習(4)你必須知道的Service

  ⑸ ASP.NET Core on K8S深刻學習(5)Rolling Update

  ⑹ ASP.NET Core on K8S深刻學習(6)Health Check

  ⑺ ASP.NET Core on K8S深刻學習(7)Dashboard知多少

  ⑻ ASP.NET Core on K8S深刻學習(8)數據管理

  ⑼ ASP.NET Core on K8S深刻學習(9)Secret & Configmap

  ⑽ ASP.NET Core on K8S深刻學習(10)K8S包管理器Helm

  ⑾ ASP.NET Core on K8S深刻學習(11)K8S網絡知多少

  關於K8S網絡的基本原理與講解,強力推薦參考如下文章:

  ⑿ ASP.NET Core on K8S深刻學習(12)Nginx Ingress

  

  想要深度應用K8S,須要嘗試遷移現有各種應用&中間件至K8S:

  ⑴ 常見應用K8S部署之GFS

  ⑵ 常見應用K8S部署之Helm

  ⑶ 常見應用K8S部署之Redis集羣

  ⑷ 常見應用K8S部署之RabbitMQ集羣

  ⑸ 常見應用K8S部署之GitLab集羣

  ⑹ 常見應用K8S部署之Jenkins

  ⑺ 常見應用K8S部署之Harbor

  ⑻ 常見應用K8S部署之Prometheus+Grafana

  ⑼ 常見應用K8S部署之EFK

2.4 K8S+Jenkins實現CI&CD

  

  本部分會介紹在實際環境中持續集成和持續部署的使用,經過實現Jenkins流水線腳本自動發佈應用到K8S集羣中。

2.5 阿里雲容器服務(ACK)實踐

    

  阿里雲容器服務 Kubernetes 版(簡稱 ACK)提供高性能可伸縮的容器應用管理能力,支持企業級 Kubernetes 容器化應用的全生命週期管理。容器服務 Kubernetes 版簡化集羣的搭建和擴容等工做,整合阿里雲虛擬化、存儲、網絡和安全能力,打造雲端最佳的 Kubernetes 容器化應用運行環境。 

2.6 騰訊雲容器服務(TKE)實踐

  

   騰訊雲容器服務(Tencent Kubernetes Engine ,簡稱TKE)基於原生 kubernetes 提供以容器爲核心的、高度可擴展的高性能容器管理服務。騰訊雲容器服務徹底兼容原生 kubernetes API ,擴展了騰訊雲的雲硬盤、負載均衡等 kubernetes 插件,爲容器化的應用提供高效部署、資源調度、服務發現和動態伸縮等一系列完整功能,解決用戶開發、測試及運維過程的環境一致性問題,提升了大規模容器集羣管理的便捷性,幫助用戶下降成本,提升效率。

2.7 Service Mesh初探之Istio

  

  Istio做爲K8S原生的Service Mesh,將業務應用的流量控制、服務發現、安全通訊等強大的功能實現變得簡單明瞭,同時對業務應用和開發人員透明,還能夠跨語言使用,大大下降了開發難度,帶給微服務開發領域一次顛覆性的變革!

3、參考資料

① CloudMan,《天天5分鐘玩轉Docker容器技術》、《天天5分鐘玩轉Kubernetes

② 杜寬,《不再踩坑的Kubernetes實戰指南

③ 李振良,《Kubernetes入門與進階》(收費課程260RMB,可是質量較高)

④ 馬哥(馬永亮),《Kubernetes快速入門》

⑤ Jesse(劉騰飛),《ASP.NET Core on K8S快速入門

更多分享

  本文首發於個人公衆號「恰童鞋騷年」,此公衆號會長期關注和分享.NET Core、微服務、雲原生、DevOps 及 企業數字化轉型等技術內容文章,還會與你分享我的生活成長的點滴及各種好書的讀書筆記,但願能對你有所幫助,一塊兒成長!

寫在最後:學習與碼字不易,須要花費我不少的我的時間和精力,若是你能點個,能夠更加激勵個人學習和分享,謝謝!

 

做者:周旭龍

出處:http://edisonchou.cnblogs.com

本文版權歸做者和博客園共有,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文連接。

相關文章
相關標籤/搜索