问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Kubernetes Pod服务质量(QoS)类配置实战

创作时间:
作者:
@小白创作中心

Kubernetes Pod服务质量(QoS)类配置实战

引用
CSDN
1.
https://m.blog.csdn.net/2301_82243558/article/details/138266164

在上一篇文章中,我们学习了如何为容器设置CPU请求(request)和限制(limit)。本篇文章,我们将深入探讨如何配置Pod的服务质量(QoS)类,以确保不同应用场景下的资源分配和调度策略。

学习目标

通过本篇文章的学习,你将能够:

  • 理解Kubernetes中Pod的三种服务质量(QoS)类
  • 掌握如何创建不同QoS类的Pod
  • 学会为Pod配置合适的资源请求和限制

一、创建命名空间

在开始配置Pod之前,我们首先需要创建一个命名空间,以便更好地组织和隔离资源。执行以下命令创建一个名为qos-demo的命名空间:

kubectl create namespace qos-demo

二、创建 QoS 类

Kubernetes定义了三种服务质量(QoS)类:Guaranteed、Burstable和BestEffort。下面我们将分别创建这三种类型的Pod。

2.1、 QoS 类为 Guaranteed 的 Pod

Guaranteed类型的Pod需要为所有容器同时设置CPU和内存的请求和限制,且请求值必须等于限制值。这种类型的Pod将获得最高的资源优先级。

创建一个Guaranteed类型的Pod:

apiVersion: v1
kind: Pod
metadata:
  name: guaranteed-pod
  namespace: qos-demo
spec:
  containers:
- name: guaranteed-container
    image: nginx:latest
    resources:
      requests:
        memory: "64Mi"
        cpu: "250m"
      limits:
        memory: "64Mi"
        cpu: "250m"

2.2、 QoS 类为 Burstable 的 Pod

Burstable类型的Pod需要为所有容器设置CPU或内存的请求,但不需要设置限制,或者限制值大于请求值。这种类型的Pod在资源充足时可以使用额外的资源,但在资源紧张时可能会被限制。

创建一个Burstable类型的Pod:

apiVersion: v1
kind: Pod
metadata:
  name: burstable-pod
  namespace: qos-demo
spec:
  containers:
- name: burstable-container
    image: nginx:latest
    resources:
      requests:
        memory: "64Mi"
        cpu: "250m"
      limits:
        memory: "128Mi"
        cpu: "500m"

2.3、 QoS 类为 BestEffort 的 Pod

BestEffort类型的Pod不需要设置任何资源请求或限制。这种类型的Pod将获得最低的资源优先级,只能使用剩余的资源。

创建一个BestEffort类型的Pod:

apiVersion: v1
kind: Pod
metadata:
  name: besteffort-pod
  namespace: qos-demo
spec:
  containers:
- name: besteffort-container
    image: nginx:latest

通过以上配置,你可以根据实际需求选择合适的QoS类,以实现更精细的资源管理和调度策略。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号