基于K8S应用部署过程中常见的十个反模式|文末福利

Kubernetes确实很受欢迎,但是很难上手,而且传统开发中有很多实践都无法转化为云原生开发。在本文中,我们研究了10个关于Kubernetes部署的反模式。

1.将配置文件放在Docker映像的内部:将您的配置数据外部化。您可以使用ConfigMap和Secrets或类似的东西。

2.不使用Helm或其他类型的模板:使用Helm或Kustomize可以简化您的容器编排并减少人为错误。

3.以特定顺序部署事物:应用程序不应崩溃,因为依赖项尚未就绪。利用Kubernetes的自我修复机制并实现重试。

4.在不设置内存/CPU限制的情况下部署Pod:您应该考虑设置内存和CPU限制以减少资源争用的风险,尤其是在与其他人共享群集时。

5.在生产中将latest标签拉到容器中:切勿使用最新的标签。始终根据语义版本规范使用诸如v1.4.0 或有意义的东西,并使用不可变的Docker映像。

6.通过kill Pod来部署新的更新/补丁,以便它们在重新启动过程中提取新的Docker映像:对代码进行版本控制,以便更好地管理发布。

7.在同一群集中混合生产和非生产工作负载:如果可以,在单独的群集中运行生产和非生产工作负载。这样可以减少资源争用和意外环境转换对生产环境的风险。

8.不对任务关键型部署使用蓝色/绿色或金丝雀(Kubernetes的默认滚动更新并不总是满足的):您应该考虑使用蓝色/绿色部署或金丝雀版本,以减轻生产中的压力并获得更有意义的生产结果。

9.没有度量标准来了解部署是否成功(您的运行状况检查需要应用程序支持):您应该确保监视部署以避免任何意外。您可以使用Prometheus,Grafana,New Relic或Cisco AppDynamics之类的工具来帮助您更好地了解部署情况。

10.云供应商锁定:将自己锁定在IaaS提供商的Kubernetes或无服务器计算服务中:您的业务需求可能随时发生变化。您不应无意间将自己锁定在云提供商中,因为您可以轻松提升和转移云本机应用程序。


系统层面突破技术瓶颈|重新认识操作系统

关于我们

泽阳,DevOps领域实践者。专注于企业级DevOps运维开发技术实践分享,主要以新Linux运维技术、DevOps技术课程为主。丰富的一线实战经验,课程追求实用性获得多数学员认可。课程内容均来源于企业应用,在这里既学习技术又能获取热门技能,欢迎您的到来!(微信ID: devopsvip)

DevOps流水线实践课程

????戳阅读原文,进入课堂

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值