Category Archives: DevOps

Ресурсы Kubernetes

Автор Itworkroom
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] — словарь в формате «ключ-значение» для хранения конфиденциальных данных. (далее…)

Deployment в Kubernetes

Автор Itworkroom

Deployment в Kubernetes — это один из ключевых ресурсов, предназначенный для управления развертыванием и масштабированием приложений. Deployment обеспечивает автоматизацию обновлений, откатов к предыдущим версиям и масштабирования реплик приложений, что делает его незаменимым инструментом для обеспечения стабильности и надежности работы контейнеризированных приложений. В этой статье мы рассмотрим основные аспекты Deployment, его создание и использование, а также лучшие практики работы с ним.

Основные компоненты Deployment

  1. ReplicaSet: deployment управляет ReplicaSet, который, в свою очередь, управляет созданием и удалением pod. ReplicaSet гарантирует, что заданное количество реплик pod всегда работает.
  2. Pod Template: шаблон pod определяет конфигурацию контейнеров, которые будут запущены в каждом pod. Это включает в себя образы контейнеров, порты, переменные окружения и другие параметры.
  3. Стратегии обновления: deployment поддерживает стратегии обновления, такие как RollingUpdate и Recreate, которые определяют, как будут обновляться pod при изменении конфигурации.
  4. Селекторы используются для определения, какие pod управляются Deployment. Это позволяет Deployment отслеживать и управлять только теми pod, которые соответствуют заданным меткам.

(далее…)

Современные решения VPS K8S для масштабируемых и надежных приложений

Автор Itworkroom

vpsВиртуальный сервер (VPS) Virtual Private Server давно стал популярным выбором для размещения веб-приложений, баз данных и других сервисов благодаря своей гибкости, изоляции и экономичности. Однако с ростом сложности и масштабов современных приложений, традиционные VPS могут оказаться недостаточно эффективными. В этом контексте Kubernetes предлагает мощные возможности для создания и управления виртуальными серверами, обеспечивая высокую степень автоматизации, масштабируемости и надежности.

Преимущества виртуальных серверов на базе Kubernetes

  1. Автоматизация и оркестровка: Kubernetes автоматизирует развертывание, масштабирование и управление контейнеризированными приложениями. Это позволяет значительно сократить время на настройку и обслуживание серверов, а также минимизировать ошибки, связанные с ручным управлением.
  2. Масштабируемость: Kubernetes легко масштабируется как горизонтально (увеличение числа pod), так и вертикально (увеличение ресурсов для конкретного pod). Это позволяет эффективно распределять нагрузку и обеспечивать стабильную работу приложений при изменении трафика.
  3. Высокая доступность: Kubernetes обеспечивает высокую доступность приложений за счет автоматического восстановления pod в случае их сбоя, а также возможности развертывания приложений на нескольких узлах кластера.
  4. Изоляция и безопасность: Контейнеры в Kubernetes изолированы друг от друга, что повышает безопасность и стабильность работы приложений. Это особенно важно для многопользовательских сред, где различные приложения могут работать на одном кластере.

(далее…)

Управление конфигурацией приложений ConfigMap в Kubernetes

Автор Itworkroom

Что такое ConfigMap?

ConfigMap — это ресурс Kubernetes, предназначенный для хранения неконфиденциальных данных конфигурации в виде пар “ключ-значение”. Эти данные могут включать в себя параметры конфигурации, настройки окружения, конфигурационные файлы и другие данные, которые необходимы приложению для корректной работы. ConfigMap позволяет отделить конфигурационные данные от образов контейнеров, что облегчает управление и обновление конфигурации без необходимости пересборки контейнеров. (далее…)

Kubernetes Jobs

Автор Itworkroom

kubernetes-jobsЗа пределами модулей: раскрываем потенциал заданий Kubernetes для сложных рабочих нагрузок

Поды Kubernetes — это «рабочие лошадки» платформы, но они не всегда являются лучшим инструментом для каждой задачи. Для задач, которые являются конечными, независимыми и не требуют постоянного состояния, Kubernetes Jobs предлагают более совершенный подход, предоставляя надёжные механизмы для управления и мониторинга этих критически важных рабочих нагрузок. В этой статье рассматриваются нюансы использования Kubernetes Jobs помимо простой пакетной обработки, а также передовые методы и сценарии использования. (далее…)