Пространства имён и метки для организации
Организуйте ресурсы кластера с помощью пространств имён для изоляции, а также меток и селекторов для группировки и поиска объектов.
«Пространства имён и метки для организации» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.
Зачем организовывать?
В настоящем кластере работает множество приложений от разных команд. Пространства имён и метки — это встроенные инструменты Kubernetes, которые помогают упорядочивать все эти объекты и выполнять по ним запросы.
Что такое пространство имён?
Пространство имён — это виртуальный кластер внутри Вашего кластера. Имена ресурсов должны быть уникальными в пределах одного пространства имён, но одно и то же имя может повторяться в разных пространствах имён.
Пространства имён по умолчанию
В каждом кластере есть несколько пространств имён: default (сюда попадают Ваши объекты, если не указано иное), kube-system (компоненты кластера) и kube-public.
kubectl get namespacesСоздание пространства имён
Создайте новое пространство имён, чтобы отделить, например, команду или среду.
kubectl create namespace team-aРабота в пространстве имён
Указывайте пространство имён для каждой команды с помощью -n или задайте значение по умолчанию для контекста, чтобы не повторять этот флаг.
kubectl get pods -n team-aПространства имён не обеспечивают полной изоляции
Пространства имён ограничивают область действия имён и позволяют использовать квоты и RBAC, но сами по себе не изолируют сетевой трафик — для этого добавьте NetworkPolicies.
Что такое метки
Метки — это пары «ключ/значение», прикреплённые к объектам. Они несут смысл для пользователей — например, app: web или env: prod — и позволяют группировать объекты.
metadata:
labels:
app: web
env: prodДобавление меток с помощью kubectl
Добавляйте метку к существующему объекту на лету.
kubectl label pod nginx tier=frontendВыбор по метке
Запрашивайте объекты по метке с помощью -l. Так можно сразу работать с целыми группами.
kubectl get pods -l app=web,env=prodСелекторы связывают компоненты
Метки нужны не только людям: сервисы и развертывания используют селекторы меток, чтобы находить управляемые ими поды. Такая слабая связанность — основа Kubernetes.
selector:
matchLabels:
app: webАннотации и метки
Аннотации тоже хранят данные в формате «ключ/значение», но предназначены для неидентифицирующих метаданных — информации о сборке и подсказок для инструментов — и не используются селекторами.
Быстрая проверка
Чем отличаются метки от пространств имён?
Повторение
Теперь Вы умеете поддерживать порядок в кластере:
- Пространства имён ограничивают область действия имён и позволяют использовать квоты и RBAC; указывайте их с помощью
-n - Метки — это пары «ключ/значение»; выполняйте запросы с помощью
-l - Селекторы связывают сервисы и развертывания с подами
- Аннотации хранят неидентифицирующие метаданные
Эти базовые средства подходят и для одного приложения, и для загруженного кластера с множеством команд.
Часто задаваемые вопросы
Урок «Пространства имён и метки для организации» бесплатный?
Да — полный текст урока «Пространства имён и метки для организации» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «Пространства имён и метки для организации»?
Организуйте ресурсы кластера с помощью пространств имён для изоляции, а также меток и селекторов для группировки и поиска объектов. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать DevOps Bootcamp?
Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Пространства имён и метки для организации»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке DevOps Bootcamp?
Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Архитектура Kubernetes
- Pods: самые малые единицы
- Основные команды kubectl
- Пространства имён и метки для организации