Tag Archives: MimboloveYAML
В контексте Kubernetes (k8s) RoleBinding — это объект API, который предоставляет права, определённые в Role или ClusterRole, конкретному пользователю, группе пользователей или сервисному аккаунту в пределах определённого пространства имён (namespace).
Простыми словами: RoleBinding связывает «кто» (субъект) с «что можно делать» (роль).
Ключевые понятия
- Role (Роль): Набор правил, определяющих, какие действия (verbs: get, list, create, delete) разрешены над какими ресурсами (pods, services, deployments). Role действует только в рамках одного namespace.
- ClusterRole (Кластерная роль): Аналогична Role, но действует на уровне всего кластера. Используется для:
- Ресурсов, не привязанных к namespace (например,
nodes,persistentvolumes). - Разрешения доступа к эндпоинтам API (например,
/healthz). - Предоставления одинаковых прав во всех namespace сразу (если привязать через RoleBinding).
- Ресурсов, не привязанных к namespace (например,
- RoleBinding (Привязка роли): Связывает Role с субъектами внутри одного namespace.
- ClusterRoleBinding (Кластерная привязка роли): Связывает ClusterRole с субъектами на уровне всего кластера.
1. Что такое Node в Kubernetes?
Node (узел) — это физическая или виртуальная машина, которая является рабочей единицей в кластере Kubernetes. На узлах запускаются поды (pods) — минимальные исполняемые единицы в Kubernetes.
Каждый узел входит в состав кластера и управляется Control Plane (главным управляющим узлом).
2. Типы узлов
2.1. Worker Node (Рабочий узел)
- Запускает поды с приложениями.
- Выполняет задачи, переданные от Control Plane.
- Может быть физическим сервером или виртуальной машиной.
Kubernetes предоставляет мощные инструменты для управления контейнеризированными приложениями, обеспечивая их масштабируемость, надежность и автоматизацию. Одним из таких инструментов является LimitRange, который позволяет администраторам кластера устанавливать ограничения на использование ресурсов для контейнеров и pod в определенных namespace. В этой статье мы рассмотрим, что такое LimitRange, как его создавать и использовать, а также лучшие практики для его применения.
Что такое LimitRange?
LimitRange — это ресурс Kubernetes, который позволяет устанавливать минимальные и максимальные ограничения на использование ресурсов (таких как CPU и память) для контейнеров и pod в определенном namespace. Это помогает предотвратить перегрузку узлов и обеспечивает справедливое распределение ресурсов между различными приложениями и пользователями. (далее…)
Что такое ConfigMap?
ConfigMap — это ресурс Kubernetes, предназначенный для хранения неконфиденциальных данных конфигурации в виде пар “ключ-значение”. Эти данные могут включать в себя параметры конфигурации, настройки окружения, конфигурационные файлы и другие данные, которые необходимы приложению для корректной работы. ConfigMap позволяет отделить конфигурационные данные от образов контейнеров, что облегчает управление и обновление конфигурации без необходимости пересборки контейнеров. (далее…)

Создание модулей (POD).
Существуют неуправляемые модули, создаваемые напрямую и управляемые модули, которые создаются и управляются контроллерами репликации (ReplicationController) или развертываниями (Deployment).
Модули и другие ресурсы Kubernetes обычно создаются путем публикации манифеста JSON и YAML в конечной точке API REST Kubernetes или командой kubectl run. Определение объектов Kubernetes из файлов YAML позволяет хранить их в системе управления версиями.
Команда для получения полного определения дескриптора YAML существующего модуля:
$ kubectl get po имя_модуля -o yaml
Структура файла YAML развернутого модуля:
apiVersion: v1 [Версия API Kubernetes, используемая в этом дескрипторе YAML]
kind: Pod [Тип объекта/ресурса Kubernetes]
metadata: [метаданные – включают имя, пространство имен, метки и другую информацию о модуле]
… (далее…)
0