如何通过ASP.NET Core在K8s上构建入门级学习路径?
摘要:自从2018年底离开工作了3年的M公司加入X公司之后,开始了ASP.NET Core的实践,包括微服务架构与容器化等等。我们的实践是渐进的,当我们的微服务数量到了一定值时,发现运维工作量已将增加了很多,因此容器编排引擎的需求也随之产生。同时
一、关于这个系列
自从2018年底离开工作了3年的M公司加入X公司之后,开始了ASP.NET Core的实践,包括微服务架构与容器化等等。我们的实践是渐进的,当我们的微服务数量到了一定值时,发现运维工作量已将增加了很多,因此容器编排引擎的需求也随之产生(虽然我们一直都知道K8S的必要性)。同时,在张队发的《.NET云原生采用情况调查》中已经表明,容器编排和自动化领域Kubernetes已经占据了主体地位,学习Kubernetes刻不容缓!
所以,我将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网络的基本原理与讲解,强力推荐参考以下文章:
Kubernetes网络三部曲-Pod网络(From 杨波老师)
Kubernetes网络三部曲-Service网络(From 杨波老师)
Kubernetes网络三部曲-外部接入网络(From 杨波老师)
⑿ ASP.NET Core on K8S深入学习(12)Nginx Ingress
⒀ASP.NET Core on K8S深入学习(13)Ocelot API网关接入
⒁ASP.NET Core on K8S深入学习(14)Nginx Ingress实现灰度发布
2.4 K8S+Jenkins实现CI&CD
本部分会介绍在实际环境中持续集成和持续部署的使用,通过实现Jenkins流水线脚本自动发布应用到K8S集群中。
