Category Archives: k8s

Ресурсы Kubernetes
Namespace* (ns) — позволяет организовывать ресурсы в неперекрывающиеся группы (для каждого потребителя ресурсов).
Развертывающие рабочие нагрузки
Pod (po) — основная развертываемая единица, содержащая один или более процессов в расположенных рядом контейнерах. Метки (Labels).
ReplicaSet — поддерживает одну или несколько реплик модуля.
ReplicationController (rc) [v1] – устаревший и менее функциональный эквивалент ресурса ReplicaSet.
Job — запускает модули, выполняющие завершаемую задачу.
CronJob [batch] — запускает назначаемое задание один раз или периодически.
DaemonSet (ds) — запускает одну реплику модуля в расчете на узел (на всех узлах или только на тех, которые соответствуют селектору узлов).
StatefulSet (sts) — запускает модули, имеющие внутреннее состояние, со стабильной идентичностью.
Deployment (deploy) — декларативное развертывание и обновление модулей.
Службы
Service (svc) [v1] — предоставляет доступ к одному или нескольким модулям на одной и стабильной паре IP-адреса и порта.
Endpoints (ep) — определяет, к каким модулям (или другим серверам) предоставляется доступ через службу.
NodePort — открывает сервис на том же порту каждого выбранного узла в кластере с помощью NAT. Делает сервис доступным вне кластера через :.
Ingress (ing) [extensions] — предоставляет внешним клиентам доступ к одной или нескольким службам через один доступный извне IP-адрес.
Конфигурация
ConfigMap (cm) — словарь в формате «ключ-значение» для хранения незащищенных параметров конфигурации приложений и предоставления им доступа к ним.
Secret [v1] — словарь в формате «ключ-значение» для хранения конфиденциальных данных. (далее…)
RoleBinding — это объект Kubernetes, который связывает (привязывает) набор разрешений, определенных в Role или ClusterRole, с конкретными пользователями, группами или сервисными аккаунтами. Проще говоря, RoleBinding «наделяет правами» субъектов в кластере.
Архитектура RBAC
Система RBAC состоит из трех основных компонентов:
- Role/ClusterRole — ЧТО можно делать (набор правил)
- Subject — КТО (пользователь, группа, сервисный аккаунт)
- RoleBinding/ClusterRoleBinding — связывает первые два компонента
Role vs ClusterRole
Role
-
Действует в пределах одного namespace
-
Используется для предоставления прав к ресурсам в конкретном namespace
В Kubernetes ComponentStatus – это ресурс, который представляет собой статус работоспособности различных компонентов плоскости управления (control plane) Kubernetes. Это один из немногих ресурсов, который не является объектным API, то есть он не создается и не управляется пользователем напрямую через kubectl apply или kubectl create. Вместо этого, он генерируется автоматически самим Kubernetes.
Основная цель ComponentStatus:
Предоставить информацию о том, здоровы ли ключевые компоненты, из которых состоит плоскость управления Kubernetes. Это помогает системным администраторам и операторам быстро диагностировать проблемы с кластером. (далее…)
Что такое StorageClass?
StorageClass — это объект Kubernetes, который определяет тип и параметры хранилища для динамического выделения Persistent Volumes (PV).
Ключевые возможности:
- Автоматическое создание PV по запросу (без ручного управления)
- Абстракция от конкретных провайдеров (AWS EBS, GCP Persistent Disk, NFS, Ceph)
- Гибкость конфигурации (тип диска, политики репликации, IOPS)
Основные параметры StorageClass
Обязательные поля
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fast-ssd # Уникальное имя класса
provisioner: kubernetes.io/aws-ebs # Драйвер хранилища
1. Что такое Cluster Federation (KubeFed)?
Cluster Federation — это механизм в Kubernetes, позволяющий объединять несколько кластеров в единую логическую систему для централизованного управления. Это особенно полезно для:
Геораспределённых приложений (разные регионы/облака)
Гибридных сред (On-Premise + Cloud)
Высокодоступных систем с балансировкой между кластерами
В Kubernetes 1.24+ Federation v2 (KubeFed) развивается как отдельный проект, а не встроенная функция.
1