第 44 章 使用功能门禁用功能


作为管理员,您可以使用功能门(feature gates)关闭特定节点或整个平台。

例如,您可以关闭生产集群的新功能,同时为测试集群保留功能,以便完全测试它们。

如果您禁用 web 控制台中出现的功能,您可能会看到该功能,但没有列出对象。如果您试图使用与禁用的功能关联的命令,OpenShift Container Platform 会显示一个错误。

注意

如果您禁用集群中任何应用程序依赖的功能,则应用程序可能无法正常工作,具体取决于功能被禁用以及应用程序如何使用该功能。

功能门使用 master 配置文件中的 key=value 对(/etc/origin/master/master-config.yaml)以及描述您要阻断功能的节点配置文件。

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

例如,以下代码关闭 Huge Pages 功能:

kubernetesMasterConfig:
  apiServerArguments:
    feature-gates:
    - HugePages=false 1
  ...
  controllerArguments:
    feature-gates:
    - HugePages=false 2
1 2
关闭某个功能的键/值对:
  • true 启用指定的功能
  • false 禁用指定的功能

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

kubeletArguments:
  feature-gates:
  - RotateKubeletClientCertificate=true,RotateKubeletServerCertificate=true,ExpandPersistentVolumes=true,HugePages=false

44.1. 为集群禁用功能

要为整个集群关闭一个功能,请编辑 master 配置文件,默认为 /etc/origin/master/master-config.yaml

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

    例如:

    kubernetesMasterConfig:
      apiServerArguments:
        feature-gates:
        - HugePages=false
      controllerArguments:
        feature-gates:
        - HugePages=false

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

    kubernetesMasterConfig:
      apiServerArguments:
        feature-gates:
        - RotateKubeletClientCertificate=false,RotateKubeletServerCertificate=false,ExpandPersistentVolumes=true,HugePages=false
      controllerArguments:
        feature-gates:
        - RotateKubeletClientCertificate=false,RotateKubeletServerCertificate=false,ExpandPersistentVolumes=true,HugePages=false
  2. 重启 OpenShift Container Platform master 服务以应用更改。

    # master-restart api
    # master-restart controllers

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.