Professional Documents
Culture Documents
من مميزاتها:
: No Agent (Agentless) -مش بتحتاج منك انك تعمل installالي agentعند ال
client.
:Idempotent -هي ان لو عندي مثال scriptونفذته وعملت عليه أي تعديل وجيت انفذه
تاني ال هيتم تنفيذه هو التغييرات ال حصلت ع ال scriptفقط
:Declarative -يعني بيقارن stateب stateودا عكس طريقه ال proceduralال
هي line by line
infrastructure
فهاخد ال public
هنا بقوله لما يبقي نوع fileيكون ymlخلي المسافة الواحدة تساوي مسافتين ف بتسهل عليا ف
الكتابة شويا
ال : Ansible Ad Hocمن خالله اقدر استخدم moduleواحد فقط ع عكس ال playbook
ال من خالله بقدر استخدم اكتر من module
وبتتكتب بالطريق دي
هنا بستخدم ال moduleال اسمها Shellعشان انفذ taskمعين علي ال host groupال
اسمها webserverفي ال inventory file
: Variables
"}}"{{var بيتم كتابه ال variablesكدا
ال Facts
هي toolمن خاللها بعمل encryptل fileولكن عندي fileفيه passwordفمن خالل ال
vaultاقدر اعمل encryptلل fileدا بالطريقه دي
-1هعمل create fileبال vault
بيطلب مني passwordلل fileبكتبه وبعدين بيفتحلي ال fileعشان اكتب ال انا محتاج اكتبه
-2لو عملت catلل fileداه يظهر انه encryptبالطريقه دي
-3لو محتاج انك تعرض الداتا دي هتكون بالطريقه دي فاالول هيطلب منك ال password
بتاع ال fileاول م تكتبه هيعرض الداتا
: Ansible Loops
بستخدم ال loopفي حاله اني محتاج اعمل تكرار لل taskوليكن مثال محتاج اعمل 2user
فالطريقه العادية من غير ال loopهتكون بالشكل دا
هنا عملت شرط عشان ال taskتتنفذ وهو ان الوم ال selinux statusتكون enabled
هنا برضو بقوله عشان تنفذ ال taskدي الزم يكون ال osبتاعي يكون Debianطب لو مش
Debianمش هينفذ ال taskوقدر اضع اكتر من شرط واستخدم ال And-or-not
هنا مثال برضو بقوله استخدم ال pakgال اسمها aptلو ال osكان ubuntuاو yumلو ال
osكان centos
: Ansible Handlersمن خاللها بحدد ان taskمعينه يتعملها runبناءا علي taskتانيه
مثال :عندي مثال ال Apacheلما بيحصل عليه علي تعديل بيطلب restartلل serviceف بدل
م اعمل taskلل restartويحصل restartعطول لما اعمل runلل taskال هعمل
handlersوهعمله notifyبعد taskميعنه لما يحصل فيها أي changeلل ntifyدا يبدا يشغل
ال . handlers
فلما يحصل أي تغيير ف ال taskال اسمها write the apache config fileال notifyi
هتستدعي ال handlersال اسمها restart apacheال هي بتعمل restartلل serviceال
اسمها httpd
-ال : error handlingببساطه دي handlerبنستخدمها مع ال taskعشان لو ال taskدي
فيها errorاو هيحصلها failedال playbookتكمل باقي ال taskعادي وبيحصلش failed
لل playbookكله
اسمها ignore_errorsوبستخدمها بالشكل دا
ال rolesال هي mywebserverال انا انشائتها فوق وتحتها كل حاجه كنا بنكتبها في ال
playbook
By: Mostafa Mahmoud Bahgat