.NET Core on K8S学习与实践系列文章 (2020版)
一、关于这个系列
自从去年(2018年)底离开工作了3年的M公司加入X公司之后,开始了ASP.NET Core的实践,包括微服务架构与容器化等等。我们的实践是渐进的,当我们的微服务数量到了一定值时,发现运维工作量已将增加了很多,因此容器编排引擎的需求也随之产生(虽然我们一直都知道K8S的必要性)。同时,在张队发的《.NET云原生采用情况调查》中已经表明,容器编排和自动化领域Kubernetes已经占据了主体地位,学习Kubernetes刻不容缓!

所以,我将K8S的学习放到了今年的学习列表中,并总结了一些学习笔记和实践总结的文章并汇总在这里,希望对各位园友有帮助!
二、重点内容索引
2.1 Docker基础

学习K8S之前需要了解一点Docker基础,如果没有Docker基础请先补补课:
⑥ Docker容器监控工具与方案:
⑴ Docker自带监控子命令 & 开源监控工具Weave Scope
⑦ Docker日志管理工具与方案:
⑴ Docker logs & logging driver
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实现灰度发布
想要深度应用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 及 企业数字化转型等技术内容文章,还会与你分享个人生活成长的点滴及各类好书的读书笔记,希望能对你有所帮助,一起成长!

写在最后:学习与码字不易,需要花费我很多的个人时间和精力,如果你能点个赞,可以更加激励我的学习和分享,谢谢!
.NET Core on K8S学习与实践系列文章 (2020版)的更多相关文章
- .NET Core 微服务学习与实践系列文章目录索引(2019版)
参考网址: https://archy.blog.csdn.net/article/details/103659692 2018年,我开始学习和实践.NET Core,并开始了微服务的学习,以及通过各 ...
- .NET Core微服务架构学习与实践系列文章索引目录
一.为啥要总结和收集这个系列? 今年从原来的Team里面被抽出来加入了新的Team,开始做Java微服务的开发工作,接触了Spring Boot, Spring Cloud等技术栈,对微服务这种架构有 ...
- .NET Core on K8S学习实践系列文章索引(Draft版)
一.关于这个系列 自从去年(2018年)底离开工作了3年的M公司加入X公司之后,开始了ASP.NET Core的实践,包括微服务架构与容器化等等.我们的实践是渐进的,当我们的微服务数量到了一定值时,发 ...
- ASP.NET Core on K8S学习初探(1)K8S单节点环境搭建
当近期的一个App上线后,发现目前的docker实例(应用服务BFF+中台服务+工具服务)已经很多了,而我司目前没有专业的运维人员,发现运维的成本逐渐开始上来,所以容器编排也就需要提上议程.因此我决定 ...
- ASP.NET Core on K8S学习初探(3)部署API到K8S
在上一篇<基本概念快速一览>中,我们把基本的一些概念快速地简单地不求甚解地过了一下,本篇开始我们会将ASP.NET Core WebAPI部署到K8S,从而结束初探的旅程. Section ...
- ASP.NET Core on K8S学习初探(2)K8S基本概念快速一览
在上一篇<单节点环境搭建>中,通过Docker for Windows在Windows开发机中搭建了一个单节点的K8S环境,接下来就是动人心弦的部署ASP.NET Core API到K8S ...
- ASP.NET Core on K8S学习之旅(12)Ingress
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 一.关于Ingress Kubernetes对外暴露Service主要有三种方 ...
- ASP.NET Core on K8S学习之旅(13)Ocelot API网关接入
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 上一篇介绍了Ingress的基本概念和Nginx Ingress的基本配置和使 ...
- ASP.NET Core on K8S学习之旅(14)Ingress灰度发布
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 之前一篇介绍了Ingress的基本概念和Nginx Ingress的基本配置和 ...
- 2019 年起如何开始学习 ABP 框架系列文章-开篇有益
2019 年起如何开始学习 ABP 框架系列文章-开篇有益 [[TOC]] 本系列文章推荐阅读地址为:52ABP 开发文档 https://www.52abp.com/Wiki/52abp/lates ...
随机推荐
- 【Java】(机考常用)类集
类集框架(集合框架)是一个用来代表和操纵集合的统一架构.所有的类集框架都包含如下内容: 接口:是代表类集的抽象数据类型.之所以定义多个接口,是为了以不同的方式操作集合对象. 例如:Collection ...
- 《机器人SLAM导航核心技术与实战》前言
<机器人SLAM导航核心技术与实战>前言 温馨提示: 本篇文章是我最新出版的书籍<机器人SLAM导航核心技术与实战>的前言部分,感兴趣的读者可以购买纸质书籍来进行更加深入和系统 ...
- HTB打靶记录-Vintage
信息收集 nmap -sV -sC -O 10.10.11.45 Nmap scan report for 10.10.11.45 Host is up (2.1s latency). Not sho ...
- .net WorkFlow 流程定义
WikeFlow官网:www.wikesoft.com WikeFlow学习版演示地址:workflow.wikesoft.com WikeFlow学习版源代码下载:https://gitee.com ...
- 如果 MySQL 中没有 MVCC,会有什么影响?
如果 MySQL 中没有 MVCC,会有什么影响? MVCC(Multi-Version Concurrency Control) 是 MySQL(尤其是 InnoDB 存储引擎)中一个至关重要的并发 ...
- 为什么 Java 8 移除了永久代(PermGen)并引入了元空间(Metaspace)?
为什么 Java 8 移除了永久代(PermGen)并引入了元空间(Metaspace)? 在 Java 8 中,JVM 移除了 永久代(PermGen)并引入了 元空间(Metaspace),这一改 ...
- Python requests代理(Proxy)使用教程
Python requests代理(Proxy)使用教程 在 Python 的 requests 库中,使用代理服务器可以让你通过不同的网络路由发送 HTTP 请求.代理服务器可以帮助隐藏真实 IP ...
- 揭秘AI自动化框架Browser-use(四):Browser-use记忆模块技术解析
一.从一次失败的景点采集说起 在 AI 自动化任务中,记忆模块是实现复杂任务处理的关键组件.Browser-use 项目通过引入记忆模块,解决了 LLM 在连续性任务中的无状态性问题,使代理能够维持上 ...
- 一个开源、经典的 WPF 控件、组件和实用工具集合,值得参考学习!
前言 今天大姚给大家推荐一个开源.经典的 WPF 控件.组件和实用工具集合,对于想要自己编写 WPF UI 界面的同学可以参考借鉴学习:Extended.Wpf.Toolkit. 项目介绍 Exten ...
- TVM:使用调度模板和AutoTVM优化算子
本节学习如何使用TVM 张量表达式(TE)语言来编写调度模板,这些模板可以被autoTVM搜索到,以找到最佳调度.这个过程称为auto-Tuning,它有助于优化张量计算的自动化过程. 本节建立在如何 ...