ansible tutorial installation
Практически урок за Ansible с Ansible инсталация, използване и конфигуриране с Ansible модули:
Обсъдихме за AWS Elastic Beanstalk в предишния ни урок.
СПИСЪК от уроци в тази поредица Ansible:
Урок # 1: Отговорна инсталация и модули
Урок # 2: Ansible Playbooks и Vault
Урок № 3: Отговорни роли и интеграция с Дженкинс
Ansible е инструмент с отворен код, който помага за автоматизация на задачите, внедряване на приложения, предоставяне на облак и управление на конфигурацията.
Прочетете също => Списък с учебни помагала за обучение на DevOps
Така че говорим за ИТ оркестрация, при която задачите се изпълняват последователно в няколко различни машини или сървъри.
Ansible прави това, като се свързва с множество машини чрез SSH и изпълнява задачите, които са конфигурирани в книгите за игра и използва прост език, наречен YAML (Още един език за маркиране) .
Какво ще научите:
- Преглед на Ansible
- Ансибилен процес на инсталиране
- Отговорно използване
- Отговорни модули
- Обобщение
- Препоръчително четене
Преглед на Ansible
Най-важното е, че Ansible не използва агент за автоматизиране на задачи на различни машини.
Ansible гарантира поддържане на точни версии и актуална информация за софтуерните пакети.
Например , ако искате да инсталирате JDK 8 или Tomcat или друг софтуерен пакет в 10 или 20 различни машини, всъщност не е възможно да отидете до всички машини и да ги инсталирате, а да използвате Ansible за автоматизиране на инсталацията или дори разполагане на софтуер с помощта на Playbooks и Inventory написана на много прост език.
Така че Ansible е:
- Безплатен и с отворен код
- Поддържа се от Redhat
- По същество конфигурация на сървъра
- Управление на конфигурацията
В тази част от поредицата Ansible Tutorial ще обсъдим практическия подход по следните теми:
- Процес на инсталиране и конфигуриране
- Складова наличност
- Отговорни модули
- Ad-hoc команди,
- Автоматизация на задачите с помощта на книги за игри
- Отговорни роли
- Отговарящ трезор
- Ansible и AWS
Ансибилен процес на инсталиране
Ansible може да се инсталира и стартира от всяка машина.
Обикновено ще ви трябва Контролна машина за инсталация, която трябва да бъде Linux. Машината с Windows не поддържа да бъде машина за управление. Контролната машина ще управлява останалите отдалечени машини. Както бе споменато по-рано Ansible използва SSH за управление на отдалечени машини.
По време на този урок ще използвам екземпляри на AWS EC2, за да покажа примерите. Използвал съм 2 екземпляра (една контролна машина и друга като цел за автоматизиране на задачи) и Redhat Linux 7.5.
Независимо дали са локални или облачни екземпляри, ще трябва да отворите портовете по подходящ начин въз основа на автоматизираните задачи. Имам отворени следните портове като част от групата за сигурност за екземплярите EC2, за да демонстрирам примерите, споменати в урока.
най-добрите системни инструменти за Windows 10
В горния екран споменах отваряне на порт 8080, тъй като ще покажа за автоматизирането на автоматизацията за внедряване на софтуер с помощта на Tomcat, което ще бъде полезно от гледна точка на DevOps, особено по време на непрекъснатия процес на доставка.
Инсталиране на Ansible с помощта на YUM
Както бе споменато по-рано, ще използвам една контролна машина и една целева машина. За да започнете с инсталацията, изпълнете стъпките, както е показано по-долу и на двете машини.
да се) Създайте общ идентификатор на двете машини, за Пример , ансибъл с привилегии SUDO. Този идентификатор ще се използва за комуникация между всички машини, участващи за автоматизация на задачите.
# useradd ansible # passwd ansible
б) Редактирайте / etc / ssh / sshd_config файл на контролна машина и коментирайте редовете за PasswordAuthentication и PermitRootLogin
Изпълнете горните стъпки и на двете машини. След като приключите, рестартирайте sshd обслужване и на двете машини.
# systemctl restart sshd
° С) За пълна автоматизация на задачите ще ни трябва SSH удостоверяване без парола, иначе целият процес няма да се използва, ако трябва да въвеждате паролата всеки път.
Така че публикувайте промените, направени по-горе, ако изпълним командата ssh и ssh, ще трябва да въвеждаме паролата всеки път, което не е правилната процедура за изпълнение на Ansible задачи.
д) За да разрешите удостоверяване без парола, за да изпълните стъпките, показани по-долу. Първо добавете потребителя ансибъл към / etc / sudoers файл на двете машини, което ще позволи на потребителя ансибъл за да стартирате всяка команда, която изисква root права.
Запазете и излезте от файла след добавяне на потребителя.
е) Занапред ще използваме потребителя ансибъл за да извършите всички стъпки. Така че преминете към потребителя ансибъл.
Контролна машина достатъчна И Целева машина отговорен
Контролна машина ssh-keygen
Целева машина ssh-keygen
Копирайте ssh ключа на целевата машина и обратно.
Контролна машина ssh-copy-id
Целева машина ssh-copy-id
най-доброто mp3 изтегляне на музика за android
Вече можем да влезем без да въвеждаме паролата. След излизане от ssh свързаността и на двете машини и да влезете като потребител на Ansible.
Контролна машина: ssh ansible @
Целева машина: ssh ansible @
е) Инсталирайте wget, ако не е инсталиран на двете машини.
$ sudo yum install wget -y
ж) Вече можем да инсталираме ансибъл само на контролната машина чрез активиране на EPEL репо от Fedora, която предоставя допълнителни софтуерни пакети. Изпълнете следните стъпки, за да инсталирате АНСИБИЛЕН.
$ wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm $ sudo rpm -ivh epel-release-latest-7.noarch.rpm $ sudo yum install ansible -y $ ansible --version
Използваната версия на ansible е 2.5.3
з) Редактирайте ansible.cfg файл и активирайте параметъра на инвентарния файл на машината за управление.
$ sudo vi /etc/ansible/ansible.cfg
и) Ansible използва концепцията за инвентар за управление и проследяване на целевите машини. По подразбиране този файл се намира в / etc / ansible / hosts и може да бъде променен. Файлът хост се състои от групи за по-добра класификация и множество машини под групата. Всички необходими машини могат да бъдат добавени към тези групи.
Всяка група се обозначава с квадратна скоба и име на група вътре. Сървърът всъщност може да съществува в множество групи.
Редактирайте файла с инвентара / etc / ansible / hosts и добавете всички сървъри, които трябва да се управляват.
й) За да тествате свързаността на сървърите под групата на уеб сървъра, стартирайте анзибъл пинг команда, както е показано. Тук пинг е модул, който изпълнява определена функция, за да тества дали хостовете могат да бъдат свързани, както е дефинирано в инвентарния файл или не. Ще видим повече за различни модули и техните примери в следващия раздел.
$ ansible webservers –m ping
За да изброите хостовете във файла с инвентара, можете да изпълните командата по-долу
$ ansible webservers --list-hosts
Отговорно използване
Ansible се състои от 3 основни компонента
- Контролна машина
- Складова наличност
- Playbook
Контролната машина управлява изпълнението на Playbook. Може да се инсталира на вашия лаптоп или на всяка машина в интернет.
Файлът на инвентара предоставя пълен списък на всички целеви машини, на които се изпълняват различни модули, като направите ssh връзка и инсталирате необходимия софтуер.
Книгата за игри се състои от стъпки, които механизмът за управление ще изпълнява на сървърите, дефинирани във файла с инвентара.
Тук е много важно да се разбере, че Ansible взаимодейства с всички сървъри, дефинирани в инвентара, чрез SSH протокола, който е сигурен метод за отдалечено влизане. Всяка операция се извършва и трансферът на файлове се криптира.
Така че, както бихте забелязали в предишния раздел, Ansible не използва никакъв вид база данни за инсталиране и е много лесен за инсталиране, сега ще продължим с действителното използване на Ansible, започвайки с модули, който е основният градивен елемент.
Отговорни модули
Модулите са основните градивни елементи на Ansible и са основно скриптове за многократна употреба, които се използват от Ansible playbooks. Ansible се предлага с множество модули за многократна употреба. Те включват функционалност за управление на услуги, инсталиране на софтуерен пакет, работа с файлове и директории и т.н.
Синтаксисът е както следва, докато се изпълняват ad-hoc командите, които помагат при изпълнението на единични или прости задачи само веднъж и които не е необходимо да се изпълняват по-късно. За E.g. просто инсталиране на Tomcat на всички сървъри.
ansible hostORgroup -m module_name -a 'arguments' -u username --become
Нека да разгледаме някои от най-популярните модули Ansible и тяхното използване чрез ad-hoc командите и по-късно в книгата за игри.
# 1) Модул за настройка
За да получите информация за мрежата или хардуера или версията на операционната система или информация, свързана с паметта, модулът за настройка ще помогне да се събере същото за целевите машини. На контрола машината изпълнява командата по-долу.
$ ansible webservers –m setup
# 2) Команден модул
Командният модул просто изпълнява конкретна команда на целевата машина и дава изхода.
Някои от примерите са дадени по-долу
$ ansible webservers –m command - an ‘uptime’ $ ansible webservers –m command –a ‘hostname’
# 3) Модул Shell
За да изпълните всяка команда в избраната от вас обвивка, можете да използвате модула Shell. Командите на модула на черупката се изпълняват в / bin / sh черупка и можете да използвате операторите като ‘>’ или ‘|’ (символ на тръбата или дори променливи на средата.
Така че преди всичко разликата между модула Shell и Command е, че ако всъщност не е необходимо да използвате операторите като споменатите, тогава можете да използвате командния модул.
$ ansible webservers -m shell -a 'ls -l > temp.txt'
На машините под групата уеб сървъри проверете за създадения файл и изпълнете командата, за да видите текстовия файл.
$ ansible webservers –m command -a ‘cat temp.txt’
# 4) Потребителски модул
С помощта на този модул можете да създавате или изтривате потребители.
За да добавите потребител
$ ansible webservers -m user -a 'name=user1 password=user1' --become
За да изтриете потребител
$ ansible webservers -m user -a 'name=user1 state=absent' --become
Настроики:
- да стане - Привилегия на суперпотребителя да изпълнява командата
- състояние = отсъства за да изтриете потребителя
# 5) Файлов модул
Този модул се използва за създаване на файлове, директории, задаване или промяна на разрешения и собственост на файлове и т.н.
Пример 1: Създайте файл
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=touch mode=600 owner=ansible group=ansible'
Пример 2: Създайте директория
За да създадете директория с помощта на файловия модул, трябва да зададете два параметъра.
- Път (псевдоним - име, дестинация) - Това е абсолютният път на директорията, която трябва да бъде създадена.
- Състояние - Трябва да въведете стойността като „директория.“ По подразбиране стойността е „файл“.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=directory mode=755'
Пример 3: Изтрийте файл
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=absent'
Пример 4: Изтрийте директория
Можете да изтриете директория, като зададете стойността на параметъра на състоянието на отсъстващ . Директорията и цялото й съдържание ще бъдат изтрити.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=absent'
каква програма отваря eps файл
# 6) Модул за копиране
Използва се за копиране на файлове на множество целеви машини.
$ ansible webservers -m copy -a 'src=sample.txt dest=/home/ansible/sample.txt'
# 7) Управление на софтуерни пакети
Ако трябва да инсталирате софтуерни пакети чрез „yum“ или „apt“, можете да използвате командите по-долу.
Пример 1: Инсталирайте GIT
$ ansible webservers –m yum -a “name=git state=present” --become
В десния прозорец можете да видите дали git не е инсталиран, той ще даде команда not found и след като бъде инсталиран, ще покаже изхода.
В тази команда състояние = присъства ще провери дали пакетът е инсталиран или не и ако не е инсталиран ще инсталира най-новата версия.
Пример 2: Проверете дали пакетът е инсталиран и го актуализирайте до най-новата версия.
$ ansible webservers -m yum -a “name=git state=latest”
В горната команда, състояние = най-късно ще актуализира пакета само до най-новата версия.
Пример 3: Инсталирайте Apache Webserver
$ ansible webservers -m yum -a 'name=httpd state=present' –become
Пример 4: Проверете дали Maven е инсталиран или не.
$ ansible webservers -m yum -a 'name=maven state=absent' –become
# 8) Модул за управление на услуги
За да управляваме услуги с ansible, използваме модул 'обслужване'.
Стартиране на услуга
$ ansible webservers -m service -a “name=httpd state=started” --become
Спиране на услуга
$ ansible webservers -m service -a “name=httpd state=stopped” --become
Рестартиране на услуга
$ ansible webservers -m service -a “name=httpd state=restarted --become
Щракнете тук за да получите пълния списък с модули.
Обобщение
В този урок ви запознах с основните концепции и компоненти на Ansible и също така видяхме повече за инсталирането, конфигурирането и използването на Ansible с помощта на модули Ansible, който е основният компонент в изпълнението на Ansible.
В нашия предстоящ урок ще се съсредоточим върху много важния аспект на писането на книги за игри за автоматизация на задачите и Ansible трезори, за да съхраняваме чувствителни данни в криптирани файлове.
Препоръчително четене
- Уроци за задълбочено затъмнение за начинаещи
- Отговорни роли, интеграция с Jenkins в DevOps и EC2 модули
- Автоматизация на задачите с помощта на Ansible Playbooks и Ansible Vault с примери
- Поетапна инсталация и настройка на Appium Studio
- Въведение в езика за програмиране на Java - видео урок
- Цялата настройка и инсталиране на WebDriver с Eclipse - Урок № 9 за селен
- Изтегляне и инсталиране на Jira с настройка на лиценз Jira
- Процес на въвеждане и инсталиране на Python