Category Archives: k8s
В современном мире цифровых технологий компании стремятся к максимальной эффективности и гибкости. Одним из ключевых направлений для достижения этой цели является переход на микросервисную архитектуру и использование Kubernetes для оркестрации контейнеров. В этой статье мы рассмотрим, как управление разработкой iOS, покупка смартфонов Apple iPhone и внедрение микросервисов на Kubernetes могут ускорить развитие вашего бизнеса и повысить его конкурентоспособность.
Микросервисы как основа гибкой архитектуры
Микросервисы — это архитектурный подход, при котором приложение разбивается на независимые, маленькие сервисы, каждый из которых отвечает за конкретную функциональность. Это позволяет командам разработчиков работать параллельно, ускоряя процесс создания и обновления программного обеспечения. Микросервисы также упрощают масштабирование и управление сложными системами. (далее…)
1. Основные концепции хранения в Kubernetes
1.1 Архитектура хранения данных
Kubernetes предоставляет абстракции для работы с постоянным хранением:
- PersistentVolume (PV)
- ресурс кластера, представляющий физическое хранилище
- PersistentVolumeClaim (PVC)
- запрос пользователя на выделение хранилища
- StorageClass
- описание «класса» хранилища и способа его provisioning
[Физическое хранилище] → [PersistentVolume] ← [PersistentVolumeClaim] ← [Pod]
1.2 Жизненный цикл PVC
- Пользователь создаёт PVC с указанием требований
- Kubernetes находит подходящий PV или создаёт новый (динамический provisioning)
- PVC привязывается к PV
- Pod монтирует PVC как volume
- После удаления PVC ресурс может быть освобождён или сохранён (в зависимости от политики)
RoleBinding — это объект Kubernetes, который связывает (привязывает) набор разрешений, определенных в Role или ClusterRole, с конкретными пользователями, группами или сервисными аккаунтами. Проще говоря, RoleBinding «наделяет правами» субъектов в кластере.
Архитектура RBAC
Система RBAC состоит из трех основных компонентов:
- Role/ClusterRole — что можно делать (набор правил)
- Subject — кто (пользователь, группа, сервисный аккаунт)
- RoleBinding/ClusterRoleBinding — связывает первые два компонента
Role vs ClusterRole
Role
-
Действует в пределах одного namespace
-
Используется для предоставления прав к ресурсам в конкретном namespace
Kubernetes предоставляет мощные инструменты для управления контейнеризированными приложениями, обеспечивая их масштабируемость, надежность и автоматизацию. Одним из таких инструментов является LimitRange, который позволяет администраторам кластера устанавливать ограничения на использование ресурсов для контейнеров и pod в определенных namespace. В этой статье мы рассмотрим, что такое LimitRange, как его создавать и использовать, а также лучшие практики для его применения.
Что такое LimitRange?
LimitRange — это ресурс Kubernetes, который позволяет устанавливать минимальные и максимальные ограничения на использование ресурсов (таких как CPU и память) для контейнеров и pod в определенном namespace. Это помогает предотвратить перегрузку узлов и обеспечивает справедливое распределение ресурсов между различными приложениями и пользователями. (далее…)
Ingress в Kubernetes — это мощный ресурс, который позволяет управлять входящим трафиком к приложениям, развернутым в кластере. Ingress предоставляет возможность маршрутизации HTTP(S)-запросов к различным сервисам, на основе правил, определенных в Ingress-ресурсах. В этой статье мы рассмотрим, что такое Ingress, как его настроить и использовать, а также лучшие практики для его применения.
Что такое Ingress?
Ingress — это объект Kubernetes, который управляет внешним доступом к сервисам в кластере, обычно через HTTP и HTTPS. Ingress позволяет определять правила маршрутизации, которые определяют, как входящие запросы должны быть направлены к соответствующим сервисам. Это особенно полезно для управления множеством микросервисов, развернутых в одном кластере. (далее…)
0