Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

44.2. 为节点禁用功能

要为节点主机关闭某个功能,请编辑适当的节点 配置映射

要修改节点配置文件: 根据需要更新 节点配置映射。不要手动编辑 node-config.yaml 文件。

  1. 对于您要关闭的功能,在 kubeletArguments 下输入: <feature_name>=false

    例如:

    kubeletArguments:
      feature-gates:
      - HugePages=false

    指定一个以逗号分隔的行中的多个功能门:

    kubeletArguments:
      feature-gates:
      - RotateKubeletClientCertificate=false,RotateKubeletServerCertificate=false,ExpandPersistentVolumes=true,HugePages=false
  2. 重启 OpenShift Container Platform 服务以使更改生效:

    # systemctl restart atomic-openshift-node.service

要重新启用禁用的功能,请编辑节点配置文件以删除 <feature_name>=false 并重启节点服务。

要修改节点配置文件,请根据需要更新 节点配置映射。不要手动编辑 node-config.yaml 文件。

44.2.1. Feature Gates 列表

使用以下列表来决定您要禁用的功能名称:

功能门描述

加速器

使用 Docker 时启用 Nvidia GPU 支持。

AdvancedAuditing

启用 高级审计

APIListChunking

允许 API 客户端从 API 服务器以块中检索 LIST 或 GET 资源。

APIResponseCompression

支持为 LIST 或 GET 请求压缩 API 响应。

AppArmor

使用 Docker 时,在 Linux 节点上启用基于 AppArmor 的强制访问控制。如需更多信息,请参阅 Kubernetes AppArmor 文档

BlockVolume

启用 pod 中原始块设备的定义和消耗。如需更多信息,请参阅 Kubernetes Raw Block Volume 支持

CPUManager

启用容器级别的 CPU 关联性支持。如需更多信息,请参阅使用 CPU Manager

CRIContainerLogRotation

为 CRI 容器运行时启用容器日志轮转。

CSIPersistentVolume

通过兼容 CSI(容器存储接口)兼容的卷插件启用发现和挂载卷。如需更多信息,请参阅 Kubernetes 设计文档中的 CSI 卷插件

CustomPodDNS

启用使用 dnsConfig 属性自定义 pod 的 DNS 设置。

CustomResourceSubresources

在通过 CustomResourceDefinition 创建的资源上启用 /status/scale 子资源。请参阅使用自定义资源扩展 Kubernetes API

CustomResourceValidation

在从自定义资源定义中创建的资源上启用基于架构的验证。如需更多信息,请参阅使用自定义资源扩展 Kubernetes API

DebugContainers

启用在 pod 命名空间中运行调试容器以对正在运行的 Pod 进行故障排除。

DevicePlugins

在节点上 启用基于设备插件 的资源置备。

DynamicKubeletConfig

在集群中启用动态配置。

DynamicVolumeProvisioning(deprecated)

支持将持久性卷的动态置备到 pod。

EnableEquivalenceClassCache

启用调度程序在调度 Pod 时缓存超过节点的情况。

ExperimentalCriticalPodAnnotation

允许将特定 pod 标注为关键,以便保证其调度。

ExperimentalHostUserNamespaceDefaultingGate

启用禁用用户命名空间。这适用于使用其他主机项目、主机挂载或使用特定非项目功能的容器,如 MKNODE、SYS_MODULE 等。这只有在 Docker 守护进程中启用了用户项目重新映射时才启用。

GCERegionalPersistentDisk

启用 GCE Persistent Disk 功能。

HugePages

启用预先分配的巨页的分配和消耗。

HyperVContainer

为 Windows 容器启用 Hyper-V 隔离。

Intializers

启用 动态准入控制,作为内置准入控制器的扩展。

LocalStorageCapacityIsolation

启用本地临时存储的消耗以及 emptyDir 卷的 sizeLimit 属性。

MountContainers

启用在主机上使用 utility 容器作为卷挂载。

MountPropagation

启用将一个容器挂载的卷与其他容器或 pod 共享。

PersistentLocalVolumes

启用 本地卷 pod 的使用。如果请求本地卷,则必须指定 Pod 关联性。

PodPriority

根据优先级启用 pod 的取消调度与抢占。

ReadOnlyAPIDataVolumes

secretConfigMap、Downward 和 投射卷 设置为以只读模式挂载。

ResourceLimitsPriorityFunction

启用 调度程序 优先级函数,将最低的分数 1 指定为满足至少一个输入 pod CPU 和内存限值的节点。其目的是在具有相同分数的节点间中断。

RotateKubeletClientCertificate

在集群中启用客户端 TLS 证书轮转。

RotateKubeletServerCertificate

在集群中启用服务器 TLS 证书轮转。

RunAsGroup

允许控制容器的 init 进程上设置的主组 ID。

ScheduleDaemonSetPods

启用 DaemonSet pod 由默认调度程序 而不是 DaemonSet 控制器调度。

ServiceNodeExclusion

支持从云供应商创建的负载均衡器中排除节点。

StorageObjectInUseProtection

如果 持久性卷或持久性卷声明 对象仍然被使用,请启用删除它们。

StreamingProxyRedirects

指示 API 服务器拦截,并遵循后端 kubelet 重定向到流传输请求。

SupportIPVSProxyMode

启用使用 IP 虚拟服务器提供集群服务负载均衡。

SupportPodPidsLimit

启用对在 pod 中运行的进程(PID)数量进行限制。

TaintBasedEvictions

启用根据节点上的 污点和 pod 上的容限,从节点驱除 pod

TaintNodesByCondition

启用自动根据 节点状况污点节点。

TokenRequest

在服务帐户资源上启用 TokenRequest 端点。

VolumeScheduling

启用无处学学调度,并告知持久性卷声明 (PVC)对调度决策的约束。它还启用了与 PersistentLocalVolumes 功能门一起使用的 本地卷类型