Kubernetes - 实战:集群管理、使用名字空间分隔系统资源、给名字空间设置资源限额、默认资源配额的使用

集群管理实战

在 Kubernetes 集群管理中,名字空间(Namespace)是用于逻辑划分集群资源的一种重要手段。通过名字空间,可以在同一个物理集群上模拟出多个虚拟集群,便于不同的团队或项目之间共享集群资源的同时,保持资源的隔离和组织结构的清晰。

使用名字空间分隔系统资源
  1. 创建和列出名字空间

    创建一个新的名字空间可通过编写 YAML 文件或直接使用 kubectl 命令行工具创建:

    # YAML 文件示例
    apiVersion: v1
    kind: Namespace
    metadata:
      name: my-namespace
    
    # 使用 kubectl 创建
    kubectl create namespace my-namespace
    

    列出所有名字空间:

    kubectl get namespaces
    
  2. 在名字空间中创建资源

    在创建 Deployment、Service、ConfigMap 等资源时,可以通过在 YAML 文件中指定 metadata.namespace 来将资源放入特定的名字空间:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: my-app
      namespace: my-namespace
    spec:
      # ...
    

    或者在执行 kubectl 命令时通过 -n 参数指定:

    kubectl run my-app --image=my-app-image -n my-namespace
    
给名字空间设置资源限额

资源限额允许管理员为每个名字空间设置资源使用的上限,以防止资源滥用或过度分配导致集群资源耗尽。资源限额可以针对 CPU、内存和存储等资源进行限制。

  1. 设置资源配额

    创建资源配额的 YAML 示例:

    apiVersion: v1
    kind: ResourceQuota
    metadata:
      name: quota
      namespace: my-namespace
    spec:
      hard:
        requests.cpu: "2"
        requests.memory: "2Gi"
        limits.cpu: "4"
        limits.memory: "4Gi"
        persistentvolumeclaims: "10"
        services.loadbalancers: "2"
    

    通过 kubectl 创建资源配额:

    kubectl apply -f resource-quota.yaml -n my-namespace
    

    上述示例为 my-namespace 设置了 CPU 和内存的请求和限制,同时也限制了持久卷声明和负载均衡器服务的数量。

默认资源配额的使用

默认资源配额是指在集群层面或部分名字空间层面预设的一套资源使用限制。系统可能会为 defaultkube-system 这样的核心名字空间设置默认资源配额,确保基础服务的稳定运行。

若要在集群中对所有新建的名字空间都启用默认资源配额,可以通过创建名为 LimitRange 的资源来实现。不过,通常情况下,默认资源配额不是自动设置的,而是需要管理员主动配置。

举例来说,如果你想要为所有新建 Pod 设置默认的 CPU 和内存请求和限制:

apiVersion: v1
kind: LimitRange
metadata:
  name: default-limits
spec:
  limits:
  - type: Container
    min:
      cpu: "250m"
      memory: "128Mi"
    max:
      cpu: "1"
      memory: "512Mi"
    default:
      cpu: "500m"
      memory: "256Mi"

通过以上 YAML 文件创建 LimitRange,将为该范围内的 Pod 设置默认的资源请求和限制。但请注意,LimitRange 通常应用于特定名字空间,而非全局默认。对于名字空间级别的资源限额,仍需通过 ResourceQuota 来实现。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值