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


一、關於這個系列

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

K8S

  所以,我將K8S的學習放到了今年的學習列表中,並總結了一些學習筆記和實踐總結的文章並匯總在這里,希望對各位園友有幫助!

二、重點內容索引

2.1 Docker基礎

  

  學習K8S之前需要了解一點Docker基礎,如果沒有Docker基礎請先補補課:

  ① Docker背景與基礎知識解密

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

  ② Docker常用流行鏡像倉庫的搭建

  ③ Docker資源限制學習與驗證

  ④ Docker數據卷學習與應用

  ⑤ Dockerfile詳解

  ⑥ 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

  ⒀ ASP.NET Core on K8S深入學習(13)Ocelot API網關接入

  ⒁ ASP.NET Core on K8S深入學習(14)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,將業務應用的流量控制、服務發現、安全通信等強大的功能實現變得簡單明了,同時對業務應用和開發人員透明,還可以跨語言使用,大大降低了開發難度,帶給微服務開發領域一次顛覆性的變革!

三、參考資料

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

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

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

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

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

⑥ 楊波,《SprintBoot與Kubernetes雲原生應用實踐》(極客時間上的課程,雖然是Java系,但仍然強烈推薦)

更多分享

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

寫在最后:學習與碼字不易,需要花費我很多的個人時間和精力,如果你能點個,可以更加激勵我的學習和分享,謝謝!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM