Ответы пользователя по тегу DevOps
  • Как автоматически монтировать каталог в docker-контейнере при его монтировании в хосте?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Если взять директорию, положить в нее файл, затем на эту (не пустую) директорию что-то замаунтить.
    Если ты уже вышел из директории, файл будет недоступен по пути - на этом месте уже будет новый бинд. Но после отмонтирования, там снова будет доступен файл.

    Так что маунт в папку - это не создание поддиректории, поэтому если в одном контейнере ты что-то маунтишь, другой контейнер этого видеть не будет.

    Маунты хранятся в /proc, а именно в /proc/mounts, и следовательно так как каждый контейнер хранит свой собственный /proc, если что-то перемаунтилось, другие контейнеры об этом "не знают".
    Ответ написан
    Комментировать
  • DevOps как предприятие выглядит изнутри?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Докер это просто инфраструктура.
    Позиция девопс - это умение работать с CI/CD инструментами и автоматизация инфраструктуры.

    Просто есть такая вещь - позиция junior Devops это моветон, потому что девопс инженер нужен в средних и крупных проектах, а в маленьких с этим справляются и разработчики.
    Поэтому позиция Девопс инженер обычно там, где структура проекта сложная, отсюда и пошло мнение, что у девопсов все сложно, круто и так далее.
    Ответ написан
    Комментировать
  • DevOps больше программист, или системный администратор?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Соглашусь со всеми.
    Но под позицией девопса подразумевают инфраструктуруного сисадмина, который умеет работать с CI/CD инструментами и автоматизацией.
    Ответ написан
    Комментировать
  • Мониторинг приложения в Openshift 3.11. Нужен ли Prometheus под свои сервисы?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Конечно лучше использовать готовый экземпляр, был бы доступ к прометею.
    В крайнем случае можно сделать свой собственный экспортер для кастомных метрик, на каком-нибудь питоне, который будет доставать метрики так, как вы придумали (json по http ендпоинту, или парсить логи или еще что-то, вплоть до side-car внутри каждого пода) и кидать вобщую базу прометея.
    Ответ написан
    Комментировать
  • Что нужно знать? К чему надо быть готовым?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Подскажите, какие примерно будут задачи?

    Парень, задачи тебе ставят на работе. Почему ты спрашиваешь о таком у случайных людей в интернете?

    их стэк : gitlab ci, docker, php-fpm,nginx

    Видимо настройка gitlab-ci, работа с docker, обслуживание php-fpm и конфигурация nginx.
    Слишком очевидно? А что ты хотел?

    К чему я должен буду готов при взаимодействии с разработчиками?

    Ну тут два варианта - либо "о, сейчас этот все исправит" либо "о, снова этот... надо позвать другого, который все исправит"
    Ответ написан
    Комментировать
  • Linux для DevOps, где учить, сколько брать?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    джун девопс - моветон.

    В девопсы приходят или из системных администраторов или из разработчиков.
    А джун девопс это понятие появилось в некоторых компаниях, которым нужен не девопс, а сисадмин, который еще и ci/cd настроит.

    Поэтому такие вопросы нужно задавать работодателям, которые кидают такие вакансии на рынок - что они хотят.

    "Пожалуйста, не пишите что надо знать всё, что девопс это не профессия, а практика, что надо помимо линукса знать CI/CD, Kubernetes, Docker и т.д. Я и так это понимаю, но конкретно сейчас меня интересует вопрос выше."


    А почему не писать? Ты уже знаешь CI/CD, кубер, докер ?
    Например, знать линукс нужно ну хотя бы что бы ты мог с нуля поставить линукс, в нем поднять и настроить тот же CI/CD, кубер, докер.
    Ответ написан
    6 комментариев
  • Python для системного администратора, сколько?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    bash/python/javascript следует знать на уровне работы с данными.
    Чтобы ты мог прочитать/отпарсить текст, числа, json - это самое частое что приходится делать.

    Пример скрипта средней сложности для админа - забрать по урл (возможно с авторизацией) json с данными, распарсить и преобразовать в формат prometheus или sql запроса для инсерта в какую-нить базу.
    Если этот скрипт еще и с обработкой exception - то и совсем хорошо.

    Знание bash/powershell IMHO немного важнее, ибо там ты неразрывно связан с архитектурой и особенностями ОС, но питон универсален и хорош именно для прикладного, а не системного взаимодействия.
    Ответ написан
    Комментировать
  • Хитрый редирект?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Посмотреть заголовки, а точнее https://en.wikipedia.org/wiki/HTTP_referer
    Ответ написан
    Комментировать
  • Какой уровень Python должен быть у начинающего Junior DevOps инженера?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Хочу понять что именно нужно знать и уметь писать на Python чтоб я смог считаться Junior DevOps инженером.

    Можно вообще не знать питон.
    Devops не разработчик на питоне. Это сисадмин в области настройки ci/cd, для чего надо уметь работать с инструментами, которые позволяют в CI/CD, разбираться в том, как разрабатываются сейчас продукты и как они запускаются, разбираться в мониторинге.

    И вообще Junior Devops - это моветон. В девопсы приходят или после опыта системного администрирования или опыта разработки. Ну еще изредка могут из L3 перейти.
    Но никак не с нуля и сразу в девопсы. Исключения крайне редки и чем-то всегда обоснованы.

    Но если хочешь написать что-нить на питоне девопсное - поставь какой-нить прометеус и к нему на питоне напиши скриптик для снятия каких-либо показателей. Добавь в прометеус визуализацию и будешь мониторить какой-нить свой показатель.
    Ответ написан
    Комментировать
  • Где можно отучиться на DevOps'а?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    DevOps это не отдельная вакансия. Это инфраструктурный инженер, который работает над задачами автоматизации сборки, настройки различных окружений и деплоймента.
    То есть это еще одно направление системных администраторов, со своим набором технологий.

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

    Оба варианта не подходят для того, чтобы эту работу выполнял джуниор, так как в первом случае нужен опыт и хорошее знание различных технологий, во втором - опыт и ответственность за различные организационные моменты, которые тоже джуну не под силу.

    Следовательно, джуниор-девопс звучит странно.

    А значит - нужно начинать с админа, набираться опыта, потом уже подучить ci/cd инструменты и уже потом смотреть в девопс.
    Также в девопс можно прийти из разработчиков или тестировщиков (если занимался автоматизацией и настройкой тестовых окружений).
    Но в любом случае стадию джуниор нужно пройти до того, как начинаешь думать про ДевОпса.
    Ответ написан
    Комментировать
  • Что нужно знать для начала работы devops?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Все же пишут в вакансиях.
    В своем большинстве ковырять надо *nix
    Сейчас в девопсах очень востребованы контейнеры, как локально так и в облаке.
    Понимать SDLC и release management
    Ответ написан
    Комментировать
  • Как открыть публичный доступ к git-репозиторию в частной локальной сети?

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    Не очень понятно в чем собственно проблема.
    Повесить на компе в локальной сети git pull по расписанию не выходит, или что конкретно вы хотите сделать?
    Ответ написан
    2 комментария
  • Путь развития системного администратора?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    Системный администратор развивается в системного администратора рангом повыше.
    Админил контору из 5 компов, потом админишь контору из 100+ компов, потом уже главный корпоративный сисадмин в конторе из 1000+ компов с разными офисами, сложной инфраструктурой и так далее.

    А девопс или сетевой админ - это паралельные отрасли, а не эволюционный путь наверх.
    Ответ написан
    4 комментария
  • Доска с версиями сервисов?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Можно написать такое на коленке скрипт, который периодически бегает по энвайрнментам, собирает версии и выводит в удобном виде.
    Без сильного заморачивания, я бы добавил в каждое приложение ендпоинт, который возвращает версию, и просто собирал бы это каким-нить js или даже shell скриптом.
    Пушить изменения в JIRA уже можно собрав инфу.

    Ну а в богатых конторах, для деплоя используются тулзы, которые могут показывать что где. Какой-нить IBM uDeploy (хотя это не лучший вариант).
    Ответ написан
  • Что должен знать от DevOps средний веб-программист при устройстве на работу?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    маст хев:

    Понимание принципа работы ssh ключей, чтобы уметь настроить себе доступ на линукс машину или в гит (bitbucket/github/etc)

    Базовое понимание git и то, что висит поверх него (github, bitbucket, etc) чтобы не путаться в пулл реквестах, понимать зачем они и как организована у вас работа - неймконвенш для веток, как ревью делается

    Если пишете под докер, то Dockerfile - это в основном ответственность разработчика. Где его запускать - уже второй вопрос.

    Вы должны уметь ваше приложение развернуть на локальной машине, и понимать как его развернуть на другой машине.
    Jenkins\Teamcity - это тулзы, где девопс старается автоматизировать то, что вы разворачиваете на локальной машине. Вы его консультируете где и откуда вы читаете конфиги, возможно у девопсов есть какие-то централизированные способы для этого. Но Jenkins\Teamcity вам нужны на уровне продвинутого юзера. Можно на месте попросить девопса вам показать базу.

    Вообще, вы должны хорошо понимать весь стек, чтобы с нуля поставить и настроить машину, где работает ваше приложение. Требования к вашему приложению вы должны знать лучше, чем девопс - потому что именно вы пишете приложение. Вы знаете его примерный performance, его требования к памяти, его бутылочные горлышки.

    Задача девопса - это скейл и автоматизация. Девопса потому и стали выделять в отдельную должность, что появилось много приложений, которые нужно развернуть не на дев машине и напродакшене, а на нескольких тест окружениях, на нескольких регрешн, на нескольких продакшн (отказоустойчивость и так далее), и накопилось работы на приличное количество человекочасов. Но это не значит, что девопс вообще должен разбираться в вашем приложении и тем более бизнес-логике лучше, чем разработчик.
    Ответ написан
    Комментировать
  • Какие DevOps практики(инструменты) используете для разворачивания инфраструктуры?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    Пример: у меня есть плейбук ansible который разворачивает гитрепозитарий на групе серверов, но я примерно понимаю, что скорее всего, у "больших дядек" это делается не через плейбук, а через jenkins + docker + webhook, но на практике взглянуть на такое я не могу :)


    У больших дяденек это и руками может делаться. Нет одного лучшего способа, есть определенные правила игры (бюджет, количество серверов, количество компонентов и стек) - и выбираете себе удобные инструменты.
    Тоже использование докера - не всегда оправдано.

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

    Старайтесь не оптимизировать что-либо, а решать конкретные проблемы, типа "вот тут я трачу еженедельно xx часов на рутину. Имеет ли смысл потратить неделю на оптимизацию и сэкономить потом на этом, или рутина связана с процессами, неподдающимися автоматизации (например из-за бюрократии).
    Ответ написан
    1 комментарий
  • Запуск сервисов в docker container?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    IMHO формат CMD не такой, как у RUN, добавить в него две команды проблематично.

    Лучше добавьте в контейнер шелл скрипт, который будет выполнять запуск fpm и nginx, а в CMD пропишите:

    CMD [ "/etc/init.d/myscript" , "start"]
    Ответ написан
    Комментировать
  • CI/CD для QA инженера?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    1. Понимать что такое SDLC, знать терминологию, которая сейчас используется при наличии CI/CD в проекте.
    2. Для QA это не практическое задание, а понимание что это такое CI/CD с точки зрения организации работы.
    Ответ написан
    Комментировать
  • Счего начать изучение DevOps?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    1. для начала git плюс какая-нибудь система управления (подойдет знакомство с github)

    2. Во-вторых CI Инструмент - Jenkins или Teamcity.
    Попробуйте для начала установить локальный дженкинс, и какие-нибудь задачи перенести из cron в Jenkins, посмотреть как это работает

    3. Виртуальные машины не должны быть проблемой, vmware и virtualbox сейчас потихоньку замещаются облаками и контейнерами. То есть было бы неплохо иметь базовое представление о том, как работать с docker, aws, kubernetes. Этого будет достаточно, чтобы прийти помощником девопса.

    4. Деплой это вопрос отдельный, зависит от проекта. Их множество.

    5. Неплохо бы знать что примерно делает maven - это поможет в java проектах.
    Ответ написан
  • Какие навыки нужны для DevOps-инженера?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Должность junior devops как бы звучит странно, ибо девопс инженер это интегратор различных решений, для чего нужен хороший опыт. Имено поэтому, девопс это обычно это или переучившийся админ или переучившийся программист.

    Линукс знать обязательно, хотя бы на уровне простого траблшутинга. Скриптовые языки знать обязательно (bash плюс питон/перл). Базы данных минимально знать обязательно. Желательно на уровне установки и работы с бэкапами.

    Попробуйте для начала освоить навыки администрирования Линукс/windows.

    P.S. А вообще слово девопс в качестве профессии мне не нравится. Devops это название практики, а профессия - configuration engineer..
    Ответ написан
    Комментировать