Kirill
а сорян
Kirill
644, когда я только на папку навесил
Victor
но я хз, это могут быть разные места
Sergey
вот так делаю) - chmod -R 0700 ~/.ssh - echo "$SSH_PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa
Ну ты сам всё же видишь, странное на входе -> странное на выходе. На файл нужно 0600 или 0400. Не 600, а 0600.
Victor
644, когда я только на папку навесил
давай заново весь процесс, как запускаешь анзибл и как монтируешь ключи из того что тебе раннер сделал в контейнер с анзиблом
Victor
Victor
Но можно попросить пояснений?
Sergey
Доку читать здесь: https://docs.ansible.com/ansible/latest/modules/file_module.html#parameters
Sergey
если модулем file делается, то парсер YaML должен найти восьмеричное число
Victor
вроде бы
Sergey
я убежал стыдиться своей невнимательности
Victor
Так у него bash
в том плане что ставит права он через баш, а в баше этой лабуды с окто-числами нет, но я тоже могу чего-то не знать
Victor
Олсо, я натыкался в анзибле на эту штуку (доку не читал, сразу выставлял) и там права вообще получаются на 644 и 755 совсем не похожие
Anonymous
https://github.com/ansible/ansible/issues/34281 Есть какой-то способ условно выполнить плейбук? Что-то ничего толкового в обсуждении по ссылке
Я нашел способ (точнее, я нашел способ в мидиуме Шуклина, похоже, кроме Шуклина энсиблом не занимается вообще никто!) https://github.com/alexclear/k8s-prometheus-grafana-lab/blob/master/ansible/site.yml#L1-L18 Вот только это не работает нормально для сложных плейбуков, потому что импорт просто подставляет плеи в исходник перед выполнением и приписывает условие к каждому таску - это ломает таски, в которых проверяются переменные, которые ставили бы предыдущие скипнутые таски. В стоник такой проблемы нет.
Anonymous
"Заниматься" и "делать странное" - это разные вещи. Ну и найти неработающий способ - это, конечно, успех.
Стокгольмский синдром Чего тут "странного"-то? Я же нормально описал задачу в самом первом сообщении, чего в ней странного?
Victor
Что?
делаешь регистер в kube1, пытаешься открыть его в localhost. Другими словами записываешь в hostvars['kube1'].kubectl_result, пытаешься его открыть через hostvars['localhost'].kubectl_result Ну или я сделал очень сильное предположение насчет проблемы
Alexander
Работал. Работает. По доке. 2.7.5
А погрузить в него плэйбук в ямле без PlaybookExecutor выйдет?
Sergey
Стокгольмский синдром Чего тут "странного"-то? Я же нормально описал задачу в самом первом сообщении, чего в ней странного?
Странное - не читать правила. "Я не хочу" - это, прямо сказать, никому не интересно. Почему я так говорю? Да потому что это - чат по инструменту, и есть определённые способы его использования, которые заложены через архитектуру самого инструмента. А ещё есть странное ("не хочу", "у нас так нельзя", "условия", "лигаси" - вот это вот всё). Дело в том, что обычно никому не интересно вникать в личные способы приседаний с отягощениями, потому что это - некомерческая группа взаимопомощи и взаимообучения, только и всего. Это не коробка с магией, которая за бесплатно и быстро делает задания для собеседования/рабочие задачи/whatever.
Kirill
Ну ты сам всё же видишь, странное на входе -> странное на выходе. На файл нужно 0600 или 0400. Не 600, а 0600.
в итоге всё равно не помогло) вот скрипт из ci - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - eval $(ssh-agent -s) # run ssh-agent - mkdir -p /root/.ssh - chmod -R 0700 /root/.ssh - echo "$SSH_PRIVATE_KEY" | tr -d '\r' > /root/.ssh/id_rsa - chmod 0600 /root/.ssh/id_rsa - eval "$(ssh-agent -s)" - ssh-add - <<< "${SSH_PRIVATE_KEY}" - ssh-keyscan -H "$SSH_HOST" >> /root/.ssh/known_hosts - ssh-keyscan "$SSH_HOST" | sort -u - /root/.ssh/known_hosts -o /root/.ssh/known_hosts - '[[ -f /.dockerinit ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > /root/.ssh/config'
Sergey
А погрузить в него плэйбук в ямле без PlaybookExecutor выйдет?
play_source = dict( name = "Ansible Play", hosts = 'all', gather_facts = 'yes', tasks = [] # <---- грузим из YaML сюда ) play = Play().load(play_source, variable_manager=variable_manager, loader=loader)
Anonymous
Странное - не читать правила. "Я не хочу" - это, прямо сказать, никому не интересно. Почему я так говорю? Да потому что это - чат по инструменту, и есть определённые способы его использования, которые заложены через архитектуру самого инструмента. А ещё есть странное ("не хочу", "у нас так нельзя", "условия", "лигаси" - вот это вот всё). Дело в том, что обычно никому не интересно вникать в личные способы приседаний с отягощениями, потому что это - некомерческая группа взаимопомощи и взаимообучения, только и всего. Это не коробка с магией, которая за бесплатно и быстро делает задания для собеседования/рабочие задачи/whatever.
Вообще не понял, при чем здесь правила? Задача существует объективно вне зависимости от наличия группы и ее правил, и мне, честно говоря, вообще все равно, случится со мной взаимопомощь или взаимообучение, или нет - я просто обратил внимание присутствующих на то, что в текущей версии энсибла эта задача не решается нормально, в принципе Странное здесь только то, что группа товарищей решила, что она это и есть Центральный Комитет Ну, окей
Alexander
Ок, завтра попробую вернуться на ветку, где пытаюсь внедрить
Anonymous
Ни-ни, я могу хоть сутки помолчать, хоть неделю и вообще сидеть на попе ровно - мне взаправду ровно. А вот что "сломано", "не решается", "не рабоатет" - хм, так это ж open source!
Знаем мы этот опенсорс, под Центральным Комитетом я имел в виду группу разработчиков энсибл, ну его нафиг Всегда же можно написать башскрипт (и выкинуть энсибл вообще, спойлер: код будет короче раза в четыре) Что вот будет страннее - убедить разработчиков энсибл, что это была не странная задача, сделать свой параллельный форк энсибла на питоне (на питоне, Карл!), который эту задачу решает, сделать свой энсибл на гоулэнг, совместимый с питоновским, сделать свой энсибл на гоулэнг, несовместимый с питоновским, просто обернуть вызов плейбуков в башскрипт Я выбираю башскрипт Мне странно то, что задачу условного включения нескольких плеев в плейбук целиком на этапе выполнения, а не разбора, другие считают странной - честно говоря, я не ожидал, чего уж тут странного-то? Интерпретируемый язык обычно позволяет взять код в произвольном месте и его выполнить
simplemice.eth
что то флуда я смотрю много
Timur
Знаем мы этот опенсорс, под Центральным Комитетом я имел в виду группу разработчиков энсибл, ну его нафиг Всегда же можно написать башскрипт (и выкинуть энсибл вообще, спойлер: код будет короче раза в четыре) Что вот будет страннее - убедить разработчиков энсибл, что это была не странная задача, сделать свой параллельный форк энсибла на питоне (на питоне, Карл!), который эту задачу решает, сделать свой энсибл на гоулэнг, совместимый с питоновским, сделать свой энсибл на гоулэнг, несовместимый с питоновским, просто обернуть вызов плейбуков в башскрипт Я выбираю башскрипт Мне странно то, что задачу условного включения нескольких плеев в плейбук целиком на этапе выполнения, а не разбора, другие считают странной - честно говоря, я не ожидал, чего уж тут странного-то? Интерпретируемый язык обычно позволяет взять код в произвольном месте и его выполнить
Ты удивишься, но ансибл - это не язык программирования
Timur
И да - про код на баше короче в 4 раза - это отдельная хохма
Timur
Бросайте ансибл и пишите на баше тогда, зачем себя мучить 😁
Anonymous
Ты удивишься, но ансибл - это не язык программирования
Конечно, энсибл это его интерпретатор
Anonymous
А язык - это DSL на YAML
Victor
Ммм ,программирование на жинже
UglyKoyote
yaml программист
Denis🇨🇭🚜 🕌
hehe https://dgarros.github.io/netdevops-survey/graphs/png/netdevops_survey_software-validation_compare.png
Maxim
то есть щеф/паппет изучать бессмысленно, ок
Andor
то есть щеф/паппет изучать бессмысленно, ок
надо не забывать что опрашивались некие NetDevOps, а значит проценты скорее всего близки к абсолютным значениям
Maxim
я уже давненько не видел в вакансиях требования щеф/паппет
Maxim
(впрочем, у меня и профиль немножко другой)
Maxim
Можно закапывать?
не исключено: я не иксперд
Sergey
Можно закапывать?
В некоторых кровавых штатовских ынтырпрайзах ещё в 2015 году знания паппета были нужны только для порта лигаси на ансибл.
#Rλatan
Знаем мы этот опенсорс, под Центральным Комитетом я имел в виду группу разработчиков энсибл, ну его нафиг Всегда же можно написать башскрипт (и выкинуть энсибл вообще, спойлер: код будет короче раза в четыре) Что вот будет страннее - убедить разработчиков энсибл, что это была не странная задача, сделать свой параллельный форк энсибла на питоне (на питоне, Карл!), который эту задачу решает, сделать свой энсибл на гоулэнг, совместимый с питоновским, сделать свой энсибл на гоулэнг, несовместимый с питоновским, просто обернуть вызов плейбуков в башскрипт Я выбираю башскрипт Мне странно то, что задачу условного включения нескольких плеев в плейбук целиком на этапе выполнения, а не разбора, другие считают странной - честно говоря, я не ожидал, чего уж тут странного-то? Интерпретируемый язык обычно позволяет взять код в произвольном месте и его выполнить
Наслаждайтесь 😊https://ru.stackoverflow.com/a/1074130/193962
Alexander
Чтобы взять под контроль машину на ансибле обязательно иметь root доступ по ssh? Он же не включен по умолчанию, включать его руками? Как правильно производить ввод машины под управление?
Salem
пользуй sudo
Salem
и become
Alexander
А как создать пользователя с правами судо
Alexander
Он уже должен быть в системе?
Driver
Добавить юзера в sudoers
Driver
Или ничего системного ансиблом не делать
Alexander
Т.е. перед вводом в управление, надо чтоб там был ансибле пользователь с правом судо, добавленный ручками на самом хосте
Driver
Да
Salem
сбилди образ какой тебе надо и ходи на него как хочешь
Driver
йеп. подготовленный образ если своя инфра, а в облака при инициализации виртуалки все равно ключ передаешь и дефолтный юзер уже в судо
Salem
угу
Alexander
Вы используете фореман в связке с ансибл?
Nikita
Всем привет. Написали плагин для подключения через knocking ports по ssh, куда его положить, не используя глобальную конфигурацию(директории), т.е. положить рядом с плейбуком?
Sergey
https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#alternative-directory-layout
Sergey
только не filter_plugins, а connection_plugins
Hello
Всем привет, подскажите, пожалуйста, как сделать динамический инвентори: нужно подключиться ко всем хостам 10.0.1.1-10.0.1.254
Hello
так в итоге динамический или просто мешок айпишников?
в итоге получается два мешка, еще 10.0.0.10-10.0.0.255
Sergey
да хоть два
Sergey
доку же смотрел, да ведь?
Sergey
Во, точно же помнил, что было: https://docs.ansible.com/ansible/latest/plugins/inventory/advanced_host_list.html