如何在Rancher-Kubernetes功能门中启用挂载传播?

时间:2018-07-14 08:10:38

标签: rancher rke

如何在Rancher 2.0中为集群启用功能门?我需要启用--feature-gates MountPropagation=true。这将使我能够使用StorageOS,CephFS等存储解决方案

这里有2个用例:

  1. Rancher是否已设置并正在运行?
  2. 如果我要从头开始设置群集?

3 个答案:

答案 0 :(得分:3)

您好,希望这对某人有所帮助。经过Rancher出色的人员的大量搜索和帮助之后,我找到了解决方案。 这是您可以为Kubernetes引擎RKE设置功能门标志的方法。

步骤1:打开Rancher2.0用户界面

第2步:使用API​​查看集群

enter image description here

步骤3:单击编辑并修改rancherKubernetesEngineConfig输入框

enter image description here

  • 找到服务密钥。
  • 然后以以下格式为kubelet添加额外的参数

    "services": {
    "etcd": { "type": "/v3/schemas/etcdService" },
    "kubeApi": {
        "podSecurityPolicy": false,
        "type": "/v3/schemas/kubeAPIService",
        "extraArgs": { "feature-gates": "PersistentLocalVolumes=true, VolumeScheduling=true,MountPropagation=true" }
    },
    "kubeController": { "type": "/v3/schemas/kubeControllerService" },
    "kubelet": {
        "failSwapOn": false,
        "type": "/v3/schemas/kubeletService",
        "extraArgs": { "feature-gates": "PersistentLocalVolumes=true, VolumeScheduling=true,MountPropagation=true" }
    }
    

第4步:单击显示请求..您会得到一个curl命令和json请求。

第5步:验证将显示的请求正文数据。

第6步:确保将不适用的密钥设置为null。例如amazonElasticContainerServiceConfigazureKubernetesServiceConfiggoogleKubernetesEngineConfig对我来说都需要为空。

第7步:点击发送请求

您应该收到状态码201的响应。群集将开始更新。您可以通过再次查看API中的集群来验证集群RKE是否已更新。

答案 1 :(得分:1)

替代的(测试待定,被https://github.com/rancher/rancher/issues/26261阻止)

步骤1:打开Rancher2.0用户界面

第2步:点击修改群集(在带有三个垂直点的菜单中)

第3步:点击“群集选项”旁边的“以YAML身份编辑”按钮

步骤4:找到“ services.kubelet”(或“ services.WhatYouNeed”)

步骤5:类似于以下内容添加或编辑extra_args

    kubelet:
      extra_args:
        feature-gates: rancherKubernetesEngineConfig=true

(根据https://rancher.com/docs/rke/latest/en/config-options/services/services-extras/#extra-args

第6步:点击“保存”(在底部)

创建新集群

在创建新集群时,还可以将“集群选项”编辑为yaml。可能也可以将其包含为“ rke模板”。

答案 2 :(得分:0)

我一直在努力启用TTLAfterFinished功能门。 (与MountPropagation = true相同)

Rancher v2.3.3

步骤1:打开Rancher2.3.3 UI

第2步:点击修改集群

第3步:点击“群集选项”旁边的“以YAML身份编辑”按钮

第4步:您需要向所有集群服务添加功能门(请参见下文)

第5步:添加或编辑与此类似的extra_args:

    ...
        kube-api:
          extra_args:
            feature-gates: TTLAfterFinished=true
    ...
        kube-controller:
          extra_args:
            feature-gates: TTLAfterFinished=true
    ...
        kubelet:
          extra_args:
            feature-gates: TTLAfterFinished=true
    ...  

替换TTLAfter。完成功能门设置。 LIST HERE