kind类型是namespace和Resource Quota的yaml如何编写?有哪些关键字?

本次介绍两个关联度很高的类型,Namespace和Resource Quota。

Namespace基本说明

在 Kubernetes 中,Namespace 是对集群的一种虚拟化分区,用于将资源(如 Pod、Service、ReplicaSet 等)进行逻辑隔离和组织。它是一种对 Kubernetes 集群进行资源级别的命名和隔离的机制。

通过使用 Namespace,可以在同一个 Kubernetes 集群中创建多个逻辑上相互独立的环境。每个 Namespace 提供一个独立的命名空间,以防止命名冲突,并允许不同的团队或项目在同一个集群中共享资源。

Namespace 具有以下特性:

  • 提供资源隔离:每个 Namespace 内的资源只在该 Namespace 内可见和可访问。
  • 不同 Namespace 之间的资源名称可以相同,因为它们在不同的命名空间中被认为是唯一的。
  • 允许对资源进行权限控制:可以通过 Role 和 RoleBinding 来定义不同 Namespace 内的用户或服务账号的权限范围。
  • 提供资源配额限制:每个 Namespace 可以有自己的资源限制和配额,以控制每个命名空间内的资源使用情况。

例如,可以创建一个名为 development 的 Namespace,在该 Namespace 中部署和管理开发环境的相关资源;同时,可以创建一个名为 production 的 Namespace,在该 Namespace 中部署和管理生产环境的相关资源。这样,不同环境的资源可以相互隔离,提高部署的灵活性和可管理性。

使用 Kubernetes CLI(如 kubectl),可以创建、查看、切换和删除 Namespace,以及在不同的 Namespace 中操作资源。

Namespace基本样例

以下是 kind 类型为Namespace 的 YAML 编写示例:

kind 类型为 Namespace 的 YAML 文件可以使用以下关键字和格式编写:

apiVersion: v1
kind: Namespace
metadata:
  name: <namespace-name>

关键字解释

  • apiVersion:指定 Kubernetes API 版本。对于 Namespace 对象,通常使用 v1
  • kind:指定对象类型,对于 Namespace 对象,使用 Namespace
  • metadata:指定对象的元数据,包括名称和其他可选项。
  • name:指定 Namespace 的名称,是必填项,用于唯一标识 Namespace

namespace经常和Resource Quota一起使用。

Resource Quota基本说明

在 Kubernetes 中,Resource Quota (资源配额)是一种机制,用于限制命名空间(Namespace)中的资源使用量。它允许管理员对命名空间内的资源进行精确控制和配额分配,以确保各个命名空间的资源使用在可控范围内。

Resource Quota 可以限制的资源包括:

  1. CPU:指定 CPU 的总使用量限制,以 CPU 核心数量为单位。
  2. 内存:指定内存的总使用量限制,以字节 (B) 或二进制单位 (Ki、Mi、Gi) 表示。
  3. 存储:指定存储资源(如持久卷)的数量和使用量限制。
  4. Pod 数量:设定可以创建的 Pod 的最大数量。

通过定义 Resource Quota 对象,可以为命名空间设置这些限制。一旦 Resource Quota 应用于命名空间,系统会监视并确保在此命名空间内的资源使用不超过指定的限制。

Resource Quota基本样例

kind 类型为 ResourceQuota 的 YAML 文件可以使用以下关键字和格式编写:

apiVersion: v1
kind: ResourceQuota
metadata:
  name: quota-example
spec:
  hard:
    cpu: "4"
    memory: 8Gi
    persistentvolumeclaims: "5"
    pods: "20"

关键字解释

  • apiVersion:指定 Kubernetes API 版本。对于 ResourceQuota 对象,通常使用 v1
  • kind:指定对象类型,对于 ResourceQuota 对象,使用 ResourceQuota
  • metadata:指定对象的元数据,包括名称和其他可选项。
  • name:指定 ResourceQuota 的名称,是必填项,用于唯一标识 ResourceQuota
  • spec:指定资源配额规格,即资源限制的详细设置。
  • hard:指定资源的硬限制,即资源的最大可用量。

上述配置中,为名为 quota-example 的 Resource Quota 设置了资源限制:将 CPU 限制为 4 个核心,内存限制为 8GB,持久卷数限制为 5 个,Pod 数量限制为 20 个。

将资源限制应用于指定命名空间

要在命名空间上设置资源限制,可以使用 Kubernetes 中的 Resource Quota(资源配额)对象。跟随以下步骤进行设置:

首先,创建一个 YAML 文件(例如 resource-quota.yaml)来定义 Resource Quota 对象。示例如下:

apiVersion: v1
kind: ResourceQuota
metadata:
  name: my-resource-quota
  namespace: my-namespace
spec:
  hard:
    cpu: "2"
    memory: 2Gi
    pods: "10"

上述示例将 my-namespace 命名空间中的资源限制如下:CPU 限制为 2 个核心,内存限制为 2GB,Pod 数量限制为 10。

其次,运行以下命令将 Resource Quota 对象应用于指定的命名空间:

kubectl apply -f resource-quota.yaml

最后,要查看命名空间上已应用的 Resource Quota 信息,请运行以下命令:

kubectl describe resourcequota -n my-namespace

将 my-namespace 替换为实际的命名空间名称。

此命令将显示 Resource Quota 的详细信息,包括已分配的配额和已使用的资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shanshan3003

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值