My Github

.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 及 企业数字化转型等技术内容文章,还会与你分享个人生活成长的点滴及各类好书的读书笔记,希望能对你有所帮助,一起成长!

写在最后:学习与码字不易,需要花费我很多的个人时间和精力,如果你能点个,可以更加激励我的学习和分享,谢谢!

 

posted @ 2019-07-31 09:14  EdisonZhou  阅读(18808)  评论(21编辑  收藏  举报