如何在 Rancher - Kubernetes 功能门中启用挂载传播?
how do I enable mount propagation in Rancher - Kubernetes feature gates?
如何在 Rancher 2.0 中为我的集群启用功能门控?我需要启用 --feature-gates MountPropagation=true
。这将使我能够使用 StorageOS、CephFS 等存储解决方案
这里有 2 个用例:
- 如果 Rancher 已经设置好并且 运行?
- 如果我从头开始设置集群?
您好,希望这对某人有所帮助,经过大量谷歌搜索和 Rancher 优秀人员的帮助后,我找到了解决方案。
以下是您可以为 Kubernetes 引擎 RKE 设置功能门标志的方法。
第一步:打开Rancher2.0UI
第 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" }
}
第 4 步:单击显示请求 .. 您将获得 curl 命令和 json 请求。
第 5 步:验证将显示的请求正文数据。
第 6 步:确保将不适用的键设置为空。例如 amazonElasticContainerServiceConfig
、azureKubernetesServiceConfig
、googleKubernetesEngineConfig
对我来说都需要为 null。
第 7 步:点击发送请求
您应该会收到状态代码为 201 的响应。您的集群将开始更新。您可以通过再次查看 API 中的集群来验证集群 RKE 是否已更新。
替代方案(测试待定,被https://github.com/rancher/rancher/issues/26261阻止):
第一步:打开Rancher2.0UI
第 2 步:单击集群的编辑(在具有三个垂直点的菜单中)
第 3 步:单击 "Cluster Options"
旁边的按钮 "edit as 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 步:点击保存(在底部)
创建新集群
您还可以在创建新集群时将 "Cluster Options" 编辑为 yaml。可能这也可以作为 "rke template".
我一直在努力启用功能门 TTLAfterFinished。 (与 MountPropagation=true 相同)
Rancher v2.3.3
第一步:打开Rancher2.3.3UI
第 2 步:点击编辑集群
第 3 步:单击 "Cluster Options"
旁边的按钮 "edit as YAML"
第 4 步:您需要为所有集群服务添加 feature gate(见下文)
第 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
...
用您的功能门替换 TTLAfterFinished。 LIST HERE
如何在 Rancher 2.0 中为我的集群启用功能门控?我需要启用 --feature-gates MountPropagation=true
。这将使我能够使用 StorageOS、CephFS 等存储解决方案
这里有 2 个用例:
- 如果 Rancher 已经设置好并且 运行?
- 如果我从头开始设置集群?
您好,希望这对某人有所帮助,经过大量谷歌搜索和 Rancher 优秀人员的帮助后,我找到了解决方案。 以下是您可以为 Kubernetes 引擎 RKE 设置功能门标志的方法。
第一步:打开Rancher2.0UI
第 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" } }
第 4 步:单击显示请求 .. 您将获得 curl 命令和 json 请求。
第 5 步:验证将显示的请求正文数据。
第 6 步:确保将不适用的键设置为空。例如 amazonElasticContainerServiceConfig
、azureKubernetesServiceConfig
、googleKubernetesEngineConfig
对我来说都需要为 null。
第 7 步:点击发送请求
您应该会收到状态代码为 201 的响应。您的集群将开始更新。您可以通过再次查看 API 中的集群来验证集群 RKE 是否已更新。
替代方案(测试待定,被https://github.com/rancher/rancher/issues/26261阻止):
第一步:打开Rancher2.0UI
第 2 步:单击集群的编辑(在具有三个垂直点的菜单中)
第 3 步:单击 "Cluster Options"
旁边的按钮 "edit as 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 步:点击保存(在底部)
创建新集群
您还可以在创建新集群时将 "Cluster Options" 编辑为 yaml。可能这也可以作为 "rke template".
我一直在努力启用功能门 TTLAfterFinished。 (与 MountPropagation=true 相同)
Rancher v2.3.3
第一步:打开Rancher2.3.3UI
第 2 步:点击编辑集群
第 3 步:单击 "Cluster Options"
旁边的按钮 "edit as YAML"第 4 步:您需要为所有集群服务添加 feature gate(见下文)
第 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
...
用您的功能门替换 TTLAfterFinished。 LIST HERE