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

dam*_*j07 3 kubernetes rancher rke

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

这里有两个用例:

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

dam*_*j07 6

你好,希望这对某人有所帮助,在经过大量谷歌搜索和 Rancher 很棒的人的帮助后,我得到了解决方案。以下是您可以为 Kubernetes 引擎 RKE 设置功能门标志的方法。

第一步:打开Rancher2.0 UI

第 2 步:在 API 中查看集群

在此处输入图片说明

第三步:点击编辑修改rancherKubernetesEngineConfig输入框

在此处输入图片说明

  • 找到服务密钥。
  • 然后以下面的格式为 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" }
    }
    
    Run Code Online (Sandbox Code Playgroud)

第 4 步:点击 show request .. 你会得到一个 curl 命令和 json 请求。

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

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

第七步:点击发送请求

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