Настроить хранение данных приложений, запущенных в кластере Kubernetes, можно несколькими способами. Одни из них уже устарели, другие появились совсем недавно. В этой статье рассмотрим концепцию трёх вариантов подключения СХД, в том числе самый последний — подключение через Container Storage Interface.
DevOps
Как и зачем в Lyft улучшали Kubernetes CronJobs
![](https://habrastorage.org/webt/po/tw/ix/potwixahha1fwo1sd5osxys5t_u.jpeg)
Мы в Lyft решили перевести серверную инфраструктуру на Kubernetes — распределенную систему оркестровки контейнеров, — чтобы воспользоваться преимуществами, которые предлагает автоматизация. Хотели получить прочную и надежную платформу, способную стать фундаментом для дальнейшего развития, а также снизить общие затраты, одновременно повысив эффективность.
Распределенные системы могут быть сложны для понимания и анализа, и в этом смысле Kubernetes — не исключение. Несмотря на его многочисленные преимущества, мы выявили несколько проблемных моментов при переходе на CronJob — встроенную в Kubernetes систему для выполнения повторяющихся задач по расписанию. В этом цикле из двух статей мы обсудим технические и эксплуатационные недостатки Kubernetes CronJob при использовании в крупном проекте и поделимся с вами опытом их преодоления.
У нас там Postgres, но я хз что с ним делать (с)
Это цитата одного из моих знакомых который когда-то давно обращался ко мне с вопросом про Postgres. Тогда мы за пару дней порешали его проблему и поблагодарив меня он добавил: "Хорошо, когда есть знакомый DBA".
Но что делать если нет знакомого DBA? Вариантов ответа может быть довольно много, начиная от поискать среди друзей друзей и заканчивая до изучить вопрос самостоятельно. Но какой бы ответ не пришел к вам в голову, у меня для вас хорошая новость. В тестовом режиме мы запустили сервис рекомендаций для Postgres'ов и всего что вокруг них.
IaaS 152-ФЗ: итак, вам нужна безопасность
Сколько бы ни разбирали мифы и легенды, которыми окружено соответствие 152-ФЗ, что-то всегда остается за кадром. Сегодня мы хотим обсудить не всегда очевидные нюансы, с которыми могут столкнуться как крупные компании, так и совсем небольшие предприятия:
• тонкости классификации ПДн по категориям — когда небольшой интернет-магазин собирает данные, относящиеся к специальной категории, даже не зная об этом;
• где можно хранить бэкапы собранных ПДн и производить над ними операции;
• чем отличается аттестат и заключение о соответствии, какие вообще документы запрашивать у провайдера и все в таком духе.
Напоследок мы поделимся с вами собственным опытом прохождения аттестации. Поехали!
Как получить доступ к ресурсам Kubernetes Pod
![](https://habrastorage.org/webt/k9/ze/gn/k9zegn7vrs4ifayklx6iuafr5m8.jpeg)
В начале работы с Kubernetes обычно забывают о настройке ресурсов контейнеров. На этом этапе достаточно убедиться, что образ Docker работает и его можно развернуть в кластере Kubernetes.
Но позднее приложение требуется развернуть в продакшен кластере вместе с другими приложениями. Для этого нужно выделить ресурсы для контейнера и убедиться, что их достаточно для запуска и работы приложения, а в других запущенных приложениях не возникнет проблем.
Команда Kubernetes aaS от Mail.ru перевела статью о ресурсах контейнеров (CPU & MEM), запросах и ограничениях ресурсов. Вы узнаете, какие преимущества дают эти настройки и что произойдет, если их не установить.
Простое объяснение CRD в Kubernetes и как его использовать
![](https://habrastorage.org/webt/co/as/gz/coasgzodwwn17ewl6tf4g-f0nra.jpeg)
CRD (Custom Resource Definition) — специальный ресурс в Kubernetes, который позволяет вносить любые данные. Команда Kubernetes aaS от Mail.ru перевела статью о том, что это такое, как его создать и использовать.
Эфемерные тома с отслеживанием емкости хранилища: EmptyDir на стероидах
Эфемерные тома CSI позволили расширять Kubernetes с помощью драйверов CSI для обеспечения поддержки легковесных локальных томов. Этим способом возможно применять произвольные структуры: настройки, секреты, данные для идентификации, переменные и так далее. CSI драйверы должны быть доработаны для поддержки этой функции Kubernetes, поскольку предполагается, что обычные стандартизированные драйверы не будут работать - но предполагается, что такие тома можно использовать на любом узле, выбранном для пода.
PuppetConf 2016. Kubernetes для сисадминов. Часть 1
Пять или шесть лет назад Луис Андре Барросо и Урс Хёзл в статье «Дата-центр как компьютер» высказали мысль, что мы должны воспринимать центр обработки данных как один массивный компьютер. Нужно абстрагироваться от того, что дата-центр состоит из отдельных машин, и считать его одной логической сущностью. Как только вы попытаетесь использовать эту идею на практике, то сможете применять к дата-центрам принципы построения распределенных систем и распределенных вычислений.
![](https://habrastorage.org/webt/w9/q7/sg/w9q7sgxchzl3fuuhlrymsv4xcsa.jpeg)
Для того, чтобы относиться к центру обработки данных как к компьютеру, вам нужна операционная система. Она выглядит очень похожей на ту, которую вы используете на отдельном компьютере, но должна иметь другой интерфейс, потому что вам не нужен доступ к отдельной машине и не нужен доступ к ядру. Итак, давайте думать о дата-центре как о большом компьютере. Сегодня я расскажу, как вам поступать, если вас будто бы лишат способности управлять любой машиной с помощью SSH. Вы не сможете залогиниться, и хотя некоторые люди считают, что без этого невозможно управлять системой, я расскажу, как много можно сделать при помощи Kubernetes. Во-первых, вы должны воспринимать Kubernetes как фреймворк для строительства распределенных платформ.
PuppetConf 2016. Kubernetes для сисадминов. Часть 2
Установите лимит использования ресурсов. С помощью простой математики можно рассчитать, сколько копий приложения вы сможете запустить – если одной копии нужен 1 ГБ RAM, то имея 10 ГБ памяти, можно запустить 10 копий. За этим не нужно будет следить, потому что я знаю, что ядро системы просто станет исполнять обусловленный контракт. Этот контракт, или соглашение между вами и системой, очень важен, потому что при его наличии все инструменты работают намного лучше. Таким образом мы привносим в систему дисциплину исполнения.
![](https://habrastorage.org/webt/rt/dm/hk/rtdmhkgbqphvjfsp1rnutwussnm.jpeg)
Так вот, планировщик запустит это только в том случае, если на каждую из реплик достанется по 1 Гб свободной памяти. Если же памяти не хватает, процесс не запустится. Итак, я ввожу команду kubectl create, и после ее выполнения будет создан контейнер mysql.
![](https://habrastorage.org/webt/ue/nn/cb/uenncbh1llvnqifuk9cbvpu38pu.jpeg)
Здесь имеется один нюанс, связанный со stateful-системами – у вас есть несколько вариантов выбора. Я выделил фрагмент кода, в котором указал, что хочу использовать PersistentDisk моего облачного провайдера.
PuppetConf 2016. Kubernetes для сисадминов. Часть 3
PuppetConf 2016. Kubernetes для сисадминов. Часть 2
Мы берем приложение Lobsters и создаем новый образ с новыми требованиями. Сначала вводим команду развертывания $ kubectl apply –f deployments/lobsters.yaml и посылаем приложение в кластер, который должен выполнить обновление rolling update для каждого из имеющихся экземпляров приложения в соответствии с политикой обновлений. Сначала система убеждается в работоспособности каждого экземпляра, а затем уничтожает их в следующем наборе контейнеров.
![](https://habrastorage.org/webt/xg/bl/xe/xgblxesodan5f7msgrj_d3qc0x4.jpeg)
Посмотрим, как это сработало. Для этого перезагружаем сайт, и теперь отсутствие белых мест сделает нашего маркетолога счастливым.
Как с fio проверить диски на достаточную производительность для etcd
![](https://habrastorage.org/webt/ch/rf/tf/chrftfiz54gzuyvhcpym-kdvymm.png)
Краткое резюме всей статьи: fio и etcd
Производительность кластера etcd сильно зависит от скорости хранилища, лежащего в его основе. Для контроля за производительностью etcd экспортирует различные метрики Prometheus. Одной из них является
wal_fsync_duration_seconds
. В документации к etcd говорится, что хранилище можно считать достаточно быстрым, если 99-й процентиль этой метрики не превышает 10 мс…Ломаем кластер Kubernetes через Helm v2 tiller
Helm — пакетный менеджер для Kubernetes, что-то вроде apt-get
для Ubuntu. В этой заметке мы увидим предыдущую версию helm (v2) с сервисом tiller, установленным по умолчанию, через который получим доступ к кластеру.
Как обслуживать etcd: несколько замечаний и советов
![](https://habrastorage.org/webt/xo/lk/ws/xolkwszqsiyjby3s6r0cliuh_sa.jpeg)
Если вы администрируете кластеры Kubernetes в своей инфраструктуре, а не используете версии, управляемые облачными провайдерами, то, скорее всего, уже управляете кластером etcd. Для тех, кому это внове, команда Kubernetes aaS от Mail.ru перевела статью о том, как обслуживать etcd.
Капля в море: Запуск Drupal в Kubernetes
Я работаю в компании Initlab. Мы специализируемся на разработке и поддержке Drupal проектов. У нас есть продукт для быстрого создания Ecommerce решений, основанный на Drupal. В 2019 году мы начали решать задачу построения масштабируемой и отказоустойчивой инфраструктуры для нашего продукта.
В качестве платформы для инфраструктуры был выбран Kubernetes. В этой статье разберем особенности Drupal и подходы, с помощью которых можно запускать Drupal в кластере Kubernetes.
Остановитесь!!! Вам не нужны микросервисы
Идет 2020 год. Если вам нужно пояснение, что такое микросервисы — лучше потратьте свое драгоценное время на что-то другое. Но если вы впечатлены историями успеха о микросервисах и хотите нырнуть в "панацею" с головой — продолжайте читать. Прошу прощения, будет немного длинновато (не очень, прим. переводчика).
Удаляем устаревшую feature branch в Kubernetes кластере
![](https://habrastorage.org/webt/vm/lu/1i/vmlu1idc6dy6fzcyzuem8p9dl5i.png)
Привет! Feature branch (aka deploy preview, review app) — это когда деплоится не только master ветка, но и каждый pull request на уникальный URL. Можно проверить работает ли код в production-окружении, фичу можно показать другим программистам или продуктологам. Пока вы работаете в pull request'е, каждый новый commit текущий deploy для старого кода удаляется, а новый deploy для нового кода выкатывается. Вопросы могут возникнуть тогда, когда вы смерджили pull request в master ветку. Feature branch вам больше не нужна, но ресурсы Kubernetes все еще находятся в кластере.
Повышаем безопасность микросервисов с Istio
![](https://habrastorage.org/webt/t0/kq/kg/t0kqkgmsjjedd0qvg_4tutpp064.png)
Экономим на облачных затратах Kubernetes на AWS
![](https://habrastorage.org/webt/zk/hr/rc/zkhrrc86p6rumxdaxihavgfwc0m.png)
Как сэкономить на облачных затратах при работе с Kubernetes? Единственно правильного решения не существует, но в этой статье описано несколько инструментов, которые помогут вам эффективнее управлять ресурсами и сократить расходы на облачные вычисления.
Я написал эту статью с оглядкой на Kubernetes для AWS, но она будет применима (почти) точно так же и для других облачных провайдеров. Я предполагаю, что ваш кластер(ы) уже имеет настроенное автоматическое масштабирование (cluster-autoscaler). Удаление ресурсов и уменьшение масштаба развертывания позволит сэкономить только в том случае, если это также сократит ваш парк рабочих узлов (EC2 инстансов).
В этой статье будут рассмотрены:
- очистка неиспользуемых ресурсов (kube-janitor)
- уменьшение масштабирования в нерабочее время (kube-downscaler)
- использование горизонтального автомасштабирования (HPA),
- уменьшение избыточного резервирования ресурсов (kube-resource-report, VPA)
- использование Spot инстансов
Логирование в Kubernetes: EFK против PLG
Мониторинг стал весьма важным компонентом растущих облачных решений с ростом сложности распределенных систем. Он необходим для понимания их поведения. Нужны масштабируемые инструменты, которые смогут собрать данные со всех сервисов — и предоставить специалистам единый интерфейс с анализом производительности, демонстрацией ошибок, доступностью и журналами.
Эти же инструменты должны быть эффективными и производительными. В этой статье мы рассмотрим два популярных стека технологий: EFK (Elasticsearch) и PLG (Loki) и разберём их архитектуры и различия.
Автогенерация секретов в Helm
![](https://habrastorage.org/webt/57/ji/bi/57jibi0hofkfvmubs15x0q-pd-w.png)
Команда Kubernetes aaS от Mail.ru перевела короткую заметку о том, как автоматически генерировать секреты Helm при обновлении. Далее текст от автора статьи — технического директора Intoware, компании-разработчика SaaS-решений.
Контейнеры — это круто. Сначала я был противником контейнеров (стыдно признаться), но теперь я полностью поддерживаю использование этой технологии. Если вы читаете это, то, надеюсь, успешно плавали по морям Docker, осознали преимущества Kubernetes и сделали свою жизнь намного проще с Helm.
Тем не менее некоторые вещи явно сложнее, чем должны быть.
Information
- Rating
- Does not participate
- Registered
- Activity