Найти в Дзене
Kubernetes

Kubernetes

k8s
подборка · 9 материалов
176 читали · 2 года назад
ConfigMap, Secret
Для того, чтобы передать в приложение конфигурацию, можно использовать переменные окружения. В спецификации контейнера это можно сделать через атрибут env. env - массив пар типа ключ-значение, где ключом является имя переменной окружения, а значением - ее значение. Это не всегда удобно, т.к. для разных сред: продакшн и тестовая, конфигурация может отличаться, а значит, придется хранить несколько версий манифеста одного и того же деплоймента, но с разными настройками. Кроме того, хранение манифестов...
135 читали · 3 года назад
Ingress
Для описания того, каким образом необходимо обрабатывать клиентский трафик, например запросы веб приложения в браузере, используется сущность Ingress (ингресс). Ingress — это объект Kubernetes, в котором описываются правила маршрутизации клиентского трафика. Как мы с вами знаем, что объекты Kubernetes не работают, если нет соответствующего контроллера. Ingress относится к тому типу объектов, для которых нет встроенных контроллеров. Более того, в рамках кластера Kubernetes может жить несколько ингресс контроллеров...
3 года назад
Service
У нас есть несколько инстансов приложения — подов, запущенных в кластере на разных нодах. Очень бы хотелось обращаться не напрямую к каждому поду по их IP адресу, а к некоторому “виртуальному” IP. И при обращении на этот IP-запрос распределялся на один из подов. Это бы существенным образом бы упростило межсервисное взаимодействие. Например, если у нас есть бекенд сервис, который производит обработку изображений, запущенный в трех экземплярах. И есть другой сервис, который использует этот бекенд. Ему все-равно, какой из подов обработает его запрос и сколько всего таких экземпляров запущено...
3 года назад
Deployment
Для управления рабочей нагрузки использовать “голые” поды не рекомендуется, т.к. если нода кластера, на которой запущен под, упадет, то под не будет перераспределен на другую ноду. Кроме того, большинство приложений должны быть запущены в нескольких экземплярах исходя из требований горизонтальной масштабируемости и отказоустойчивости. Для того чтобы следить за этим, используются объекты и соответствующие им встроенные контроллеры Kubernetes для управления рабочей нагрузки. Deployment – это объект...
3 года назад
Pod
Pod – это объект Kubernetes, который является описанием атомарной единицы рабочей нагрузки. При создании объекта типа Pod, Kubernetes запускает один или несколько контейнеров на одной из рабочих нод. При удалении - завершает работу этого контейнера, или контейнеров. Pod - является объектом или ресурсом Kubernetes. Но также Pod-ом (или в русском написании подом) называют и реально запущенные в контейнерной среде процессы, связанные с объектом типа Pod. Поэтому можно часто услышать о "подах, запущенных в namespace-е", или "под перестал работать", "потушить под" и т...
3 года назад
API и объекты кластера Kubernetes
Прикладное взаимодействие с кластером Kubernetes осуществляется через компонент API Server. Так, например, работает консольная утилита kubectl. Если мы хотим запустить в кластере Kubernetes сервис, то свои намерения API Server-у мы описываем не с помощью команд типа "запусти экземпляр сервиса", а декларативно, т. е. передаем API Server-у часть конфигурации, который описывает требуемое состояние. Далее контроллеры узнают об изменении этой части конфигурации и соответствующим образом реагируют. Всю...