Как стать автором
Обновить
11
0

Пользователь

Отправить сообщение

Продвинутая Helm-шаблонизация: выжимаем максимум

Время на прочтение10 мин
Количество просмотров29K


Стандартной Helm-библиотеки и привычных подходов к написанию Helm-чартов обычно хватает для автоматизации несложных приложений. Но когда количество и сложность Helm-чартов растут, то минималистичных Go-шаблонов и неоднозначной стандартной Helm-библиотеки быстро перестаёт хватать. В этой статье речь пойдет о том, как сделать ваши Helm-шаблоны гораздо более гибкими и динамичными, реализуя свои собственные «функции» в Helm, а также эксплуатируя tpl.

NB. Всё описанное было проверено с werf, но так как шаблоны в этой утилите практически идентичны Helm-шаблонам, то и всё нижеприведенное будет полностью или почти полностью совместимо с обычным Helm обеих версий (v2 и v3).

А теперь разберем, как получить от Helm-шаблонов всё, что можно… и даже всё, что нельзя!
Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии18

Проектирование кластеров Kubernetes: как выбрать оптимальную стратегию автомасштабирования

Время на прочтение16 мин
Количество просмотров6.8K

Pyramids of Egypt by acrosstars22

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

Команда Kubernetes aaS VK Cloud Solutions перевела статью о том, как задавать размеры узлов кластера, настраивать горизонтальное и кластерное автомасштабирование и выполнять избыточное резервирование ресурсов под кластер для ускорения масштабирования.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии3

Kubernetes Headless Service: А если Pod исчез?

Время на прочтение7 мин
Количество просмотров14K

Мы столкнулись с достаточно занятным поведением при работе с Headless-сервисом в Kubernetes. В нашем случае проблема возникла с mongos, но она актуальна для любого Headless-сервиса. Приглашаю вас почитать нашу историю и самим попробовать поиграться с этой проблемой локально.

На одном из проектов мы используем MongoDB и Kubernetes. У MongoDB есть компонент: mongos. Через него выполняются запросы в шардированном MongoDB кластере (можно считать, что это просто хитрый proxy). До переезда в Kubernetes сервисы mongos устанавливались непосредственно на каждый хост.

При переезде сервисов в Kubernetes мы поселили пул mongos в Headless-сервис с автоматическим масштабированием Deployment через HPA (Horizontal Pod Autoscaler).

Через некоторое время выяснилось, что приложению при уменьшении количества Pod с mongos становится не очень хорошо.

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии3

Трансформируем рабочее место в лежачее за 200$

Время на прочтение3 мин
Количество просмотров98K
По мнению австралийского нейрофизиолога Дарена Липники, люди лучше решают творческие задачи в лежачем положении. Это связано с норадреналином, не дающем нам расслабиться пока тело находится в вертикальном положении.



Мысль о работе с компьютером лёжа впервые пришла ко мне ещё во времена студенчества, когда после сидения на дешёвом офисном стульчике очень затекала поясница. Беглый поиск в интернете показал, что офисная мода об этом молчит, а недорогие самодельные решения существуют, но выглядело это всё так сомнительно и неэстетично, что отбивало всякую охоту повторять подвиги умельцев.
Всего голосов 134: ↑130 и ↓4+126
Комментарии169

Y Combinator: русскоговорящие основатели

Время на прочтение14 мин
Количество просмотров15K
image

Попасть в Y Combinator — это победа. В космос летало больше русских (124), чем прошли отбор в Y Combinator. (А за космос дают героя России.)

Я нашел 54 компании с русскоязычными основателями, среди них есть компании с капитализацией $1,5 млрд и даже $2,75 млрд, а есть такие, основатель которой сбежал в неизвестном направлении. Вот такая загадочная душа русскоговорящих основателей.

Есть несколько девушек-основательниц, есть 20-летние парни.

Хакеры, татуировки, криптовалютники, парфюмеры, маркетологи, сейлзы, искусственный интеллект, соцсети, мессенджеры, коллекторы, геномика, обучалки, игры, 3д-принтеры для зданий, репозитории, поиск сотрудников и работы мечты, интернет вещей и многое другое.

Читаем, анализируем, меняем свои убеждения, вдохновляемся и создаем свои стартапы!

2010: AeroFS
2011: Segment, MemSQL, Talkable, Acunote, Mailgun, Inporia
2012: Shoptiques, Virool
2013: Webflow
2014: Roomstorm , Chargehound
2015: GitLab, Replika, ScentBird, Sixa
2016: Chatfuel, Petcube, Wakie, NuCypher, People.ai, Сoub, Wallarm, Deako
2017: IQBoxy | Veryfi, Collectly, Oncobox, Mirror AI, Airthium, Thematic, XIX.ai
2018: Mighty Buildings, Openland, Buddy.ai | Edwin, Storyline, YouTeam, InkHunter, OpenPhone, BioRender, Momentus
2019: AXDRAFT, Outtalent, Termius, EARTH AI
2020: ElectroNeek, Dbrain | Handl, GiveAway, LegionFarm, DigitalBrain, Farel, datafold, Jitsu, Sayana, Jet Admin

9 ноября 2020 стартовала бесплатная Школа стартапов для будущих основателей (Startup School for Future Founders от Y Combinator) и мы будем публиковать полезные переводы для тех, кто планирует стать основателем стартапа международного уровня. Следите за новостями в телеграм-канале YC Startup library на русском.

Публикации на русском языке про YC стартапы с русскоговорящими основателями


Читать дальше →
Всего голосов 26: ↑13 и ↓130
Комментарии16

VPN везде и всюду: IPsec без L2TP со strongSwan

Время на прочтение10 мин
Количество просмотров321K
image
достаточно сильный лебедь

Если вы когда-либо искали VPN, который будет работать на десктопах, мобильных устройствах и роутерах без установки дополнительного ПО и перепрошивки роутера, вы, вероятно, выбирали между PPTP и L2TP+IPsec. У протокола PPTP имеются проблемы с безопасностью и прохождением через брандмауеры и NAT, так что в 2015 году его уже использовать не стоит, а использование L2TP излишне, т.к. L2 VPN, по моему мнению, для обычного удаленного доступа не нужен практически никогда.

Удивительно, что в интернете не так-то просто можно найти информацию о настройке чего-то помимо L2TP+IPsec в транспортном режиме, учитывая, что это обширный стек протоколов, который можно конфигурировать буквально как душе угодно, поэтому я попытаюсь устранить такое несовершенство мира.

Небольшое введение в мир IPsec

Вообще говоря, не совсем правильно называть IPsec VPN. IPsec не предназначен для построения «виртуальных частных сетей», а создан для шифрования или защиты от подмены передаваемых по IP данных. Это специальный слой поверх IP, который, в зависимости от режима и настроек, работает по-разному. В отличие от привычного VPN, который создает новый интерфейс в системе, на который вы, как это чаще всего бывает, назначаете IP-подсеть из диапазона частных адресов (т.е. создаете новый сетевой сегмент), и через который маршрутизируется трафик в зашифрованном виде, IPsec просто шифрует трафик магическим образом между «внешними» интерфейсами сервера и клиента.
Читать дальше →
Всего голосов 50: ↑49 и ↓1+48
Комментарии166

IPSec VPN для OS X и iOS. Без боли

Время на прочтение5 мин
Количество просмотров54K
VPN (англ. Virtual Private Network — виртуальная частная сеть) — обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например, Интернет).
© Wikipedia


VPN используется для удаленного подключения к рабочему месту, для защиты данных, для обхода фильтров и блокировок, для выдачи себя за гражданина другой страны и вообще — штука незаменимая. Практически повсеместно в качестве простого средства для организации пользовательского VPN используется всем известный OpenVPN, который использовал и я. Ровно до тех пор, пока у меня не появился Macbook и OS X в придачу. Из-за того, что подход Apple к конфигурации DNS сильно отличается от подхода других *nix-систем, проброс DNS через VPN нормально не работал.

После некоторых исследований у меня получилось два варианта:
— Использование DNS «мимо» VPN, что сильно небезопасно, но решает проблему.
— Использование нативных для OS X VPN-протоколов: PPTP и семейства IPSec.
Разумеется, я выбрал второе и разумеется — IPSec, а не устаревший PPTP.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии13

13 рекомендаций по использованию Helm

Время на прочтение12 мин
Количество просмотров7.8K

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

Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии5

Деплоим проект на Kubernetes в Mail.ru Cloud Solutions. Часть 3: мониторинг приложения, CI/CD и собственный Helm-чарт

Время на прочтение16 мин
Количество просмотров8.4K

Это продолжение практикума по развертыванию Kubernetes-кластера на базе облака Mail.ru Cloud Solutions и созданию MVP для реального приложения, выполняющего транскрибацию видеофайлов из YouTube. 

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии0

Миграция с Docker на containerd в среде Kubernetes

Время на прочтение4 мин
Количество просмотров15K


Kubernetes отказывается от Docker для выполнения контейнеров после версии 1.20. (Прим. переводчика: в декабре мы уже писали о том, как это изменение повлияет на задачи разработчиков и инженеров эксплуатации: «Docker is deprecated — и как теперь быть?»)


Без паники. Контейнеры Docker все еще поддерживаются, но без dockershim/Docker — слоя между Kubernetes и containerd, который будет удален, начиная с версии 1.22+.


Если вы используете Docker, нужно перейти на поддерживаемый интерфейс container runtime interface (CRI). Хорошим вариантом будет containerd — он уже есть у вас на ноде Kubernetes, если вы работаете с Docker.

Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии1

Docker is deprecated — и как теперь быть?

Время на прочтение5 мин
Количество просмотров75K

Kubernetes объявил Docker устаревшим и планирует прекратить его использование примерно через год, в версии 1.22 или 1.23. Эта новость вызвала много вопросов и непонимания. В блоге Kubernetes появилось целых две статьи, разъясняющих смысл записи в Changelog (раз и два). Если все обобщить, то для разработчиков (те, которые Dev) ничего не меняется — они все так же могут продолжать использовать docker build для сборки своих контейнеров, а вот для инженеров, ответственных за эксплуатацию кластера (Ops), пришла пора разобраться и освоить несколько новых инструментов.

Читать дальше
Всего голосов 105: ↑98 и ↓7+91
Комментарии81

Как предоставить доступ к кластеру Kubernetes с помощью клиентского сертификата: простое руководство

Время на прочтение10 мин
Количество просмотров9.4K

Предположим, мы создали кластер Kubernetes. И кто-то из команды разработчиков хочет развернуть и протестировать на нем новое приложение. Как нам предоставить ему доступ в кластер?

Команда Kubernetes aaS Mail.ru Cloud Solutions перевела простое руководство по предоставлению доступа к новому кластеру Kubernetes, включая настройку аутентификации и привязку ролей. Автор показывает процесс, используя клиентский сертификат x509.

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии3

11 факапов PRO-уровня при внедрении Kubernetes и как их избежать

Время на прочтение14 мин
Количество просмотров20K

Я, Дмитрий Лазаренко, руковожу командой, создающей и внедряющей собственный Kubernetes aaS на платформе Mail.ru Cloud Solutions. Давно работая с внедрением Kubernetes, мы часто сталкиваемся с недопониманием нюансов этой технологии. Хочу рассказать о типичных стратегических просчетах при внедрении Kubernetes в крупных проектах.

Читать далее
Всего голосов 46: ↑46 и ↓0+46
Комментарии22

Маленькие хитрости SSH

Время на прочтение6 мин
Количество просмотров40K
В этой статье собраны наши лучшие приемы для более эффективного использования SSH. Из нее вы узнаете как:

  • Добавить второй фактор к логину SSH
  • Безопасно пользоваться agent forwarding
  • Выйти из вставшей SSH сессии
  • Сохранить постоянный терминал открытым
  • Поделиться удаленной сессией терминала с другом (без Zoom!)

Добавление второго фактора к своему SSH


Второй фактор аутентификации к своим SSH соединениям можно добавить пятью разными способами:

  1. Обновить свой OpenSSH и использовать ключ шифрования. В феврале 2020 года в OpenSSH была добавлена поддержка ключей шифрования FIDO U2F (Universal Second Factor). Это отличная новая функция, но есть нюанс: только те клиенты и серверы, которые обновились до версии OpenSSH 8.2 и выше смогут пользоваться ключами шифрования, так как февральское обновление вводит для них новые типы ключей. Командой ssh –V можно проверить клиентскую версию SSH, а серверную — командой nc [servername] 22
Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Комментарии22

Выводы Grofers после двух лет Kubernetes в production

Время на прочтение15 мин
Количество просмотров10K
Прим. перев.: эта статья — опыт миграции на Kubernetes одного из крупнейших в Индии онлайн-магазинов продуктов. В ней Vaidik Kapoor, software engineer из Grofers, рассказывает о главных ошибках и препятствиях этого долгого путешествия, а также делится своими мыслями о целесообразности и плюсах подобного переезда в целом.

Почти два года назад мы решили отказаться от развертывания приложений на EC2 с конфигурациями, управляемыми через Ansible, и перейти к контейнеризации и оркестровке приложений с помощью Kubernetes. За это время большую часть инфраструктуры уже перенесли в Kubernetes. Миграция была сопряжена со своими вызовами: от технических, связанных с необходимостью обеспечивать работу гибридной инфраструктуры до завершения миграции, до обучения всей команды совершенно новой парадигме работы.

В данной публикации я хочу поразмышлять о полученном опыте и поделиться уроками, извлеченными из него. Надеюсь, это поможет вам принимать более взвешенные решения и повысит шансы на успех в аналогичных затеях.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии4

Ограничение скорости обработки запросов в nginx

Время на прочтение8 мин
Количество просмотров57K

Фотография пользователя Wonderlane, Flickr


NGINX великолепен! Вот только его документация по ограничению скорости обработки запросов показалась мне, как бы это сказать, несколько ограниченной. Поэтому я решил написать это руководство по ограничению скорости обработки запросов (rate-liming) и шейпингу трафика (traffic shaping) в NGINX.

Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии12

Ceph. Анатомия катастрофы

Время на прочтение20 мин
Количество просмотров58K
Ceph — это object storage, призванный помочь построить отказоустойчивый кластер. И все-таки отказы случаются. Все, кто работает с Ceph, знают легенду о CloudMouse или Росреестре. К сожалению, делиться отрицательным опытом у нас не принято, причины провалов чаще всего замалчивают, и не дают будущим поколениям научиться на чужих ошибках.

Что ж, настроим тестовый, но близкий к реальному кластер и разберем катастрофу по косточкам. Измерим все просадки производительности, найдем утечки памяти, разберем процесс восстановления обслуживания. И все это под руководством Артемия Капитулы, который потратив почти год на изучение подводных камней, заставил при отказе производительность кластера не падать в ноль, и latency не подскакивать до неприличных значений. И получил красный график, который ну сильно лучше.


Далее вы найдете видео и текстовую версию одного из лучших докладов DevOpsConf Russia 2018.


Всего голосов 57: ↑57 и ↓0+57
Комментарии116

Наш путь к нулевым простоям при непрерывном обновлении с помощью Ambassador

Время на прочтение5 мин
Количество просмотров2.6K


Мы в Lifion строим распределенную платформу и портфель продуктов для клиентов по всему миру. С учетом этого важно, чтобы мы могли выпускать обновления нашей платформы непрерывно прямо во время ее работы, прозрачно для наших пользователей, которым важна доступность системы, при этом они находятся в разных регионах и часовых поясах. В этой статье мы поделимся с вами путем, которым мы шли, чтобы получить нулевые простои при непрерывном обновлении с помощью Kubernetes. Мы запускаем наши нагрузки с помощью управляемого сервиса Kubernetes — AWS EKS. В качестве шлюза API мы применяем Ambassador, сборку Envoy с открытым исходным кодом, специально разработанную для Kubernetes. Наша платформа состоит из более чем 150 микросервисов, большинство из них написаны на Node.js, запускаются в многих подах поверх многочисленных рабочих узлов.

Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии1

Разворачиваем распределенное хранилище CEPH и подключаем его к Kubernetes

Время на прочтение13 мин
Количество просмотров39K


Часть 1 Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal (Debian)


Здравствуйте, уважаемые читатели Хабра!


В прошлой публикации я рассказал, как развернуть отказоустойчивый кластер Kubernetes. Но дело в том, что в Kubernetes удобно деплоить stateless приложения, которым не требуется сохранять свое состояние или работать с данными. Но в большинстве случаев нам требуются сохранять данные и не терять их при рестартах подов.
Для этих целей в Kubernetes используются тома (volume). Когда мы работаем с облачными решениями Kubernetes, то проблем особо нет. Нам лишь нужно у Google, Amazon или иного облачного провайдера заказать требуемый объем и, руководствуясь документаций , подключить полученные тома к подам.
Когда же мы имеем дело с bare metal, тут дела обстоят немного сложнее. Сегодня я хочу рассказать об одном из решений основанном на использовании ceph.


В данной публикации я расскажу:


  • как развернуть распределенное хранилище Ceph
  • как использовать Ceph при работе с Kubernetes
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии38

Как не хранить секреты где придётся, или зачем нам Hashicorp Vault

Время на прочтение11 мин
Количество просмотров99K

Vault header 


Задайте себе вопрос — как правильно хранить пароль от базы данных, которая используется вашим сервисом? В отдельном репозитории с секретами? В репозитории приложения? В системе деплоя (Jenkins, Teamcity, etc)? В системе управления конфигурациями? Только на личном компьютере? Только на серверах, на которых работает ваш сервис? В некоем хранилище секретов?
Зачем об этом думать? Чтобы минимизировать риски безопасности вашей инфраструктуры.
Начнём исследование вопроса с определения требований к хранению секретов.


Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Комментарии14
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность