• Разворачиваем Jenkins как код
  • Проблемы с DNS в Kubernetes. Публичный постмортем
    0
    1.13, не IPVS
  • Проблемы с DNS в Kubernetes. Публичный постмортем
    0
    $ uname -v
    #1 SMP Debian 4.9.189-3+deb9u2 (2019-11-11)
    $ conntrack --version
    conntrack v1.4.4 (conntrack-tools)
  • Проблемы с DNS в Kubernetes. Публичный постмортем
    0
    Конкретно для нас польза такая.
    1. Инцидент зафиксирован и донесен до всех членов команды, в будущем такого повториться не должно
    2. Если даже вдруг он в будущем повторится, у нас зафиксированно все в документации
    3. Плюс это расширение экспертизы (опыт) для других членов команды, которые работают со смежной технологией например
  • Проблемы с DNS в Kubernetes. Публичный постмортем
    0
    Все посмтортемы у нас хранятся в Confluence, ну и как написано в статье, обсуждаются на еженедельных митингах.
  • Проектирование Kubernetes-кластеров: сколько их должно быть?
    0
    Используем схему с одним кластером на каждое окружение. Это удобно на наших скейлах.

    Менеджатся они копсом и все конфигурации на кластерах совпадают (вплоть до задеплоеных хельм чартов). Сетевая изоляция достигается впервую очередь за счет того, что они находятся в разных VPC. За счет такой схемы, обновления продакшн кластера происходят без единого разрыва. Сначала деплоим sandbox кластер, вручную обновляем его, ловим все потенциальные ошибки, после этого стейдж (как правило) обновляется как по маслу, равно как и продакшн.

    Что касается минусов такого подхода.
    Отсутствие изоляции между приложениями

    У нас не сотни приложений в кластере, поэтому грамотное использование скейлинга нод, подов, affinity/antiaffinity правил, taints/tolerations, limits/requests и instance groups, практически закрывает этот минус. Возможно на больших скейлах все немного сложнее, не могу сказать.

    Невозможность локализовать зависимости приложений

    Похоже с таким кейсом мы не сталкивались.
  • Подводные камни Terraform
    0
     Кстати, кому не нравится декларативщина, придумали уже Pulumi.
  • «СЛАВА ЖПСС!» или вспоминаем про GPSS World
    +1
    Классика
    image
  • 3 истории сбоев Kubernetes в production: anti-affinity, graceful shutdown, webhook
    +2
    Тоже поймали такую штуку как во второй истории, и так же фиксили.
    Сервис на Django если вдруг кому пригодится.
  • Терминальный сервер для админа; Ни единого SSH-разрыва
    +1
    Часто начинающие админы в своих руководствах советуют менять порт SSH и вместо 22 устанавливать какой-то нестандартный вроде 2222. На мой взгляд это плохая практика, не добавляющая никакой безопасности.

    Обычно это делается не для безопасности, а для того, чтобы логов меньше было. На 22й порт в любом случае будут чаще стучаться боты чем на 2222.
  • Как мы переложили управление инфраструктурой на Terraform — и начали жить
    +1
    Использовали ли для импорта что-то? Например terraformer или terraforming?
    Как у вас устроена структура репозитория? А стейтов? Использовали ли интеграцию с Atlantis? Пишете ли тесты?
  • Применяем github actions для CI и автоматическая публикация на npm
    +1
    Что нужно сделать, чтобы выполнить:
    docker build ...

    Пока только так, к сожалению: habr.com/en/post/468345
    Но это дело времени, сервис-то пока в бете, наверняка скоро напишет Action для докера.
  • Как и зачем мы мигрировали Preply в Kubernetes
    0
    Да, после того как он прошел динамический стейдж и весь пайплайн с тестами.
  • Как и зачем мы мигрировали Preply в Kubernetes
    0
    Что именно вы подразумеваете под совместимостью? Есть какой-то реальный кейс?
    Мы, если что, используем GraphQL.
  • Аутентификация в Kubernetes с помощью GitHub OAuth и Dex
    0
    Да, я неправильно понял кейс. У Вас же несколько кластеров.
  • Бесшовная (почти) миграция между мажорными релизами PostgreSQL с помощью логической репликации
    0
    Да, Bucardo это триггерная репликация.
    Конкретно в нашем случае из-за того что база на RDS мы не могли ничего использовать кроме Bucardo.
    Проблема вторая — если реально хочется бесшовную миграцию с мультимастерами, приложение должно уметь с этим работать.
    Вывод — если у вас есть база в RDS и вы хотите ее обновить на один мажорный релиз, то не стоит париться с попытками репликации, а просто уложить сайт на maintenance на несколько минут.
  • Бесшовная (почти) миграция между мажорными релизами PostgreSQL с помощью логической репликации
    0
    Спасибо за статью.
    У нас был чем-то похожий кейс, только база у нас в AWS RDS (соответственно ни о какой нормальной мастер-мастер репликации не может быть и речи).
    Использовали Bucardo для мастер-мастер «репликации», скажем так, не все так радужно.

    Не замеряли лаг при использовании логической репликации? То что база у Вас большая это видно, но вот насколько она нагружена?
    Как поведет себя репликация, если я на новый хост переключу приложение налету? То есть например запрос А пошел на старый хост, который еще не успели реплицировать на новый, а запрос Б пошел уже на новый сервер? Или же пока работает pgrepup, новая база в режиме read-only?
  • Аутентификация в Kubernetes с помощью GitHub OAuth и Dex
    0
    Мы используем такую же схему для Dashboard, для kubectl такое сделать не получится.
  • Аутентификация в Kubernetes с помощью GitHub OAuth и Dex
    0
    У нас с local storage не работало, там баг был вроде, а с sqlite заработало.
  • Аутентификация в Kubernetes с помощью GitHub OAuth и Dex
    0
    В идеале хотелось бы иметь возможность использования именно авторизации, а конкретно — разграничение доступа по группе пользователя с помощью dex и groups.

    Dex это умеет для групп (организации и команды в GitHub, группы в Microsoft accounts), для каждой группы будет своя RBAC-политика. Мы хотели сделать такое с гуглом, но не заработало. Хотели отказаться от basic auth и закрыть все с белым листов айпишников, но нужно в вайтлист добавлять много айпишников и создавать internal LB.

    Кейс у Вас в принципе похож с нашим.
    По ссылке отличное решение, но у нас немного по-другому, у нас на приложение стоит basic auth, которое конфиг-сниппетом отключается его для офисных адресов и VPN.
  • Аутентификация в Kubernetes с помощью GitHub OAuth и Dex
    0
    Вам нужна именно авторизация (не аутентификация)?
    Аутентификация с помощью oauth2 включается легко для ингресса. А вот авторизацию уже надо реализовывать на уровне приложения или RBAC.

    Решение oauth2_proxy требует деплоя сервиса в каждый namespace(поправьте если не прав), очень не хотелось бы это делать.

    Да, у нас для внутренних сервисов в кубере включена аутентификация для всех ингрессов (prometheus, grafana, alertmanager, kibana, etc). Какой-то проблемы раскатывания для каждого неймспейса не вижу для себя (возможно у Вас совсем другой кейс).
  • Дорогая, мы убиваем бесплатный текстовый контент
    0
    Всю жизнь использую ноутбуки и практически никогда не пользовался нампадом со всеми этими клавишами, а с переходом на макбук так вообще забыл что это такое.
    Но не беда, теперь буду знать.
  • Дорогая, мы убиваем бесплатный текстовый контент
    0
    У меня на маковской клавиатуре таких кнопок даже нет, их заменяет функционал Fn+стрелки, поэтому даже и не задумывался о том, что можно так делать.
  • Дорогая, мы убиваем бесплатный текстовый контент
    +1
    Какая кнопка?
  • Дорогая, мы убиваем бесплатный текстовый контент
    +2
    О, интересно узнать, а почему кнопка «вверх» для Вас бесполезная? Привыкли к горячим клавишам или другие причины есть?
  • Как я диплом в LaTeX писал с GitHub, Docker и TravisCI
    0
    Изначально я хотел ее сверстать, но оказалось что она должна была соответствовать шаблону на 100%. В связи с кучей различных шрифтов, подчеркиваний и прочих нелогичных как по мне артефактов, решено было с ней не запариваться, а оставить как есть.
  • Что в стикере тебе моëм? Угадай владельца по крышке ноутбука
    0
    Соблазн был наклеить что-то на ноуты, но в итоге решил все стикеры клеить на алюминиевый бутыль для воды.
  • Как я диплом в LaTeX писал с GitHub, Docker и TravisCI
    0
    Для диплома я конечно не рассматривал Markdown, не для этого он придуман. Но для всего остального я использую именно его. Вот один из примеров.
    Насчет картинки, большую часть людей которую я знаю писали диплом в Word особо не запариваясь, именно для таких людей мои действия смотрятся как троллейбус из буханки хлеба.
  • Как я диплом в LaTeX писал с GitHub, Docker и TravisCI
    0
    Для антиплагиата все сдавали doc/docx, я спросил, а можно ли PDF, мне ответили что можно.
  • Как я диплом в LaTeX писал с GitHub, Docker и TravisCI
    0
    Пять с половиной минут, но это потому что я каждый раз локально образ собираю, если закинуть его в докерхаб, то думаю сборка проекта не более минуты займет.
    Если же его собрать один раз travis-ci.org/Amet13/master-thesis
  • Как я диплом в LaTeX писал с GitHub, Docker и TravisCI
    +4
    Релизы это конечно круто, но иногда удобнее посмотреть как оно выглядит без скачивания, прямо в самом GitHub. В случае релизов, так не получится.
  • Разбор доклада Дмитрия Столярова о мониторинге Kubernetes
    +1
    Спасибо за разбор.
    Доклады Дмитрия очень приятно и интересно слушать, беру пример для подражания именно с его слайдов.
  • Comment from a drafted post.
  • Comment from a drafted post.
  • Английская грамматика как математика. С чего начать тем, у кого не сложилось
    0
    Значит я на правильном пути, 2-3 часа в неделю занимаюсь с тьютором и иногда с коллегами (носителями языка в офисе).
    Спасибо за совет.
  • Английская грамматика как математика. С чего начать тем, у кого не сложилось
    0

    Вопрос не совсем по грамматике.
    Сейчас использую anki для запоминания новых слов и словосочетаний. На одной стороне пишу само значение слова на английском, на обратной — пояснение или дословный перевод.
    Например:


    clue
    --
    a piece of evidence or information used in the detection of a crime or solving of a mysterydig

    То есть при повторении слов, я вижу на карточке слово clue и перевожу про себя, что мол это слово означает "ключ к разгадке".


    Однако при обычном разговоре, когда я пытаюсь сформировать предложение, я напрочь забываю даже простые слова, а когда мне подсказывают перевод, оказывается что это слово я знаю и повторял много раз, но в данный момент вспомнить не могу.
    Какие методики посоветуете для запоминания слов?

  • 10 причин [не] использовать k8s
    0
    Такой вопрос, вот сейчас вышел k8s 1.11, но мы использует для развертывания в AWS — kops, который на данный момент поддерживает только 1.9 и 1.10 в стадии альфы.
    Стоит ли пытаться как-то иначе пытаться ставить новейшую версию k8s или в этом плане kops стараются довольно быстро их догнать?
    Аутентификация у Вас работает через dex, он крутится также в кубере или это отдельный инстанс где-то?
    В каком случае нужно будет начинать заботиться о сети, если кластер просто предназначен для того, чтобы сайтики хостить со всякими деплоями и обычным nginx-ingress?
  • Белые пятна в работе с SSH
    0
    Использовать Hashicorp Vault в связке со LDAP например, для генерации SSH OTP. В таком случае сертификаты вообще не нужны. Правда на хостах должен стоять ssh-helper, так что решение не для всех подойдет.
  • Генеральная уборка в компании
    +2
    Вопрос для тех, кто использует телеграм в работе.
    Каким образом вы разделяете использование телеграма «для работы» и для личного использования? Покупаете отдельную симку для каждого аккаунта?
    С той же почтой немного проще, сделал аккаунт чисто для работы на каком-нибудь корпоративном домене и юзаешь его.
    P.S. Сам использую Slack для работы (жаль только электрон жрет памяти как не в себя), телеграм для лички.
  • Cluster of Puppets: опыт использования Amazon ECS в iFunny
    0
    Миша, привет!
    Тарифицируются ли образы, которые хранятся в ECR и ведете ли вы их контроль в случае, если они тарифицируются по месту использования (в Google Cloud Storage например для этого используются региональные бакеты для хранения образов)? Какие именно Task Definitions Amazon определяет как устаревшие?
    Сколько времени занимает rollback на старую версию приложения?
    Планируете ли переходить на EKS, когда она выйдет в stable?