Многие компании недавно приняли Kubernetes. Тем не менее, большинство из них по -прежнему не реализуют свой потенциал, потому что фактическое использование Kubernetes в этих организациях очень ограничено. Поскольку Kubernetes резко развивался, теперь это Больше не только технология для операций Но также инженеры, не являющиеся ООП, могут работать с этим. Для этого, Усыновление Kubernetes не должно заканчиваться здесь , это скорее только начинается.
Таким образом, теперь это часто имеет смысл также включать инженеров в процесс принятия Kubernetes и, как последнее Степень переполненного разработчика разработчика разработчика Шоу, инженеры, ценят это, так как они оба хотят работать с Kubernetes, если они в настоящее время не используют его, а также как работать после того, как они начали.
Простой способ, чтобы больше разработчиков начали работать с Kubernetes,-это предоставить им пространства имен самообслуживания. В этой статье я опишу, что такое пространства имен самообслуживания, почему они изменяют правила игры для внедрения Kubernetes и как их получить.
Что такое пространства имен самообслуживания Kubernetes?
Пространства имен самообслуживания-это пространства имен Kubernetes, которые могут создавать пользователи по требованию без необходимости быть администратором кластера, на котором работают пространства имен. Таким образом, пространства имен самообслуживания работают на общем кластере Kubernetes и создаются простым и стандартизированным способом их пользователями, например, через пользовательский интерфейс Платформа пространства имен самообслуживания Анкет
Пространства имен самообслуживания, поэтому предоставьте инженерам легкий и всегда доступный доступ к Kubernetes, что является огромным преимуществом по сравнению с возможными альтернативами: в то время как локальные решения Kubernetes, такие как minikube Всегда должен быть настроен и настроен самими инженерами, и поэтому никогда не бывает легко доступны, предоставляя каждому разработчику собственный кластер в облаке, очень дорого. Индивидуальные кластеры AR также часто невозможны из -за ограниченных прав доступа к облаку и ненужных, потому что простой пространства имен достаточно для большинства стандартных вариантов использования.
Предоставление пространств имен самообслуживанием по сравнению с разрешением администраторов создавать их вручную-это решающая особенность, так как это исключает Самое важное препятствие для производительности DEV «Ожидание центрального ИТ для обеспечения доступа к инфраструктуре» Анкет
В целом, пространства имен самообслуживания, следовательно, являются самым простым способом предоставления инженерам легкодоступного доступа Kubernetes.
Преимущества пространств имен самообслуживания
Предоставление решения для пользователей самообслуживания для пользователей имеет преимущества для обеих сторон, пользователи (инженеры) сами и администраторы.
Преимущества для пользователей пространства имен:
1. Скорость: Пространства имен самообслуживания всегда доступны и могут создаваться быстро и легко, когда они нужны пользователям. Это делает их очень полезным решением для различных инженерных задач, от Облачное развитие , к CI/CD Pipelines и Эксперименты AI/ML Анкет
2. Независимость: Аспект самообслуживания позволяет инженерам работать независимо от администраторов, поскольку им не нужно ждать, пока администраторы создают рабочую среду, прежде чем они смогут начать.
3. Более простые эксперименты: Эта независимость пользователей также позволяет больше экспериментировать с пространствами имен, так как пространства имен теперь могут быть выброшены и воссозданы самими пользователями. Пользователи так не должны бояться что -то разрушать и в конечном итоге могут рассматривать пространства имен как «скот», а не как к «домашним животным».
Независимость пользователей может быть дополнительно улучшена, и страх разрыва может быть уменьшен с использованием виртуальных кластеров самообслуживания (VCLUSTERS), которые очень похожи на пространства имен, но обеспечивают более сложную изоляцию и дают инженерам еще больше свободы для настройки Kubernetes.
Преимущества для кластерных администраторов:
1. Лучшая стабильность: Поскольку все пространства имен создаются одинаковым стандартизированным способом пользователями, в процессе создания пространства имен мало возможностей, что улучшает стабильность базового кластера Kubernetes. Кроме того, пользователи инкапсулируются в пространствах имен, что мешает им мешать друг другу.
2. Меньше усилий и давления: Полученная независимость пользователями снижает давление на кластерные администраторы. Они не должны всегда быть доступны, чтобы обеспечить рабочую среду для инженеров и больше не являются узким местом для Инженерные рабочие процессы с Kubernetes . Администраторы должны только настроить платформу самообслуживания в первую очередь, а затем убедиться, что она доступна и что базовый кластер работает.
3. Сосредоточьтесь на стабильности и безопасности: Поскольку администраторы больше не нужны в процессе создания каждого пространства имен, теперь они могут больше сосредоточиться на стабильности и безопасности базового кластера.
Предоставление Виртуальные кластеры самообслуживания Можно снова улучшить систему, так как Vclusters обеспечивают еще более сильную форму многоцелевой изоляции и пользовательской изоляции. Они также позволяют пользователям настраивать себя еще больше в своем vcluster, так что базовый кластер хостов может быть очень элементарным, что обеспечивает меньшую поверхность атаки и место для человеческих ошибок, что еще больше улучшает стабильность и безопасность.
Как получить самообслуживание Kubernetes Пространства имен
Базовый кластер
Первая часть, которая вам нужна для системы пространства имен самообслуживания,-это базовый кластер Kubernetes, на котором должны работать пространства имен. Если пространства имен самообслуживания будут использоваться для процессов разработки и тестирования, имеет смысл создать новый кластер, отдельный от кластера, на котором вы запускаете производственные рабочие нагрузки.
Поскольку одним из преимуществ решения для пространства имен самообслуживания является то, что он может использоваться и обмен многими пользователями, кластер должен быть облачным кластером и не может работать локально (даже если вы можете проверить свою настройку с помощью локального кластера сначала, а затем начните снова с «настоящей» версии в облаке).
Здесь не имеет значения, является ли это кластером, работающим в общедоступном облаке или частном облаке, и если он самоуправляется или управляется облачным провайдером. Тем не менее, часто имеет смысл использовать кластер, который похож на ваш производственный кластер (например, используйте AWS, если ваш производственный кластер является AWS), потому что это делает разработку, тестирование и другие процессы, которые вы хотите использовать в пространстве имен самообслуживания для более реалистичных Анкет
Управление пользователями
Вторым центральным компонентом для решения имен самообслуживания является разрешение и управление пользователями. Это позволяет администраторам сохранять контроль над тем, кому разрешено создавать пространства имен и обзор, кто использует что.
Особенно в более крупных командах, наличие решения для одного подписания, полезно, потому что администраторы не должны вручную добавлять пользователей, и пользователи могут начать немедленно. Если вы создаете систему пространства имен самообслуживания самостоятельно, такие решения, как dex Может быть полезным для этой задачи.
Пользовательские ограничения
Хотя вы хотите, чтобы пользователи могли создавать пространства имен по требованию, вы также хотите предотвратить чрезмерное использование с точки зрения процессора, памяти и потенциально других факторов, таких как количество контейнеров, услуг или входных данных. Такое ограничение очень полезно для контроля затрат, но вы должны быть осторожны, чтобы не ограничивать пользователей в их работе. Для этого пользователи должны соответствовать тому, как они хотят распределить свои разрешенные ресурсы.
Реализация эффективных пользовательских ограничений намного проще с ручную и статически назначенными пространствами имен, чем с динамическими пространствами имен, которые создаются пользователями по требованию. Это связано с тем, что ограничения Kubernetes в квотах ресурсов находятся в пространстве имен-пространств, а не на пользовательской основе.
Тем не менее, вы хотите ограничить пользователей, а не пространства имен, поэтому вам необходимо решить эту проблему, чтобы получить разумные ограничения пользователей. Для этого вам необходимо использовать агрегированные квоты ресурсов, которые можно сделать с помощью решения с открытым исходным кодом Киоск Анкет
Сделать против покупки
Теперь, когда вы знаете самые важные компоненты для системы пространства имен самообслуживания, вам нужно решить, хотите ли вы самостоятельно построить эту систему или просто купить существующее готовое решение.
Несколько крупных организаций уже построили Внутренняя платформа Kubernetes Для пространств имен. Очень хороший пример этого — Spotify, потому что даже публичные разговоры в Kubecon North America 2019 об их платформе, чтобы вы могли учиться на их опыте. Однако даже при использовании некоторых компонентов с открытым исходным кодом, таких как dex или Киоск , Создание собственной платформы самообслуживания имен требует больших усилий, что, вероятно, является причиной, по которой в основном более крупные организации или компании с особыми потребностями идут таким образом.
В отличие от этого, покупка существующего готового решения возможна для организаций любого размера и имеет преимущество, которое вы можете начать очень быстро без крупных авансовых инвестиций. Кроме того, вы получаете специализированный сервис, который выходит за рамки минимальных потребностей, которые вы, вероятно, построили бы самостоятельно. Одним из примеров такого готового к использованию решения является Лофт Анкет Лофт внутренне строится на киоске и, помимо пространства имен самообслуживания поверх любого подключенного кластера, он предоставляет несколько полезных дополнительных функций: он работает с несколькими кластерами, имеет графический интерфейс, CLI, а также спящий режим Чтобы сэкономить стоимость, и она обеспечивает технологию виртуального кластера, которую можно использовать для создания рабочей среды Kubernetes Kubernetes, которые даже лучше изолированы, чем пространства имен.
Вывод
Если вы позволите своим инженерам создавать пространства имен независимо и по требованию, это изменит то, как Kubernetes используется в вашей организации. Особенно, если вы уже приняли Kubernetes и теперь хотите распространить его использование среди других людей в вашей организации, система имен самообслуживания является очень хорошим решением. Он отвечает на фундаментальный вопрос о том, как предоставить легкий и независимый доступ к инженерам Kubernetes, хотя он также также является удобным для администратора, потому что администраторы могут легко управлять им и поэтому имеют больше времени для ухода за стабильностью основного кластера.
Чтобы получить систему пространства имен самообслуживания, вам нужно решить, хотите ли вы ее сделать или купить. Сделать это правильное решение для компаний с особыми потребностями, но даже тогда вы можете построить уже существующие компоненты с открытым исходным кодом, которые облегчат вашу жизнь. Для большинства компаний покупка по -прежнему является более практичным подходом, потому что вы получаете полное решение от специализированного поставщика без огромных авансовых инвестиций.
Независимо от того, как вы решаете, наличие платформы пространства имен самообслуживания поможет вам сделать следующий шаг к более эффективному использованию Kubernetes в вашей организации.
Фотография Тиаго Патревита от Pexels
Оригинал: «https://dev.to/loft/self-service-kubernetes-namespaces-are-a-game-changer-by-daniel-thiry-43a7»