LINUX.ORG.RU

69
Всего сообщений: 282

DevOps инженер (AWS, remote, 250к-350к net)

Всем привет!

Ищу для Vivid Money DevOps инженера:)

Чем заниматься:

-Создание и поддержание отказоустойчивой, масштабируемой инфраструктуры;

-Разработка и реализация проектов по модернизации инфраструктуры;

-Развитие инструментов непрерывной доставки;

-Развитие и автоматизация инфраструктурных сервисов;

-Обеспечение бесперебойной работы продуктовой среды;

-Внедрение подходов Infrastructure-as-a-Code.

Мы ожидаем от тебя:

-Опыт администрирования Linux;

-Опыт работы с AWS(или другими облачными сервисами);

-Знание сетевого стека;

-Опыт работы с Docker, Ansible, GIT, Terraform; -Опыт администрирования CI/CD платформ;

-Опыт работы с очередями: Kafka, Rabbit MQ;

-Опыт работы с балансировщиками: Nginx, HAProxy;

-Опыт использования мониторинг систем: Prometheus, Zabbix, Grafana;

-Опыт использования систем логирования: ELK-стек, Graylog, Splunk;

-Понимание основных принципов построения распределенных систем;

-Понимание принципа Infrastructure as code.

Будет плюсом:

-Опыт администрирования мониторинг систем: Prometheus, Zabbix, Grafana;

-Опыт работы с системами оркестрации Docker-контейнеров: Kubernetes;

-Опыт администрирования Java-окружений;

-Опыт работы с очередями: Kafka, Rabbit MQ Опыт работы с базами данных: PostgreSQL, MongoDB, Mysql, Cassandra.

Мы предлагаем:

-Конкурентоспособную зарплату(вилка 250к-300к на руки, но вообще с рок-звездой договоримся), все сотрудники подключаются к программе долгосрочной мотивации;

-Возможность работать удаленно;

-Компенсацию питания в офисе;

-ДМС с первого рабочего дня;

-Частичную компенсацию спорта и английского языка;

-Индивидуальные бюджеты на обучение.

Для связи: telegramm @Dante2707

 , , , ,

Kenjuy ()

ansible: нужен модуль, который не делает ничего

Доброго времени суток

Сабж. Единственная цель - пнуть handler через notify, если файла нет. Т.е. нужен тупой переходник между «when» и «notify» без каких-либо действий в самом task

Хочется в роли сделать что-то вроде

tasks/main.yml:

- name: "check file exists"
  ansible.builtin.stat:
    path: "/path/blahblah"
  register: "blahblah"

- name: "kick myhandler"
  dummy: "do nothing but kick handler"
  when:
    - blahblah.stat.exists
  changed_when: true
  notify: myhandler

Да, можно было бы перенести код из handler’а в task и обойтись без переходника, но он должен вызываться по нескольким разным событиям, и логичнее всё же оставить его handler’ом

 

router ()

Срочно необходим DevOps (Москва, офис)

АО «Данные - центр обработки и автоматизации» В организацию стекается вся информация со всех узлов связи (хранилище в 5 Пбайт). Из центра осуществляют мониторинг того, что происходит на узлах, в каком режиме работают и т.п.

Москва. Офис. Вилка для mid/sen 230…410 тыщ gross

Основной стек: ОС - linux (преимущественно centos, возможно будут и другие rhel-based дистрибутивы), немного win server (завязаны на некоторых решениях) CM - ansible, awx (в дальнейшем возможно появление satellite/theforeman с puppet) CI/CD и около него - GitLab Kubernetes, деплоим helm PostgreSQL MongoDB, Clickhouse, Zookeeper NATS Zabbix, Prometheus, Grafana ELK Среда stage => prod, идём к multi-stage.

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

Пишите: elespro@yandex.ru Можно в TG: @hr_arteles

 , , , ,

Arteles ()

Вакансия инженера техподдержки. Москва Офис

В компанию SharxDC ищем инженера техподдержки. Работа офисная в Москве (в дальнейшем возможен гибрид) 100-130 тыс.руб.

По требованиям: Опыт с Linux - RHEL/CentOS Желателен опыт работы с Ansible Опыт по системам Git/SVN, работа с Docker/Podman, работа с платформами виртуализации, опыт работы с БД - это все будет плюсом. Навыки работы с серверным, сетевым оборудованием и хранилищами данных. Написания скриптов автоматизации (Bash и/или Python).

По всем вопросам можно elespro@yandex.ru или в TG: @hr_arteles

 , ,

Arteles ()

terraform output

Всех приветствую!

Подскажите, пожалуйста, хочу из terraform вывести output ip-адрес в файл, чтобы было возможность через ansible запускать команды

Пример:

for num in 1
do
    printf «worker-$num ansible_host=»
    terraform output -json workers_public_ip | jq -j ".[$num-1]"
    printf " ip="
    terraform output -json workers_public_ip | jq -j ".[$num-1]"
    printf «\n»
done

 , , ,

troy856 ()

Ansible установка всех пакетов (deb) из директории, не с помощью dpkg -i *.deb

Не могу найти решение может кто подскажет?

 , ,

Ramzes_116 ()

Ansible порядок применения пременных из конфигов

Добрый день!

В ansible я профан, но нужно понять принцип применения файлов с переменными. Вот есть у нас файл hosts.yml, есть поддиректории ./group_vars ./host_vars, есть файл с ролями и в роли определено include_vars: {{ env }}_vars.yml

Вопрос - верно ли я думаю что сначала применяется конфиг из ./group_vars затем конфиг из {{ env }}_vars.yml и затем из ./host_vars ? Или какой там порядок то?

 ,

matroskin ()

Ansible EC2

Всем привет! Есть вопрос, делаю задачку, поднимая инфраструктуру на aws с помощью ansible.

Два инстанса в приватном сабнете:

  - name: deploy a ubuntu 20.04 in private subnet
    ec2:
      key_name: "{{ my_useast1_key }}"
      instance_type: t2.micro
      image: ami-09e67e426f25ce0d7
      group_id: "{{ sg_ansibleVPC_privatesubnet_servers.group_id }}"
      vpc_subnet_id: "{{ private_subnet.subnet.id }}"
      assign_public_ip: no
      region: "{{ vpc_region }}"
      instance_tags:
        Name: ubuntu
      count_tag:
        Name: ubuntu
      exact_count: 2
    register: ubuntu

От сам вопрос, как передать переменные двох инстансов в следующую таргет групу, где targets id:

  - name: create target group
    elb_target_group:
            name: targetgroup-alb
            state: present
            protocol: http
            port: 80
            vpc_id: "{{ ansibleVPC.vpc.id }}"
            health_check_protocol: http
            health_check_path: /
            successful_response_codes: "200,250-260"
            targets:
               - Id: i-046704235dacfed96
                 Port: 8080
               - Id: i-0f445dc81aa392bfc
                 Port: 8080
            wait_timeout: 200
    register: app_tg

ID-шники подставил уже после деплоя, но как сразу передать в качестве переменной один инстанс и второй. Спасибо за подсказки!

 ,

bamik ()

DevOps очень НННННААААДДДААА!

Всем привет!

Ищу для Vivid Money DevOps инженера:)

Чем заниматься:

-Создание и поддержание отказоустойчивой, масштабируемой инфраструктуры; -Разработка и реализация проектов по модернизации инфраструктуры; -Развитие инструментов непрерывной доставки; -Развитие и автоматизация инфраструктурных сервисов; -Обеспечение бесперебойной работы продуктовой среды; -Внедрение подходов Infrastructure-as-a-Code.

Мы ожидаем от тебя:

-Опыт администрирования Linux (включая знание скриптовых языков bash, shell); -Опыт работы с AWS(или другими облачными сервисами); -Знание сетевого стека; -Опыт работы с Docker, Ansible, GIT, Terraform; -Опыт администрирования CI/CD платформ; -Опыт работы с очередями: Kafka, Rabbit MQ; -Опыт работы с балансировщиками: Nginx, HAProxy; -Опыт использования мониторинг систем: Prometheus, Zabbix, Grafana; -Опыт использования систем логирования: ELK-стек, Graylog, Splunk; -Понимание основных принципов построения распределенных систем; -Понимание принципа Infrastructure as code.

Будет плюсом:

-Опыт администрирования мониторинг систем: Prometheus, Zabbix, Grafana; -Опыт работы с системами оркестрации Docker-контейнеров: Kubernetes; -Опыт администрирования Java-окружений; -Опыт работы с очередями: Kafka, Rabbit MQ Опыт работы с базами данных: PostgreSQL, MongoDB, Mysql, Cassandra.

Мы предлагаем:

-Конкурентоспособную зарплату(вилка 200к-300к на руки, но вообще с рок-звездой договоримся), все сотрудники подключаются к программе долгосрочной мотивации; -Возможность работать удаленно; -Компенсацию питания в офисе; -ДМС с первого рабочего дня; -Частичную компенсацию спорта и английского языка; -Индивидуальные бюджеты на обучение.

Для связи @Dante2707

 , , , ,

Kenjuy ()

Инженер Linux (удаленно)

Unlimited eXpress

Нас уже более 100 человек в России и за её пределами, а к концу 2021 должно стать уже 200.

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

Что мы делаем:

Платформу, которая закроет 95% операционных потребностей сотрудников крупных, средних и небольших компаний.

Мы разрабатываем удобное закрытое пространство для общения, звонков и сотрудничества, где любая информация остается только на корпоративном сервере. В отличие от других аналогов, таких как Teams, Slack или Telegram, мы создали уникальную технологию для взаимодействия с корпоративными серверами компаний-партнёров, которая позволяет общаться через мессенджер, находясь на разных серверах, и делать уникальные сквозные интеграции.

Мы работаем над тем, чтобы наши клиенты чатились, созванивались и работали в eXpress, а не думали, какое приложение им установить на этот раз.

Сейчас ищем к себе в команду Инженера внедрения/Инженера Linux, который готов работать с широким спектром технологий, готов расти(внутри группы внедрения в Архитектора или в направлении Devops) и развиваться вместе с командой.

Задачи:

  • Развертывание программного обеспечения Express у заказчиков(пилотные внедрения, продуктивные отказоустойчивые решения);
  • Развертывание сопутствующего программного обеспечения для резервного копирования и мониторинга;
  • Разработка и адаптация документации;
  • Консультация и поддержка технических специалистов заказчиков по программному обеспечению;
  • Предстоит работать со стеком:

Разные дистрибутивы Linux, c docker и docker-compose, postgresql, nfs-server, ntpd, chronyd, iptables, ansible, nginx, haproxy, keep-alived, corosync, pacemaker, kafka, zookeeper, coturn, redis, Prometheus, Grafana, zabbix.

Наши ожидания от кандидата:

  • Опыт в качестве инженера Linux от 2-х лет;
  • Опыт работы Docker и Ansible;
  • Знание сетевых технологий, архитектур и протоколов;
  • Начальные знания протокола SIP;
  • Знание LDAP серверов каталогов: Microsoft Active Directory, Openldap;
  • Опыт работы с VMWare (ESX-ESXi), или Microsoft Hyper-V;
  • Будет плюсом опыт настройки iptables;
  • Желание развиваться и пробовать новые технологии;
  • Опыт подготовки проектной документации;

Что готовы тебе предложить: масштабный проект: возможность заниматься широким кругом задач.

сложные и интересные задачи: Мы постоянно развиваемся и стараемся делать наши процессы наиболее эффективными;

условия работы: полная удалёнка или работа в офисе(шаговая доступность от м. Новослободская); график работы 5/2; оформление по ТК РФ; полностью белая конкурентная заработная плата; обучение: наставничество, внутреннее обучение в команде или внешние конференции, курсы;

здоровье: после прохождения испытательного срока - доступ к программе ДМС.

 , , ,

Vladislav_Linux ()

ansible вытащить переменную из hosts

В hosts есть группа

[masters]
srv-02 ansible_host=1.2.3.4 ansible_port=2222 master=true adv_addr=1.2.3.4:2377

мне в роли swarm, при добавлении новой ноды, надо как-то извлечь переменную ansible_host или adv_addr из hosts и добавить ее в remote_addrs

- name: "Add manager nodes"
  community.docker.docker_swarm:
    state: join
    join_token: "{{ docker_swarm_manager_token }}"
    remote_addrs: [ '`group.masters.ansible_host`:2377' ]

подскажите, как это можно сделать?

 , , ,

Garcia ()

Системный администратор / DevOps. Удаленно.

Всем привет! Меня зовут Василий, я технический директор в Смартекс — https://www.smartex-it.com

Ищем коллегу в отдел инфраструктуры: Kubernetes, Ansible, CI/CD пайплайны.

Компания

Занимаемся разработкой на заказ — веб-приложения, мобильные приложения, нагруженные сервисы. Беремся за нетиповые и сложные проекты: очередной лэндинг или интернет-магазин на Битриксе — вряд ли. Перевод сложного бизнес-процесса в цифровой вид, разработка приложения с нестандартным функционалом, планирование отказоустойчивой архитектуры для highload-сервиса — да, несите такого побольше!

Так как ваш покорный слуга сам в свое время админил и автоматизировал, то с самого начала в компании формировалось особое отношение к инфраструктуре: использование open-source ПО и инструментов, автоматизация вместо ручного труда, внимание к культуре и этике.

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

Задачи

  • Запуск новых тестовых и продуктивных окружений в рамках проектов по разработке и поддержке инфраструктуры
  • Участие в планировании архитектуры и выборе технических решений
  • Конфигурация CI/CD пайплайнов, автоматизация типовых процедур
  • Работа по инцидентам, их траблшутинг и разрешение
  • Взаимодействие с командой разработки, сопровождение релизов
  • Документирование своей работы, включая Documentation as Code

Ожидания

  • «Хозяйский» подход к инфраструктуре, желание и умение наводить порядок вопреки хаосу внешнего мира
  • Прочный опыт и твердые навыки администрирования *nix, желательно опыт администрирования веб-приложений (Python, Node, PHP, Java)
  • Умение автоматизировать свои действия при помощи любой SCM (Chef, Ansible, Puppet…) или скриптовых языков
  • Практический опыт работы с Docker, в идеале — с Kubernetes
  • Хорошее понимание устройства ЭВМ, *nix-систем и сетей
  • Технический английский на уровне чтения документации

Технологии

  • Контейнеры: Kubernetes, Helm, AWS EKS
  • Автоматизация: Ansible, Python, AWS CloudFormation, Shell
  • Хостинг: AWS, Yandex.Cloud
  • ОС: CentOS, Ubuntu
  • Мониторинг / логи: ELK, Prometheus, AWS CloudWatch, New Relic, Zabbix
  • CI/CD: TeamCity, ArgoCD, AWS CodeBuild / CodePipeline
  • VCS: Bitbucket
  • Совместная работа: JIRA, Slack, Confluence

Условия

  • По зарплате хотелось бы попасть в бюджет 140-180 gross, но возможен диалог в зависимости от опыта и навыков
  • Полностью удаленная работа. Гибкий рабочий график. Тем не менее, есть и офис в Москва-Сити, если есть желание побыть в компании!
  • Команда, ориентированная на современные подходы и практики работы
  • Оформление «вбелую» по ТК, работаем с ИП, самозанятыми / ГПХ

Как откликнуться

Присылайте резюме на почту v.kolosov@smartex-it.com с пометкой «Системный инженер» в теме. Папку со спамом проверяю, но на всякий случай в CC стоит добавить info@smartex-it.com.

 , ,

four-two-two ()

Как хранить код Ansible в git, при двух environment

Всем привет.

Ситуация такая, есть git репа, в ней плейбуки\роли Ansible. Код обкатывается на staging серверах, потом мержится в production. Соответственно в git две ветки.

Когда я делаю мерж, то разница между ветками исчезает, но она должна быть, ведь набор серверов в inventory hosts - должен быть разный для разных веток. Выходит, один файлик все равно должен будет отличаться между ветками?

Придумал костыль, чтоб Ansible брал inventory hosts, смотря на имя текущей ветки git. Тогда их можно спокойно мержить.

Как сделать по красоте?

 ,

Bers666 ()

Решение для автоконфигурации в крупной организации

Всем добра. Попробую бегло описать ситуацию - есть гос.организация (университет), есть переход на отечественное ПО (Астра), есть 800 машин (с ужасным железом зачастую) на несколько учебных корпусов которые надо перевести. И я, как увы единственный кроме сетевика и начальника отдела сотрудник соображающий хоть что-то в линухе, и кому досталось счастье «сварить» инструменты по внедрению.

С самой установкой справился, поднял PXE и полную автоустановку системы с разметкой и предварительным бекапом данных дабы коллеги не имели шанса ничего сломать. Теперь следующая задача - раскатать после установки набор определенных пакетов (немного, в основном задачи покрывают то что имеет Астра «out of box») и конфигураций к службам (таких как VNC и SSH с ограничениями по авторизации, чтобы можно было чинить что-то удаленно, до этого бегали днями напролет на каждый чих), источники пакетов (поднял локальные репо Astra/Debian Stretch). Сначала была написан жирнючий sh скрипт в post-install, но по итогу пришло осознание что выход не лучший, ведь что-то в конфигурациях может измениться, также как и есть места где могут понадобиться определенные пакеты для работа с мультимедиа, запись лекций для дистанта, зум и тд. В основном достаточно типовые кейсы для юзверя, к разработке ПО никак не относящиеся. Начальник предложил рыть в сторону Puppet/Ansible, за пару вечеров разобрался что это вообще такое и с чем едят, но есть сомнения в правильности такого подхода.

Даже выбирая между Puppet и Ansible учитывая дикую привлекательность второго, смущает то что push модель Ansible означает что около 800 хостов будут траиться по SSH постоянно, когда оффлайн будет минимум треть из них в любой момент времени, это все же рабочие машинки а не сервера, есть опасение что изменения в конфигурации будут применяться вечность учитывая таймауты подключения. Тот же Puppet синхронизируется с сервером только когда машинка включена, pull модель. При этом Puppet с другой стороны куда более геморен, а времени разбираться мало, через месяц начинаем внедрение. Плюс нужен гуй, опять же коллегам не обьяснить что такое работа в CLI. Для Ansible рассматривал Rundeck/AWX (знаю что это Rundeck это пошире Ansible, но задачи схожие), для Puppet - puppetboard. Вопрос в том, что для такого случая подходит больше? Может, мы дружно мыслим неправильно и зря копаем в сторону таких решений, возможно это слишком избыточно?

Пока минимальная конфигурация - определенные пакеты, ввод в домен AD с помощью Самбы (к успеху с sssd не пришли), авторизация по SSH только с 3 машин (три сотрудника) при помощи ключей, то же и с VNC. Но как у нас водится, по хотелкам может измениться многое и в любой момент, как то перевести все на другой офисный пакет вместо Либры (ибо еще не закуплено), другой браузер, поставить везде какой-нибудь софт и тд; всё это общее для всех хостов. И какой бесплатный VNC или в принципе RD server можете посоветовать? Работа исключительно в локальной сети, с определенных клиентов, чем приятнее картинка и меньше задержек - тем лучше.

 , ,

Slbomber ()

Нужен ли мне ansible?

Научился я, значит, скрипты автовхода на свитчи по telnet писать на expect, а тут возникла другая задача - не просто входить на свитчи, а выполнять на них последовательность команд и парсить вывод, пытаюсь я написать код, а выходит какая-то фигня. А старший админ мне и говорит, что в 2021 году не нужно учить expect, а нужно учить ansible. И вот почитал я несколько статей по диагонали по ansible и вижу, что для доступа по telnet он будет использовать тот же expect. Так вот, нужна ли мне эта лишняя сущность?

 , ,

sunny1983 ()

Ansible установка

Ребят, необходимо установить Ansible на хосты linux, yum install не скачает, потому что выход в интернет ограничен на работе и есть только локальные репозитории, я думаю попросить доступ к серверу где репозитории, создать там свой, и туда напичкать .rpm, столкнулся с проблемой, что не могу найти rpm пакеты для ansible, есть у кого идеи?

 

papahappa ()

Ansible

Добрый день коллеги, поставили задачу развернуть Ansible на работе, 22 хоста, на которых крутится 350 виртуальных машина на vSphere. Никогда сам не развертывал подобные системы, может есть у кого примерный план? Типо 1) Установить на главный сервер. 2) и т.д

 , ,

papahappa ()

Senior/Middle SRE, Москва, FoodTech

«Онлайн-гипермаркет Vprok.ru Перекрёсток»— одна из самых перспективных и быстро развивающихся компаний на рынке фудтеха в России.

Проект растет, география и количество сервисов расширяются. Скоро мы станем маркетплейсом.
Сейчас усиливаем команду еще двумя SRE.

Задачи:
• Поддержка и развитие высоконагруженных систем интернет - магазина, мобильного приложения.
• Системы:Linux (Ubuntu), Kubernetes, VmWare.
• Автоматизация:Ansible, GitLab, Bash, иногда python.
• Сервисы: Nginx, php-fpm, RabbitMQ, redis, sphinx, Iptables, PostgreSQL, Elasticsearch.

Мы ожидаем:
• Понимание архитектуры и подсистем ядра Unix и их реализации в Linux;
• Владение командной оболочкой bash, написание скриптов;
• Опыт администрирования большого количества серверов, автоматизации рабочих процессов, знание Ansible;
• Работа с системами мониторинга, логирования и визуализации (Zabbix, Prometheus, Grafana);
• Понимание принципов кластеризации, высокой доступности, отказоустойчивости;
• Настройка систем контейнеризации и оркестрации Kubernetes;
• Знание и опыт администрирования продуктов VMware;
• Понимание важности документирования проделанной работы;
• Умение и желание решать технические проблемы;
• Способность к системному мышлению и перспективному планированию;
Стек продуктов: PHP, Golang

Мы предлагаем:
• Трудоустройство по ТК РФ в Компанию №1 на рынке FoodTech;
• Возможность работать в офисе или на удалёнке;
• Офис в центре Москвы в паре минут от метро «Добрынинская». Переговорные комнаты, светлый open space, зоны для отдыха, просторная кухня с напитками и печеньками;
• Белый доход, от 200 нетт – потолок зависит от скиллов;
• Уютная, сильная команда, адекватное руководство, мы открыты всему новому;
• Дополнительное образование, участие в митапах и хакатонах;
• ДМС со стоматологией, страхование жизни и здоровья, программа привилегий PrimeZone, скидки в сети Х5;

С удовольствием расскажу о задачах, команде, технологиях и печеньках.

Александр, Telegram: T_AAV

 , ,

AAV ()

Посоветуйте лучший темплейт

Коллеги , появилась возможность начать новый проект с чистого листа . Плиз , посоветуйте:

  • Шаблон ansible директорий (по типу https://github.com/express42/ansible-repertory ) с учетом вашего опыта ?
  • Возможно есть получше и почему чем в примере express42 ?
  • И если возможно best practice

 

pinachet ()

Ansible, после 2 запуской пользователь лочится

Всем привет.

Столкнулся с проблемой. Запускаю ansible-playbook, при первом-втором запуске все ок, выполняется. Запускаю 3-й раз, ловлю ошибку -

{"msg": "Incorrect sudo password"}

Полез на сервер, обнаружил что пользователь в заблокирован, после 5 попыток. В pam/system-auth указано,

auth        required      pam_faillock.so preauth silent deny=5 unlock_time=900
auth        required      pam_faillock.so authfail deny=5 unlock_time=900

Стало очевидно, по какой причине блокируется.

После разблокировки - faillock --user ansible_hostuser --reset, и плейбук выполняется успешно.

В логах обнаружил, что несколько раз переподнимается сессия. И после каждого каждого запуска плейбука, пишется ошибка в faillock.

Просьба подсказать, как можно обойти эту проблему? Пока что на ум приходить только 2 решения, изменить файл sudoers или увеличить количество в значении pam_faillock deny=5. Не уверен что оба варианта верные.

 ,

lckrspirit ()