FEATURE STATE: Kubernetes v1.8 alpha

This feature is currently in a alpha state, meaning:

作为 alpha 特性,Kubernetes 支持在 Pod 应用中使用预先分配的巨页(或称“大页面”,下文统称为“巨页”)。 本文描述了用户如何使用巨页,以及当前的限制。

Before you begin

  1. 为了使节点能够上报巨页容量,Kubernetes 节点必须预先分配巨页。 每个节点只能预先分配一种特定规格的巨页。
  2. 用户必须在整个系统中将专用的 alpha 特性开关 HugePages 设置为 true: --feature-gates="HugePages=true"

节点会自动发现全部巨页资源,并作为可供调度的资源进行上报。

API

用户可以通过在容器级别的资源需求中使用资源名称 hugepages-<size> 来使用巨页,其中的 size 是特定节点上支持的以整数值表示的最小二进制单位。 例如,如果节点支持 2048KiB 的页面规格, 它将暴露可供调度的资源 hugepages-2Mi。 与 CPU 或内存不同,巨页不支持过量使用(overcommit)。

apiVersion: v1
kind: Pod
metadata:
  generateName: hugepages-volume-
spec:
  containers:
  - image: fedora:latest
    command:
    - sleep
    - inf
    name: example
    volumeMounts:
    - mountPath: /hugepages
      name: hugepage
    resources:
      limits:
        hugepages-2Mi: 100Mi
  volumes:
  - name: hugepage
    emptyDir:
      medium: HugePages

(待实现的)特性