怎么调整Kubernetes的CPU和内存
本篇内容介绍了“怎么调整Kubernetes的CPU和内存”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
站在用户的角度思考问题,与客户深入沟通,找到茂南网站设计与茂南网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名注册、网络空间、企业邮箱。业务覆盖茂南地区。
1、为容器和 Pod 分配CPU和内存资源 2、Resources Quota: 限制namespace的资源消耗 3、Limit Ranges:配置默认的CPU请求和限制
为容器和 Pod 分配CPU和内存资源
CPU和内存单位
Kubernetes 中的一个 cpu 等于: 1、1 AWS vCPU 2、1 GCP Core 3、1 Azure vCore 4、1 Hyperthread 在带有超线程的裸机 Intel 处理器上
将CPU和内存 请求 (request)和内存 限制 (limit)分配给一个容器。 我们保障容器拥有它请求数量的内存,但不允许使用超过限制数量的CPU和内存 。
apiVersion: apps/v1 kind: Deployment metadata: name: aks-application spec: replicas: 1 selector: matchLabels: app: aks-application template: metadata: labels: app: aks-application spec: containers: - name: aks-application image: hubname/aks-application-image:1.0.0 resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi
将内存资源分配给容器和Pod 将CPU资源分配给容器和Pod Kubernetes最佳实践资源要求和限制 应用程序开发人员在Azure Kubernetes Service(AKS)中管理资源的最佳实践
Resources Quota: 限制namespace的资源消耗
资源配额,通过 ResourceQuota 对象来定义,对每个namespace的资源消耗总量提供限制。它可以限制namespace中某种类型的对象的总数目上限,也可以限制命令空间中的 Pod 可以使用的计算资源的总上限。
1、不同的团队可以在不同的namespace下工作,目前这是非约束性的,在未来的版本中可能会通过 ACL (Access Control List 访问控制列表) 来实现强制性约束。 2、集群管理员可以为每个namespace创建一个或多个 ResourceQuota 对象。 3、当用户在namespace下创建资源(如 Pod、Service 等)时,Kubernetes 的配额系统会 跟踪集群的资源使用情况,以确保使用的资源用量不超过 ResourceQuota 中定义的硬性资源限额。 4、如果资源创建或者更新请求违反了配额约束,那么该请求会报错(HTTP 403 FORBIDDEN), 并在消息中给出有可能违反的约束。 5、如果namespace下的计算资源 (如 cpu 和 memory)的配额被启用,则用户必须为 这些资源设定请求值(request)和约束值(limit),否则配额系统将拒绝 Pod 的创建。提示: 可使用 LimitRanger 准入控制器来为没有设置计算资源需求的 Pod 设置默认值。
apiVersion: v1 kind: ResourceQuota metadata: name: backend-storage-quota spec: hard: persistentvolumeclaims: "2" requests.storage: "1Gi" -- apiVersion: v1 kind: ResourceQuota metadata: name: backend-namespace-quota spec: hard: request.cpu: 400m request.memory: 9600Mi limits.cpu: 1200m limits.memory: 11600Mi
kubectl apply -f resource-quota.yaml — namespace backend
https://kubernetes.io/docs/concepts/policy/resource-quotas/
Limit Ranges:配置默认的CPU请求和限制
apiVersion: v1 kind: LimitRange metadata: name: backend-limit-range spec: limits: - default: memory: 110Mi cpu: 500m defaultRequest: memory: 20Mi cpu: 100m type: Container -- apiVersion: v1 kind: LimitRange metadata: name: backend-storage-limits spec: limits: - type: PersistentVolumeClaim max: storage: 5Gi min: storage: 2Gi
为namespace配置默认的 CPU 请求和限制 限制名称空间的存储使用量 Kubernetes中的 Limit Range
工具:管理Kubernetes的CPU和内存
Popeye 会扫描集群中是否存在与配置,资源和网络漏洞有关的问题,并生成有关所有问题的详细报告。 Goldilocks 扫描Pod中的资源限制,并使用建议的资源创建报告。 Kube-advisor 来自Azure团队的工具,可扫描容器中缺少的资源并限制请求。 K9s+benchmark 提供了一个命令行界面(CLI),使你可以轻松地管理,监视甚至对 你喜欢的终端软件中的集群进行基准测试
总结
设置资源请求:获取有关特定应用程序/容器的CPU和内存使用情况的信息。 设置资源限制:运行负载测试以检测高负载下容器的CPU和内存。 监视容器的CPU和内存使用情况。 监视持久卷使用情况。 检查是否可以使用Limit Range应用资源限制 使用配额(不建议在生产环境中应用配额)
“怎么调整Kubernetes的CPU和内存”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
文章标题:怎么调整Kubernetes的CPU和内存
本文链接:http://scyanting.com/article/jpihpp.html