MST

星途 面试题库

面试题:容器化场景下,Kubernetes资源配额与限制设置方法之中等难度题

在Kubernetes中,若有一个包含多个Pod的Deployment,每个Pod内运行着不同的微服务,现在需要对每个Pod设置CPU和内存的资源限制,使其不超过节点总资源的20%,请描述具体的设置步骤以及对应的YAML配置文件关键部分如何编写。
23.0万 热度难度
后端开发容器化

知识考点

AI 面试

面试题答案

一键面试

设置步骤

  1. 了解节点资源:通过kubectl describe nodes命令查看每个节点的CPU和内存总量。
  2. 计算资源限制值:根据节点总资源的20%来计算每个Pod允许使用的CPU和内存上限。例如,如果节点有4核CPU,则每个Pod CPU限制为0.8核(4 * 20%);若节点有8GB内存,则每个Pod内存限制为1.6GB(8 * 20%)。
  3. 修改Deployment的YAML文件:在Deployment的Pod模板部分添加资源限制配置。
  4. 应用配置:使用kubectl apply -f <deployment - yaml - file>命令使新配置生效。

YAML配置文件关键部分

apiVersion: apps/v1
kind: Deployment
metadata:
  name: your - deployment - name
spec:
  replicas: number - of - pods
  selector:
    matchLabels:
      app: your - app - label
  template:
    metadata:
      labels:
        app: your - app - label
    spec:
      containers:
      - name: your - container - name
        image: your - image - name
        resources:
          limits:
            cpu: "0.8" # 假设节点4核,20%为0.8核
            memory: "1.6Gi" # 假设节点8GB,20%为1.6GB