k8s 生产环境最佳实践

发布于:2024-10-24 编辑:匿名 来源:网络

1 简介 Kubernetes 很难,这已经不是什么秘密了!以下是在生产中使用它时应遵循的一些最佳实践。遵循这些步骤将确保更高的安全性和生产力。

毫无疑问,DevOps 已经取得了长足的进步!借助 Kubernetes 编排平台,公司可以比以往更快地发布软件。随着使用容器来构建和发布软件的不断增加,Kubernetes已经成为容器编排工具事实上的标准,并且在软件企业中极为流行。

Kubernetes 具有出色的特性,例如:支持可扩展性、零停机部署、服务发现、自动重启和回滚功能等。要管理大规模容器部署,Kubernetes 是必须的。

它可以灵活分配资源和工作负载。毫无疑问,生产中的 Kubernetes 是一个很好的解决方案,但需要一些时间来设置和熟悉该工具。

由于许多公司现在希望在生产中使用 Kubernetes,因此值得考虑一些最佳实践。在本文中,我们将讨论一些 Kubernetes 最佳实践。

2 生产环境中的k8s Kubernetes是一个复杂的编排工具,学习曲线陡峭,但它具有丰富的功能。生产操作应尽可能小心谨慎。

如果您面临内部人才短缺,您可以将其外包给为您提供所有最佳实践的 PaaS 提供商。但假设您在生产中单独管理 Kubernetes。

在这种情况下,重点关注最佳实践非常重要,尤其是在可观察性、日志记录、集群监控和安全配置方面。 正如我们许多人所知,在生产中运行容器并不是一件容易的事。

它需要大量的工作和计算资源等等。市场上有许多编排平台,但 Kubernetes 获得了大多数云提供商的巨大关注和支持。

综上所述,Kubernetes、容器化和微服务都是很棒的基础设施,但它们也带来了安全挑战。 Kubernetes Pod 可以在所有基础设施类别之间快速切换,从而导致 Pod 之间的内部流量增加和安全风险。

此外,Kubernetes 的攻击面通常较大。您必须考虑到 Kubernetes 的高度动态且全新的环境无法与遗留安全工具很好地配合。

Gartner 预测,到 2020 年,全球超过 75% 的组织将在生产环境中运行容器化应用程序,而目前这一比例还不到 30%。到2020年,全球超过85%的组织将在生产中推广容器应用,较去年的不到35%大幅增长。

本地云应用程序需要高度的基础设施自动化、DevOps 和专业操作技能,而这些技能在普通 IT 组织中很难找到。 因此,您必须使用一些 Kubernetes 策略,并应用安全、监控、网络、治理、存储、容器生命周期管理和平台选择方面的最佳实践。

让我们看一下 Kubernetes 的一些生产最佳实践。在生产环境中运行 Kubernetes 并不容易;有几个方面需要注意。

2.1 我们应该使用liveness探针和readiness探针进行健康检查吗?管理大规模分布式系统可能会很复杂,尤其是当出现问题并且无法及时通知我们时。为了确保您的应用程序实例正常工作,设置 Kubernetes 健康检查至关重要。

通过创建自定义的运行健康检查,可以有效防止僵尸服务在分布式系统中运行,并且可以根据环境和需求进行调整。 Readiness-readiness 探针 readiness 探针的目的是让 Kubernetes 知道应用程序是否准备好为流量提供服务。

Kubernetes 将始终确保在开始分配服务并向 Pod 发送流量之前通过就绪探测。活跃度 - 活跃度探针 您如何知道您的应用程序是活着还是死了?活性探针可以让您做到这一点。

如果您的应用程序终止,Kubernetes 将删除旧 Pod 并用新 Pod 替换。 2.2 资源管理 资源管理 为各个容器指定资源请求和限制是一个很好的做法。

另一个好的实践是将k8s环境划分为独立的命名空间,供不同的团队、部门、应用程序和客户端使用; 2.3 k8s资源使用量 Kubernetes资源使用量是指生产中容器/pod使用的资源数量。 因此,密切关注 Pod 的资源使用情况非常重要。

一个明显的原因是成本,因为更高的资源利用率证明浪费的资源更少。 2.4 资源利用率 资源利用率 运维团队通常希望优化并最大化 pod 消耗的资源百分比。

资源使用情况是 Kubernetes 环境实际优化程度的指标之一。 可以认为,在优化后的 Kubernetes 环境中运行的容器的平均 CPU 和其他资源利用率是最优的。

2.5 启用rbac RBAC 代表基于角色的访问控制。它是一种用于限制系统/网络上的用户和应用程序的访问和准入的方法。

Kubernetes 1.8 版本引入了 RBAC。使用 rbac.authorization.k8s RBAC 用于创建授权策略。

在 Kubernetes 中,使用 RBAC 进行授权。使用 RBAC,您将能够向用户、帐户授予权限、添加/删除权限、设置规则等。

因此,它基本上为 Kubernetes 集群添加了额外的安全层。 RBAC 限制谁可以访问您的生产环境和集群; 2.6 集群配置和负载均衡 生产级 Kubernetes 基础设施通常需要考虑某些关键方面,例如高可用性、多主机、多 etcd Kubernetes 集群等。

此类集群的配置通常涉及 Terraform 或 Ansible 等工具。 一旦集群全部设置完毕并为运行应用程序创建了 Pod,这些 Pod 就会配置负载均衡器;这些负载均衡器将流量路由到服务。

开源 Kubernetes 项目默认不是负载均衡器;因此,它需要通过 HAProxy 或 ELB 等工具或任何其他扩展 Kubernetes Ingress 插件以提供负载均衡功能的工具与 NGINX Ingress 控制器集成。 2.7 向 k8s 对象添加标签 标签就像附加到对象(例如 pod)上的键/值对。

标签用于标识对用户重要且有意义的对象属性。在生产中使用 Kubernetes 时,一个不可忽视的重要问题是标签;标签允许批量查询和操作 Kubernetes 对象。

标签的特别之处在于它们还可以用于识别 Kubernetes 对象并将它们组织成组。执行此操作的最佳用例之一是根据 Pod 所属的应用程序对 Pod 进行分组。

在这里,团队可以构建并拥有任意数量的标签约定。 2.8 配置网络策略 在使用 Kubernetes 时,设置网络策略至关重要。

网络策略只不过是一个对象,使您能够显式声明和决定允许哪些流量,不允许哪些流量。这样,Kubernetes 将能够阻止所有其他不需要的和不合规的流量。

定义和限制集群内的网络流量是强烈推荐的基本且必要的安全措施之一。 Kubernetes 中的每个网络策略都定义了如上所述的授权连接列表。

每当创建任何网络策略时,它引用的所有 Pod 都有资格建立或接受列出的连接。简而言之,网络策略基本上是授权和允许连接的白名单 - 无论是发往 Pod 的连接还是来自 Pod 的连接,只有在至少被应用于 Pod 的网络策略之一允许的情况下才被允许。

2.9 集群监控和日志记录 在使用 Kubernetes 时,监控部署至关重要。确保配置、性能和流量保持安全更为重要。

如果没有日志记录和监控,就不可能诊断正在发生的情况。为了确保合规性,监控和日志记录变得非常重要。

监控时,需要在架构的每一层都具备日志记录能力。生成的日志将帮助我们启用安全工具、审计功能和分析性能。

2.10 从无状态应用开始 运行无状态应用比运行有状态应用简单得多,但随着 Kubernetes 运营商的不断发展,这种想法正在发生变化。对于刚接触 Kubernetes 的团队,建议从无状态应用程序开始。

建议使用无状态后端,以便开发团队可以确保不存在长时间运行的连接,从而使扩展变得更加困难。利用无状态性,开发人员还可以更高效地部署应用程序,并且停机时间为零。

人们普遍认为,无状态应用程序可以根据业务需求轻松迁移和扩展。 2.11 启用自动伸缩 Kubernetes 为部署提供了三种自动伸缩功能:Pod 水平自动伸缩(HPA)、Pod 垂直自动伸缩(VPA)和集群自动伸缩。

水平 Pod 自动缩放器会根据感知的 CPU 利用率自动扩展部署、复制控制器、副本集和有状态集的数量。 垂直 Pod 自动缩放会为 CPU 和内存请求和限制推荐适当的值,并自动更新这些值。

Cluster Autoscaler 可扩展和缩小工作节点池的大小。它根据当前利用率调整 Kubernetes 集群的大小。

2.12 控制镜像拉取源。控制集群中运行的所有容器的镜像源。

如果您允许 Pod 从公共资源中提取映像,您将不知道其中实际运行的是什么。 如果您从受信任的注册表中提取它们,则可以在注册表上应用策略来提取安全且经过认证的映像。

2.13 持续学习 持续评估应用程序的状态和设置以学习和改进。例如,查看容器的历史内存使用情况可以得出这样的结论:从长远来看,我们可以分配更少的内存并节省成本。

2.14 保护重要服务 使用Pod优先级,您可以决定设置不同服务运行的重要性。例如,为了更好的稳定性,您需要确保 RabbitMQ pod 比您的应用程序 pod 更重要。

或者,您的入口控制器 Pod 比数据处理 Pod 更重要,以确保服务可供用户使用。 2.15 零宕机 通过将所有服务运行在HA中,支持集群和服务的零宕机升级。

这也将保证您的客户获得更高的可用性。 使用 pod 反亲和性来确保 pod 的多个副本被调度到不同的节点上,从而通过计划内和计划外的集群节点中断来确保服务可用性。

使用 pod 中断策略来确保您不惜一切代价拥有最少数量的 pod 副本! 2.16 故障计划 硬件最终会出现故障,而软件最终会运行。 --(Michael Hatton) 3 总结 众所周知,Kubernetes 实际上已经成为 DevOps 领域的编排平台标准。

Kubernetes 从可用性、可扩展性、安全性、弹性、资源管理和监控的角度处理生产环境中出现的风暴。由于许多公司在生产中使用 Kubernetes,因此必须遵循上述最佳实践来平滑、可靠地扩展应用程序。

k8s 生产环境最佳实践

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • FLYPRO飞豹携XEagle无人机 亮相2016全球最大无人机展AUVSI XPONENTIAL

    FLYPRO飞豹携XEagle无人机 亮相2016全球最大无人机展AUVSI XPONENTIAL

    FLYPRO飞豹携旗下XEagle无人机亮相2016年全球最大无人机展AUVSI - 5日在美国路易斯安那州新奥尔良举行,XPONENTIAL是全球规模最大、最专业的无人机展,也是机器人领域首屈一指的全球顶级专业盛会技术市场,吸引了全球众多行业领先企业的参与。 (FLYPRO无人机展位)作为全球智

    06-18

  • 赛维尔生物科技获数千万元A轮融资

    赛维尔生物科技获数千万元A轮融资

    投资圈(微信ID:pedaily)据7月3日消息,武汉赛维尔生物科技有限公司近日获得来自投资界的数千万元A轮融资天堂硅谷集团旗下基金独家投资,本轮融资将用于加速公司的产品研发和市场拓展。 资料显示,赛维尔生物成立于2007年,总部位于光谷生物城生物医药园。 是一家实验服务和

    06-17

  • 青岛高新区工委委员、管委副主任张建军一行到访合肥启迪科技城

    青岛高新区工委委员、管委副主任张建军一行到访合肥启迪科技城

    青岛高新区工委委员、管委会副主任张建军一行莅临合肥启迪科技园青岛高新区微信ID gh_ecda6b45ee21关于专题启迪之星(青岛高新区)由青岛高新区与青岛高新区共同打造启迪控股东北亚总部。 围绕青岛高新区特色产业集群需求,帮助青岛高校师生创新创业和科技成果转化。 创建有影

    06-17

  • 英飞凌:在华新投资扩建无锡生产线

    英飞凌:在华新投资扩建无锡生产线

    11月6日,德国半导体科技公司英飞凌在第三届中国国际进口博览会上公布了在华最新投资计划。 公司决定扩建无锡生产线工厂的IGBT模块生产线。 IGBT是指绝缘栅双极型晶体管。 具有高频、高电压、大电流、易开关等优良特性。 它是能量转换和传输的核心装置。 被业界誉为功率变换器

    06-06

  • MOOVED完成数千万元Pre-A轮融资,打造非洲本土家电品牌

    MOOVED完成数千万元Pre-A轮融资,打造非洲本土家电品牌

    投资界(ID:pedaily)据5月5日消息,非洲家电企业MOOVED近期完成数千万元融资人民币Pre-A轮融资。 本轮融资由普尔曼资本领投。 本轮新募集资金将用于产品研发、中国和非洲市场人才团队扩充以及品牌投资和线下渠道拓展。 据悉,MOOVED今年4月完成天使轮融资。 “MOOVED成立于

    06-18

  • 通信芯片设计商纽瑞芯完成天使轮融资

    通信芯片设计商纽瑞芯完成天使轮融资

    据投资界2月28日消息,通信芯片设计商深圳纽瑞芯科技有限公司(以下简称“纽瑞芯”)宣布成功完成天使轮融资。 本轮融资由新云创投领投,资金将主要用于公司射频和模拟混合芯片技术平台的研发和迭代,以及5G和5G两大关键技术的产业化。 物联网通信定位芯片、5G射频天线智能调

    06-18

  • 贺利氏电化(上海)有限公司新电子化学品项目奠基

    贺利氏电化(上海)有限公司新电子化学品项目奠基

    据上海化学工业区官方微信公众号消息,贺利氏电化(上海)有限公司新电子化学品项目奠基仪式隆重举行。 “新型电子化学品项目”在上海化学工业区召开。 贺利氏电子化学材料事业部全球联席总裁Bernd Stenger表示,新项目的实施体现了贺利氏坚定的“在中国,为中国”的战略。

    06-06

  • 易居与克而瑞达成合并协议,收购价格提升至每股1.75美元

    易居与克而瑞达成合并协议,收购价格提升至每股1.75美元

    易居(中国)控股有限公司与中国房地产信贷有限公司达成合并协议计划收购全部流通股北京时间12月28日消息,易居(中国)控股有限公司当天宣布,与中国房地产信息公司达成合并协议及方案。 集团与中国房地产信息(中国)控股有限公司。 根据合并协议,易居将收购中房信贷全部流

    06-18

  • 科沃斯Smart Move技术产品亮相广州

    科沃斯Smart Move技术产品亮相广州

    科沃斯智动科技产品在广州亮相 2020年3月17日,科沃斯扫地机器人地宝9系列媒体品鉴会在广州贝塔咖啡举行。 科沃斯讲解了其Smart Navi全局规划技术,并现场展示了搭载该技术的DR95扫地机器人。 这项技术开发了机器人的视觉,让机器人能够自主检测和记忆环境,构建地图,先规划

    06-17

  • 特斯拉应该像他一样,监督司机在自动驾驶时的行为

    特斯拉应该像他一样,监督司机在自动驾驶时的行为

    上周五,特斯拉的电动车在自动驾驶模式下遭遇车祸,引起了全世界的关注。 特斯拉随后官方宣布,这个自动驾驶功能并不能完全控制汽车。 驾驶员必须用手握住方向盘并保持警惕并与汽车系统进行交互。 这一事件再次提醒世人关注当前无人驾驶汽车的安全问题。 目前,无人驾驶技术

    06-18

  • 商汤科技上市首日股价大涨7.27%,总市值近1400亿港元

    商汤科技上市首日股价大涨7.27%,总市值近1400亿港元

    上头条几经波折,12月30日,国内人工智能巨头商汤集团有限公司上市。 (.HK)终于在香港联交所上市。 首日收盘价为4.13港元,较发行价上涨7.27%。 商汤科技总市值为1亿港元。 同日,商汤在上海和香港同时举行上市庆祝仪式。 仪式期间,商汤特地利用AR技术创新打造了“AR敲锣”

    06-18

  • 挚文集团2022年Q4净营收32.127亿元,净利润4.879亿元

    挚文集团2022年Q4净营收32.127亿元,净利润4.879亿元

    北京时间3月16日,挚文集团(纳斯达克股票代码:MOMO)公布未经审计的第四季度及全年财务业绩。 财报显示,今年第四季度,挚文集团净营收达到32亿元人民币(约合4亿美元)。 不按照美国通用会计准则计算,归属于挚文集团的净利润为4亿元人民币(约合1万美元)。 ; 。 据彭博社

    06-17