Ресурсы Kubernetes
Namespace* (ns) [v1] — позволяет организовывать ресурсы в неперекрывающиеся группы (для каждого потребителя ресурсов).
Развертывающие рабочие нагрузки
Pod (po) [v1] — основная развертываемая единица, содержащая один или более процессов в расположенных рядом контейнерах. Метки (Labels).
ReplicaSet (rs) — поддерживает одну или несколько реплик модуля.
ReplicationController (rc) [v1] – устаревший и менее функциональный эквивалент ресурса ReplicaSet.
Job — запускает модули, выполняющие завершаемую задачу.
CronJob [batch/v1beta1] — запускает назначаемое задание один раз или периодически.
DaemonSet (ds) — запускает одну реплику модуля в расчете на узел (на всех узлах или только на тех, которые соответствуют селектору узлов).
StatefulSet (sts) — запускает модули, имеющие внутреннее состояние, со стабильной идентичностью.
Deployment (deploy) — декларативное развертывание и обновление модулей.
Службы
Service (svc) [v1] — предоставляет доступ к одному или нескольким модулям на одной и стабильной паре IP-адреса и порта.
Endpoints (ep) [v1] — определяет, к каким модулям (или другим серверам) предоставляется доступ через службу.
NodePort — открывает сервис на том же порту каждого выбранного узла в кластере с помощью NAT. Делает сервис доступным вне кластера через :.
Ingress (ing) [extensions/v1beta1] — предоставляет внешним клиентам доступ к одной или нескольким службам через один доступный извне IP-адрес.
Конфигурация
ConfigMap (cm) [v1] — словарь в формате «ключ-значение» для хранения незащищенных параметров конфигурации приложений и предоставления им доступа к ним.
Secret [v1] — словарь в формате «ключ-значение» для хранения конфиденциальных данных. (далее…)
За пределами модулей: раскрываем потенциал заданий Kubernetes для сложных рабочих нагрузок
Поды Kubernetes — это «рабочие лошадки» платформы, но они не всегда являются лучшим инструментом для каждой задачи. Для задач, которые являются конечными, независимыми и не требуют постоянного состояния, Kubernetes Jobs предлагают более совершенный подход, предоставляя надёжные механизмы для управления и мониторинга этих критически важных рабочих нагрузок. В этой статье рассматриваются нюансы использования Kubernetes Jobs помимо простой пакетной обработки, а также передовые методы и сценарии использования. (далее…)
Современные тенденции в мире серверов: как Kubernetes меняет подход к разработке для PHP
В эпоху быстрой цифровизации и постоянного роста востребованности веб-приложений, разработка стала гораздо более сложной и многогранной задачей. Сервера играют центральную роль в этом процессе, и среди технологий, формирующих будущее, выделяется Kubernetes. Эта статья объясняет, как Kubernetes влияет на работу PHP разработчиков и какие вакансии становятся актуальными на рынке труда.
Роль серверов в веб-разработке
Серверы являются основой для любого веб-приложения. Они хранят данные, обрабатывают запросы и обеспечивают взаимодействие пользователя с приложением. Веб-разработка требует надежности и масштабируемости серверной инфраструктуры. Системы, способные быстро адаптироваться к изменяющимся условиям, становятся неотъемлемой частью успеха бизнеса.
(далее…)
Горизонтальное автомасштабирование модуля
Горизонтальное автомасштабирование модуля – это автоматическое масштабирование количества реплик модуля, управляемых контроллером. Оно выполняется горизонтальным контроллером, который активируется и конфигурируется путем создания ресурса HorizontalPodAutoscaler (HPA). Данный контроллер периодически проверяет метрики модуля, вычисляет количество реплик, необходимое для соответствия целевому значению метрики, сконфигурированной в ресурсе HorizontalPodAutoscaler, и настраивает поле replicas на целевом ресурсе (развертывании Deployment, наборе реплик ReplicaSet, контроллере репликации ReplicationController или наборе модулей с внутренним состоянием StatefulSet)
Процесс автомасштабирования
Процесс автомасштабирования можно разделить на три этапа:
- получение метрик всех модулей, управляемых масштабируемым ресурсным объектом;
- расчёт количества модулей, необходимого для приведения метрик к указанному целевому значению (или близкому к нему);
- обновление поля replicas масштабируемого ресурса. Далее мы рассмотрим все три этапа
Получение метрик модуля
Автопреобразователь масштаба сам не выполняет сбор метрик модуля. Он получает метрики из другого источника. Метрики модуля и узла собираются агентом под названием cAdvisor, который выполняется в Kubelet на каждом узле, а затем агрегируется кластерным компонентом под названием Heapster. Контроллер автопреобразователя горизонтального масштаба модуля получает метрики всех модулей, запрашивая агрегатор Heapster посредством вызовов REST.
1