Как переключить kubectl кластеров между gcloud и minikube
У меня Kubernetes хорошо работает в двух различных средах, а именно в местной среде (MacBook работает minikube), а также на Google'контейнер с двигателем (ГЦЭ, Kubernetes в облачном сервисе Google). Я использую Макбук/локальную среду для разработки и тестирования мои файлы YAML и потом, по завершению, попробовать их на ГККП.
В настоящее время мне нужно работать с каждой среды в отдельности: мне нужно редактировать файлы YAML в моей локальной среде и, когда готово, (ЖКТ) клонировать их в среде ГККП, а затем использовать/внедрять их. Это довольно трудоемкий процесс.
В идеале, я хотел бы использовать kubectl от моего MacBook легко переключаться между локальным minikube или сред Kubernetes ГККП и легко определить, где используется YAML файлы находятся. Есть простой способ для переключения контекстов для этого?
Вы можете переключиться из местных (minikube) в gcloud и обратно с:
kubectl конфиг использовать контекстный принадлежащему context_name
список всех контекстах:
kubectl конфиг сделать-контекстах
Вы можете создавать различные среды для местных и gcloud и положил его в отдельные файлы YAML.
Если вы'вновь глядя на графические решения для Mac и установили окна настройки рабочего стола, вы можете использовать значок Меню Настройки. Здесь вы можете найти и"Kubernetes и" меню с всех контекстах у вас в kubeconfig и легко переключаться между ними.
Быстрее быстрого доступа к стандартным командам kubectl использовать kubectx:
kubectx
kubectl конфиг сделать-контекстах
kubectx фу
kubectl конфиг использовать контекстный фу
Установить на macOS:
самогон установите kubectx
Пакет kubectx также включает в себя инструмент для переключения пространства имен
kubens
.Эти два супер удобно, если вы работаете в нескольких контекстах и пространствах имен регулярно.
Подробнее: https://ahmet.im/blog/kubectx/
ТЛ;ДР: я создал GUI для переключения контекстов Kubernetes через помощью AppleScript. Я активировать его через шифт-КМД-х.
У меня тоже была такая же проблема. Это была боль переключение контекста командной строке. Я FastScripts установить ключ комбинированный (шифт-КМД-х) выполнить следующие помощью AppleScript (размещен в этом каталоге: $(дома)/библиотеки/Скрипты/программы/терминал).
Копирую файлы YAML через РЕПО для различных сред определенно идеально. Что вам нужно сделать, это templatize ваши файлы YAML - путем извлечения параметров, которые отличаются от среды к среде.
Вы можете, конечно, использовать некоторые шаблонизатора и отдельных значений в YAML и производят и YAML для конкретных условий. Но это легко выполнимо, если вы принять Хелм графика. Чтобы взглянуть на некоторые примеры диаграмм перейдите на стабильный каталог в этом GitHub РЕПО
Брать пример из график Вордпресс, можно иметь две различных команды для двух сред:
Для Дев:
штурвал установить-имя разработчика-релиз-набор \ wordpressUsername=dev_admin, \ wordpressPassword=dev_password, \ версию MariaDB.mariadbRootPassword=\dev_secretpassword стабильный/вордпресс
Не надо передавать эти значения, хотя в CLI, вы можете сохранять значения в файл значений метко`
.в формате YML
и вы можете получать различные файлы для разных средВам понадобятся некоторые работы в процессе перехода к стандартам руля графике, но усилия будут того стоить.
Проверьте также последний (докер 19.03) команда
докер контексте
.Аджит Сингх Райна ) показывает, что в " на"Докер 19.03.0 пре-релиз: быстрое переключение контекста, Безродные настройки команды sysctl поддержка для служб Рой;
Например:
В случае, если вы ищете простой способ переключения между различными контекстами, возможно, это будет помощь.
Я воодушевился
kubectx
иkswitch
скрипты уже упоминалось, который я могу рекомендовать для большинства случаев использования. Они помогают с решением задач коммутации, но голосуют за меня на некоторых больше или меньше стандартных конфигураций~/.Кубе/конфигурации
. Так я создала систему старпома фантик вызов и короткие руки вокругkubectl
.Если вы называете к без параметров, вы увидите перехваченный запрос на переключение контекста.
Далее, " к " продолжает выступать в качестве коротких рук. Следующий эквивалент:
Мне надоело печатать это снова и снова, поэтому я написал простой Баш утилита для переключения контекстов
Вы можете найти его здесь https://github.com/josefkorbel/kube-switch
Канонический ответ коммутации/значение/манипулирование различных средах kubernetes (kubernetes ака контекстов) является, как уже упоминалось Марком, чтобы использовать
kubectl конфигурации
, см. ниже:За сценой, есть
~/.файл Кубе/конфиг
и YAML, который хранит все доступные контексты и соответствующие им учетные данные и конечные точки для каждого контекста.Kubectl с полки не'т сделать это легко управлять различных контекстах kubernetes, как вы, наверное, уже знаете. Вместо прокатки свой собственный скрипт для управления все, что для этого лучше использовать зрелый инструмент под названием
kubectx
, создана Google-ром по кличке "Ахмет Альп Балкан", который's на Kubernetes и Google облачная платформа для разработчиков опыт команды, которая строит Tooling как этот. Я очень рекомендую его.https://github.com/ahmetb/kubectx
да, я думаю, это то, что вы просите об этом. Для просмотра текущей конфигурации, использованию kubectl конфиг посмотреть. kubectl нагрузок и сливает конфиг из следующих источников (в порядке)
я использую --kubeconfig, так как я много переключаться между несколькими кластерами. его немного громоздким, но это работает хорошо.
ознакомиться с этим подробнее. https://kubernetes.io/docs/tasks/administer-cluster/share-configuration/ и https://kubernetes.io/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig/