Как включить распространение монтирования в элементарных воротах Ранчера - Кубернетеса?
Как я могу включить функциональные ворота для моего кластера в Rancher 2.0? Мне нужно, чтобы --feature-gates MountPropagation=true
, Это позволит мне использовать решения для хранения, такие как StorageOS, CephFS и т. Д.
Здесь есть 2 варианта использования:
- Если Rancher уже настроен и работает?
- Если я настраиваю кластер с нуля?
1 ответ
Здравствуйте и надеюсь, что это кому-то поможет, после долгих поисков и помощи замечательных людей из Rancher я получил решение для этого. Вот что вы можете сделать, чтобы установить флаги функциональных ворот для движка Kubernetes RKE.
Шаг 1: Откройте Rancher2.0 UI
Шаг 2: Просмотр кластера в API
Шаг 3: Нажмите "Изменить" и измените 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
все нужно обнулить для меня.
Шаг 7: Нажмите отправить запрос
Вы должны получить ответ с кодом состояния 201. И ваш кластер начнет обновляться. Вы можете проверить, что RKE вашего кластера обновлен, просмотрев Cluster в API снова.
Я боролся с включением функции Gate TTLAfterFinished. (то же, что и MountPropagation=true)
Ранчо v2.3.3
Шаг 1. Откройте интерфейс Rancher2.3.3
Шаг 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
...
Замените TTLAfterFinished на свой шлюз функции. СПИСОК ЗДЕСЬ
Альтернатива (тест еще не завершен, заблокирован 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/)
шаг 6: нажмите сохранить (внизу)
создать новый кластер
Вы также можете отредактировать "Параметры кластера" как yaml при создании нового кластера. Возможно, это также можно включить как "шаблон rke".