Пусть `oc` следует кластеру в зависимости от каталога - PullRequest
0 голосов
/ 27 апреля 2018

Я использую инструмент oc для нескольких различных кластеров.

Поскольку я обычно сохраняю локальные файлы yaml для любых объектов OpenShift, которые я просматриваю / изменяю, либо на разовой основе, либо из-за какой-то схемы управления конфигурацией отдельного кластера, у меня есть отдельный каталог на моем компьютере для каждого кластера (который в включаю, конечно же, в git). Давайте назовем их ~/clusters/a/, ~/clusters/b/ и т. Д.

Теперь. Когда я cd на моем локальном компьютере, команда oc использует глобальный ~/.kube/config, чтобы найти кластер, в который я вошел последним. Или, другими словами, oc совершенно не волнует, в каком каталоге я нахожусь.

Есть ли способ заставить oc хранить "локальную" конфигурацию (то есть в ~/clusters/a/.kube_config или что-то подобное), чтобы при входе в каталог ~/clusters/a/ я автоматически работал с этим кластером, не имея явное переключение кластеров с oc login?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2018

Чтобы расширить ответ Грэма, KUBECONFIG может указать список файлов конфигурации, которые будут объединены, если существует более одного. Победит первый, установивший определенное значение, как описано в правилах объединения .

Таким образом, вы можете добавить локальную конфигурацию с помощью current-context, например, ~/clusters/a/.kube_config может быть

current-context: projecta/192-168-99-100:8443/developer

и ~/clusters/b/.kube_config:

current-context: projectb/192-168-99-101:8443/developer

Очевидно, нужно настроить это для вашего конкретного кластера, используя формат

current-context: <namespace>/<cluster>/<user>

Затем установите KUBECONFIG с относительным путем и глобальной конфигурацией

export KUBECONFIG=./.kube_config:~/.kube/config

Обратите внимание, что если ./.kube_config не существует, оно будет проигнорировано.

Затем current-content будет переопределено значением, определенным в локальном .kube_config, если оно существует.

Я проверил это локально с двумя кластерами мини-сдвига, и, похоже, все прошло нормально Не проверял поведение при настройке конфигурации.

0 голосов
/ 29 апреля 2018

Вы можете установить переменную среды KUBECONFIG, чтобы указать разные каталоги для конфигурации для каждого кластера. Вам потребуется установить переменную окружения для соответствующих каталогов в каждом отдельном окне сеанса терминала.

...