更新记录:
-- 2019-11-26 增加Docker容器日志系列文章
近期在学习Kubernetes,基于之前做笔记的习惯,已经写了一部分文章,因此给自己立一个flag:完成这个《.NET Core on K8S学习实践》系列文章!这个系列会持续更新,先发个草稿列表,后续更新,保持关注!
关于这个系列
自从去年(2018年)底离开工作了3年的M公司加入X公司之后,开始了ASP.NET Core的实践,包括微服务架构与容器化等等。我们的实践是渐进的,当我们的微服务数量到了一定值时,发现运维工作量已将增加了很多,因此容器编排引擎的需求也随之产生(虽然我们一直都知道K8S的必要性)。同时,在张队发的《.NET云原生采用情况调查》中已经表明,容器编排和自动化领域Kubernetes已经占据了主体地位,学习Kubernetes刻不容缓!
所以,我将K8S的学习放到了今年的学习列表中,并总结了一些学习笔记和实践总结的文章并汇总在这里,希望对各位园友有帮助!
重点内容目录索引
1 Docker基础
学习K8S之前需要了解一点Docker基础,如果没有Docker基础请先补补课:
① Docker基础、安装与运行.NET Core应用
② Docker常用流行镜像仓库的搭建
③ Docker资源限制学习与验证
④ Docker数据卷学习与应用
⑤ Dockerfile详解
⑥ Docker容器监控工具与方案:
⑴ Docker自带监控子命令 & 开源监控工具Weave Scope
⑵ Google开发的容器监控工具cAdvisor
⑶ 生产级强大应用监控方案Prometheus
⑦ Docker容器日志工具与方案:
⑴ Docker logs & logging driver
⑵ 开源日志管理方案ELK/EFK
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分钟把玩手册
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
想要深度应用K8S,需要尝试迁移现有各类应用&中间件至K8S集群中:
⑴ 常见应用K8S部署之GFS
⑵ 常见应用K8S部署之Helm
⑶ 常见应用K8S部署之Redis集群
⑷ 常见应用K8S部署之RabbitMQ集群
⑸ 常见应用K8S部署之GitLab集群
⑹ 常见应用K8S部署之Jenkins
⑺ 常见应用K8S部署之Harbor
⑻ 常见应用K8S部署之Prometheus+Grafana
⑼ 常见应用K8S部署之EFK
4 Service Mesh之Istio学习
Istio作为K8S原生的Service Mesh,将业务应用的流量控制、服务发现、安全通信等强大的功能实现变得简单明了,同时对业务应用和开发人员透明,还可以跨语言使用,大大降低了开发难度,带给微服务开发领域一次颠覆性的变革!
5 基于Kubernetes的CI/CD
本部分会介绍在实际环境中持续集成和持续部署的使用,通过实现Jenkins流水线脚本自动发布应用到K8S集群中。
6 阿里云ACK服务
阿里云容器服务 Kubernetes 版(简称ACK)提供高性能可伸缩的容器应用管理能力,支持企业级 Kubernetes 容器化应用的全生命周期管理。容器服务 Kubernetes 版简化集群的搭建和扩容等工作,整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳的 Kubernetes 容器化应用运行环境。
参考资料 (持续更新)
① CloudMan,《每天5分钟玩转Docker容器技术》、《每天5分钟玩转Kubernetes》
② 杜宽,《再也不踩坑的Kubernetes实战指南》
③ 李振良,《Kubernetes入门与进阶》(收费课程260RMB,但是质量较高)
④ 马哥(马永亮),《Kubernetes快速入门》
⑤ Jesse(刘腾飞),《ASP.NET Core on K8S快速入门》
⑥ 阿里云开发者社区,《CNCF 云原生技术公开课》(免费,推荐指数5星)
点个【在看】,和更多人一起分享!