44.2. 为节点禁用功能
要为节点主机关闭某个功能,请编辑适当的节点 配置映射 :
要修改节点配置文件: 根据需要更新 节点配置映射。不要手动编辑 node-config.yaml
文件。
对于您要关闭的功能,在
kubeletArguments
下输入:<feature_name>=false
。例如:
kubeletArguments: feature-gates: - HugePages=false
指定一个以逗号分隔的行中的多个功能门:
kubeletArguments: feature-gates: - RotateKubeletClientCertificate=false,RotateKubeletServerCertificate=false,ExpandPersistentVolumes=true,HugePages=false
重启 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 卷的 |
MountContainers | 启用在主机上使用 utility 容器作为卷挂载。 |
MountPropagation | 启用将一个容器挂载的卷与其他容器或 pod 共享。 |
PersistentLocalVolumes | 启用 本地卷 pod 的使用。如果请求本地卷,则必须指定 Pod 关联性。 |
PodPriority | 根据优先级启用 pod 的取消调度与抢占。 |
ReadOnlyAPIDataVolumes | |
ResourceLimitsPriorityFunction |
启用 调度程序 优先级函数,将最低的分数 |
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 功能门一起使用的 本地卷类型。 |