贯穿.NET6结合Docker傻瓜式实现容器编排

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了贯穿.NET6结合Docker傻瓜式实现容器编排相关的知识,希望对你有一定的参考价值。

常规开发部署的痛点

一个项目的开发上线有很多纷繁复杂的问题,例如:操作系统运行环境以及各种应用配置、集群环境搭建等等。特别是各种版本的迭代导致的不兼容,这些对于曾经的架构师而言也十分苦恼。而Docker的出现实现了从“蚂蚁搬家”到“乾坤大挪移”的跃进。结束了上述一系列长久以来困扰的架构问题。

微服务下.Net与Docker结合

.NET与Docker的完美匹配一直是开发者们津津乐道的话题,在.NET6乃至未来的版本中,与Docker的结合在性能上将会有更好的呈现。

本周特邀来自世界五百强企业架构师的旺仔大佬给大家讲解:在.NET6与Docker的结合中,如何使用容器编排实现自动化管理,避免繁琐的文档查阅,跨越常见入坑与痛点,从入门到进阶一站式学习,金三银四,时不我待,一起来学习吧!!!

旺仔大佬致力于阿里云平台的架构设计与性能优化,并根据自身需求设计开发了:日志备份系统、LDAP、工单系统、业务异常监控报警系统(logAlert、Grafana),自动聊天机器人(chatBot),以及高效的自动化CI/CD平台。

赠书

额外福利

书籍简介

《ASP.NET Core 5.0》突出实战的特点,通过精心选取的大量实例项目,手把手带领读者完成基于ASP.NET Core平台的实际应用开发。目前是市场上最新版本的.NET书籍,书籍作者也是拥有多年一线.NET开发经验的从业人员-老张的哲学!如果你对.NET Core兴趣浓厚或者一知半解,那么这本书是你不二的选择。本书适宜人群:进阶.NET全栈开发工程师以及想快速入门.NET Core开发的朋友。

如何获取(数量有限)(就在今晚)

扫码领取

重点讲解

一、什么才是真正的容器服务?——“服务编排”

  容器服务编排是将部署、管理、弹性伸缩、容器网络都形成自动化处理,得益于容器的微服务设计使其更好的贴合编排服务场景,通过服务编排进行容器生命周期的管理,使得DevOps 团队将其集成到CI/CD工作流,从而做到更高效的迭代。

容器编排的自动化管理任务场景,比如:

  • 资源调配和部署

  • 配置和调度

  • 容器可用性

  • 服务伸缩

  • 负载平衡和流量路由等

二、容器生命周期管理的容器编排工具——Kubernetes

Kubernetes编排允许您构建跨多个容器的应用程序服务,跨集群调度容器,扩展这些容器,并随着时间推移管理它们的运行状况。这些集群可以跨越分布于不同公有云(微软Azure、阿里云、AWS)、私有云、混合云的主机。因此,Kubernetes 是托管快速扩展的云原生应用的理想平台。

Kubernetes 通过无需重新设计应用即可迁移,来实现工作负载可移植和负载均衡。

三、动态负载感知(弹性扩容)

在编排系统中动态感知负载,从而调节容器数量的功能称之为HPA,HPA全称是Horizontal Pod Autoscaler,翻译成中文是POD水平自动伸缩,以下都会用HPA代替Horizontal Pod Autoscaler。

HPA可以基于编排集群中CPU利用率,从而对其中的pod(副本)数量进行自动扩缩容。HPA由Kubernetes API资源和控制器实现。HPA控制器会定时的获取平均CPU利用率,并与预先设定的目标值相比较来决定副本的数量。

四、灰度发布

灰度发布,又称金丝雀发布,是将应用的旧版本A与新版本B同时部署在环境中,业务请求可能会被路由到版本A的后端上,也可能会被路由到版本B的后端上;可以自定义灰度发布策略,调整版本A和B的流量占比,渐进式完成新版本应用的全量上线,最大限制地控制新版本发布带来的业务风险,降低故障带来的影响面,同时支持快速回滚的策略。

以上是关于贯穿.NET6结合Docker傻瓜式实现容器编排的主要内容,如果未能解决你的问题,请参考以下文章

Docker compose v3版本构建跨主机容器编排构建wordpress集群

debian部署docker(傻瓜式)

KataContainers和Docker的集成

群晖安装Docker

Docker Compose容器编排工具

docker学习6-docker-compose容器集群编排