Redian新闻
>
管理Kubernetes资源要注意的5件事!

管理Kubernetes资源要注意的5件事!

科技

新钛云服已累计为您分享688篇技术干货

Kubernetes自动化了许多大规模管理容器的工作。但是容器化的应用程序通常共享池化的资源,因此您需要正确地分配和管理它们。
容器编排为IT团队提供了强大的承诺:它可以自动处理大量管理容器所需的大量工作。
想想Kubernetes (K8s)在项目官方网站上自我描述的强大功能:“Kubernetes (K8s)是一个用于自动化部署、扩展和管理容器化应用程序的开源系统。
这非常重要——特别是当您谈论的团队正在运行许多容器化应用程序时。虽然像Kubernetes这样的编配器本身的自动化,被广泛认为是在生产环境中运行容器的必要条件,但这并不意味着IT专业人员可以放松下来。
还有很多工作要做,包括设置和优化集群上运行的应用程序的资源管理方式。
为什么需要管理Kubernetes资源
Altran的技术、研究和创新总监Raghu Kishore Vempati说:“Kubernetes为计划在其上运行的pods提供了管理所有关键资源的选项——比如计算、内存和存储。”集群没有无限的资源,通常情况下,每个应用程序/解决方案都有自己的Kubernetes集群并不常见,除非它们非常特殊并且应该以这种方式运行。
这意味着应用程序通常共享集合的资源。分配这些资源的“正确”方式会因组织和应用程序的不同而不同,但好消息是Kubernetes包含了许多用于资源管理的特性。
Kasten的工程主管Tom Manville说:“Kubernetes可以部署在任何地方,但这意味着所需的基础设施将是您的环境所特有的。”“重要的是要了解你的环境中需要的资源,并适当地分配它们。随着集群的扩展,基础设施也必须扩展。幸运的是,扩展集群的规模很容易,而且在很多情况下,这可以自动发生。”
管理Kubernetes资源: 要知道的5个关键事情
Vempati指出,Kubernetes环境中的计算或存储等资源的管理可以大致分为两类:Kubernetes在系统级提供的资源,以及需要在应用程序和体系结构级进行规划的资源。这篇文章将主要关注前一类的功能。

让我们深入了解五件重要的事情。

1

使用命名空间和资源配额

Vempati指出,团队通常在同一个集群上运行多个应用程序。对于这种类型的使用,Vempati和其他专家通常建议在多租户环境中使用命名空间作为隔离和其他目的的最佳实践。类似地,当多个团队或多个用户访问同一个集群时(有时会同时运行多个应用程序),也建议使用命名空间。命名空间也是Kubernetes安全性的一部分。
当您在这些多应用程序、多用户环境中使用名称空间时,Vempati还建议使用Kubernetes的本地资源配额特性,以确保在分配给这些名称空间的应用程序和团队之间正确地分配内容。
“资源配额允许集群管理员控制每个命名空间的总体资源消耗,”Vempati说。这可以包括每个命名空间可以创建的对象的总数——计算、内存和存储。例如,我们可以在非终端状态下对所有pods设置CPU限制或内存限制,不超过某个值。”
来自Kasten的Manville指出,CPU和内存通常是管理员使用资源配额进行约束的最常见资源,但是您也可以限制名称空间中的pod数量。可以这样说,资源配额是一个重要的管理工具。

Vempati说:“基于配额的管理允许集群管理员有效地管理整体资源,以最合适的方式将它们分配给所有的应用程序。”

2

使用限制范围

资源配额用于在名称空间级别管理资源消耗。换句话说,一旦设置,它们将应用于整个命名空间。限制范围具有类似目的,但会限制单个容器或容器级别的资源消耗。
“Kubernetes为管理员提供了强大的原语,以控制应用程序消耗的资源”Manville说。“管理员可以配置限制范围,以限制开发人员的资源请求,并创建资源配额以限制命名空间中消耗的资源总数。”

考虑这些相关功能之间的区别的另一种方式是:可以使用名称空间和资源配额来确保应用程序或团队不会占用集群的总体池资源的必要份额。限制范围有助于防止单个pod或容器占用分配给特定名称空间的大部分资源的情况。

3

设置网络策略

Kubernetes还具有有关网络的本地特性,包括pods如何相互通信(或被阻止通信)。Vempati建议使用网络策略。

Vempati说:“对于网络,Kubernetes允许一个选项来设置网络策略,该策略可以帮助指定集群上调度的各个pods如何与其他节点以及同一集群上的其他端点通信。”“例如,我们可以为pods设定进出交通规则。” 这也是整体的、分层的容器安全方法的一部分。

4

如果适用,请不要忘记存储

存储值得自己深入研究。就像管理员可以对CPU和内存有非常特定的控制一样,相同的原理也适用于存储。
“Kubernetes帮助设定了非常细粒度的限制,”Vempati说。因此,在一个给定的名称空间中,您可以设置一个可以存在于该名称空间中的PersistentVolumeClaims的数量限制。
Red Hat的技术专员Gordon Haff将持久卷(PV)描述为有效    管理的最重要的Kubernetes资源之一。
Haff说:“配置不绑定到临时容器映像的存储的能力是Kubernetes的关键创新之一,它将Kubernetes与一些早期的基于容器的平台即服务(PaaS)产品区分开来。”“如果没有持久存储,你的应用架构就会局限于特定的样式。
Haff指出,Kubernetes中的PV是作为插件实现的,其生命周期与使用PV的任何单个Pod无关。PersistentVolumeClaim本质上是用户的存储请求,Haff补充说,它进一步抽象了PV的细节。
“ Kubernetes是按这种方式设计的,因为用户通常需要具有不同属性(例如性能)的PV来解决不同的问题和工作负载,” Haff解释说。“不同类型的PV也具有不同类型的访问模式。”
因此,这涉及到Vempati上面描述的第二类资源管理:应用程序和体系结构级别的资源规划。Haff指出,存储是一开始就需要评估的东西。
Haff说:“管理Kubernetes资源的一个重要部分是预先计划是否首先需要持久性存储(比如数据库),如果需要,那么哪个卷插件最适合您的工作负载和计算环境。”
谈到数据库,Crunchy Data的平台工程副总裁Jonathan Katz说,有状态应用程序为资源管理引入了一些额外的细微差别。“例如,内存是一个重要的PostgreSQL可调资源,”Katz说。在Kubernetes操作符的PostreqSQL背后隐藏着复杂的数据。

Katz解释说:“将你的内存请求设置为你想要长期使用的实际内存值是很重要的,而不是设置一个较低的请求和较高的限制。”“这将确保你的PostgreSQL实例被调度到一个有足够资源的节点,因为更多的数据被缓存在内存中,并且限制了事件的风险,比如驱逐或者被OOM杀手访问。”

5

保持整洁:API对象和监控

“如果您的任何应用程序直接使用Kubernetes API,请确保自动清理API对象,”Manville说。大量未使用的API对象会降低集群的性能。更糟糕的是,这些对象有时会映射到闲置的基础设施,这可能会增加不必要的成本。”
通常,有效的资源管理要求团队和管理员能够看到正在发生的事情。因此,不要忘记监视并确保密切关注集群之间的资源使用情况
“这将帮助您更好地了解集群正在使用的资源,在集群接近容量时提醒您,并且在某些情况下,让Kubernetes自动伸缩,”Manville说。
*本文部分图片来源于网络,如有侵权请联系删除
*原文链接:https://enterprisersproject.com/article/2020/8/managing-kubernetes-resources-5-things-remember

    推荐阅读   




    了解新钛云服   


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
‘End of an Era’ as Lonely Planet Folds Its Chinese Magazine使用 External Secrets Operator 安全管理 Kubernetes SecretsChinese Drugmaker Launches Epilepsy Medicine After Approval不管多爱一个男人,也别为他做这5件事!女人们一定要知道My Journey From Concerned Parent to LGBT AllyKubernetes 缺少的多租户功能,你可以通过这些方式实现A Japanese Man’s 30-Year Quest to Green a Chinese Desert一没有贪官污吏二没有土豪劣绅2023招聘季 | Uber (US) Data岗 Summer Internship已开放!Kubernetes 集群的关闭与重启Kubernetes 1.24发布,支持网络策略状态、上下文日志记录和子资源优化 Kubernetes 中的 Java 无服务器函数 | Linux 中国2023招聘季 | 有转正机会!Tesla(US) ​已开放Summer Internship临时绿卡持有人必须注意的五件事!突发!Telstra也翻车了!数万员工信息泄露!Optus210万用户需要换证件,华人要注意这些事!亚裔警察入狱Kubernetes是如何实现数据持久化存储的?为什么要歧视我们的民族服装Chinese Cities Target Made-Up Street Names Attracting Influencer一个人的徒步,900公里法国之路+世界尽头:D20~不同的朝圣路赴华:健康码有效期,尤其是转机赴华,有些地方还是要注意的Kubernetes 能否帮助解决自动化挑战? | Linux 中国2023招聘季 | Jefferies (US) 金融 Summer Internship已开放!我的人间Kubernetes 即将支持机密计算 | Linux 中国在美国当“足球妈妈”,让我惊讶的5件事二十四节气要注意的好习惯,请让自己养成本周上班时间有变!还要注意的是……Google:10个Intern,9个Return!Chinese Sailor Returns Home After Circumnavigating the ArcticAfter a Blistering Summer, China Braces for a Frigid Winter16 张图硬核讲解 Kubernetes 网络别天真了!美国大学招生官不会告诉你的5件事!揭穿官方虚伪的谎言!没有银弹,只有取舍 - Serverless Kubernetes 的思考与征程(一)这一年,在伦敦,学会的5件事
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。