{"id":13079,"date":"2021-09-09T09:06:16","date_gmt":"2021-09-09T09:06:16","guid":{"rendered":"https:\/\/hosteko.com\/blog\/?p=13079"},"modified":"2021-09-09T09:06:16","modified_gmt":"2021-09-09T09:06:16","slug":"cara-menulis-membuat-dan-menjalankan-ansible-playbooks","status":"publish","type":"post","link":"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks","title":{"rendered":"Cara Menulis, Membuat dan Menjalankan Ansible Playbooks"},"content":{"rendered":"<p><strong>Ansible Playbooks<\/strong> adalah tempat di mana kode Ansible ditulis, sejenis\u00a0automation tasks yang dapat menjalankan perintah dengan sedikit atau hampir tidak perlu melibatkan campur tangan manusia. Playbooks merupakan salah satu bagian dari Ansible inventory. Di sini\u00a0akan mempelajari bagaimana cara menulis, membuat hingga menjalankan Ansible Playbooks di server.<\/p>\n<h2><strong>Ansible<\/strong><\/h2>\n<p>Ansible adalah\u00a0tool\u00a0manajemen konfigurasi yang modern dan tidak memerlukan\u00a0software agent pada\u00a0Remote Nodes\u00a0atau\u00a0Hosts Node. Namun hanya perlu menggunakan SSH dan Python saja untuk berkomunikasi dan mengeksekusi perintah pada\u00a0<b>Hosts Node<\/b>. Provisioning tool ini dikembangkan oleh salah satu perusahaan yang terkenal membuat\u00a0software open source, RedHat.<\/p>\n<p>Keberadaan arsitektur yang tidak memerlukan\u00a0software\u00a0khusus untuk di install pada server\/node membuat Ansible bisa digunakan sebagai alternatif yang bagus untuk otomasi server. Selain itu, Ansible juga menggunakan SSH untuk mengeksekusi automation task\u00a0dan\u00a0file\u00a0YAML (Yet Another Markup Language) yang bisa dibaca manusia untuk menentukan\u00a0provisioning details.<\/p>\n<p class=\"gs gt gu gv b gw hn gx gy gz ho ha hb hc hp hd he hf hq hg hh hi hr hj hk hm dn gd\" data-selectable-paragraph=\"\">Ansible dapat berjalan h<span id=\"rmm\">a<\/span>nya dengan koneksi SSH dan tidak membutuhkan agent apapun untuk menjalankannya, namun untuk menjalankan ansible di server deployment minimal memiliki library python di dalam server deployment tersebut.<\/p>\n<p id=\"0fb9\" class=\"jq jr ei js b fh jt ib ju fk jv if jw jx jy jz ka kb kc kd ke kf kg kh ki kj dc ff\" data-selectable-paragraph=\"\">Ada 2 hal yang sangat penting jika ingin menggunakan sebuah Ansible, yaitu :<\/p>\n<p data-selectable-paragraph=\"\"><strong class=\"js kx\">1. Inventory<\/strong><\/p>\n<p data-selectable-paragraph=\"\"><strong class=\"js kx\">Inventory\u00a0<\/strong>adalah tempat di mana kita menyimpan alamat dari host\/server yang akan menjadi tujuan dijalankannya konfigurasi yang telah ditentukan oleh Ansible.<\/p>\n<p data-selectable-paragraph=\"\"><strong class=\"js kx\">2. Playbook<\/strong><\/p>\n<p data-selectable-paragraph=\"\"><strong class=\"js kx\">Playbook\u00a0<\/strong>adalah tempat pendefinisian berbagai jenis konfigurasi yang akan dijalankan di target host.<\/p>\n<p id=\"a41c\" class=\"gs gt gu gv b gw hn gx gy gz ho ha hb hc hp hd he hf hq hg hh hi hr hj hk hm dn gd\" data-selectable-paragraph=\"\">Sebenarnya ada 2 cara untuk menjalankan ansible, yaitu melalui\u00a0<strong class=\"js kx\">playbook<\/strong>\u00a0dan\u00a0<strong class=\"js kx\">ad-hoc.<\/strong> Jika menjalankan ansible dengan playbook maka perlu untuk membuat file playbook seperti di atas. Namun jika menggunakan ad-hoc bisa langsung menjalankan command tanpa playbook.<\/p>\n<ul>\n<li id=\"e1d5\" class=\"gs gt gu gv b gw hn gx gy gz ho ha hb hc hp hd he hf hq hg hh hi hr hj hk hm ib ic id gd\" data-selectable-paragraph=\"\"><strong>Ansible Ad-Hoc<\/strong><\/li>\n<\/ul>\n<p id=\"e191\" class=\"gs gt gu gv b gw hn gx gy gz ho ha hb hc hp hd he hf hq hg hh hi hr hj hk hm dn gd\" style=\"padding-left: 40px;\" data-selectable-paragraph=\"\">Cara menjalankan ansible berupa command-line instruksi via terminal.<\/p>\n<ul>\n<li><strong>Ansible Playbooks<\/strong><\/li>\n<\/ul>\n<p id=\"a02f\" class=\"gs gt gu gv b gw hn gx gy gz ho ha hb hc hp hd he hf hq hg hh hi hr hj hk hm dn gd\" style=\"padding-left: 40px;\" data-selectable-paragraph=\"\">Cara menjalankan ansible yang terdiri dari playbook atau file YML dan file YML terdiri dari task, dimana task akan memanggil modul-modul ansible. Ansible playbook akan di jalankan secara berurutan.<\/p>\n<ul>\n<li><strong>Ansible Tower<\/strong><\/li>\n<\/ul>\n<p id=\"2d29\" class=\"gs gt gu gv b gw hn gx gy gz ho ha hb hc hp hd he hf hq hg hh hi hr hj hk hm dn gd\" style=\"padding-left: 40px;\" data-selectable-paragraph=\"\">Ansible Tower merupakan automation untuk kalangan Enterprise dan juga berbayar. Ansible Tower memiliki banyak kemudahan di bandingkan ansible tipe lain. Ansible Tower lebih mudah untuk mengontrol server di karenakan memiliki halaman UI, selain itu juga module-module lain. Untuk keamanan ansible Tower juga sudah menyediakan secara langsung.<\/p>\n<h2 id=\"1592\" class=\"hw hx ei bn hy hz ia ib ic id ie if ig ih ii ij ik il im in io ip iq ir is it ff\"><strong>Anatomi Ansible YAML File<\/strong><\/h2>\n<p id=\"c93b\" class=\"jq jr ei js b fh mq ib ju fk mr if jw jx ms jz ka kb mt kd ke kf mu kh ki kj dc ff\" data-selectable-paragraph=\"\">Seperti yang disebutkan di atas, untuk menjalankan Ansible diperlukan inventory dan playbook. Meskipun masih ada file-file lain yang mungkin perlu dibuat, tetapi di sini akan membahas file yang paling dasar dan paling dibutuhkan oleh Ansible.<\/p>\n<h3 id=\"6735\" class=\"mi hx ei bn hy mv mw fj ic mx my fm ig fn mz fp ik fq na fs io ft nb fv is nc ff\"><strong>1. Inventory (file)<\/strong><\/h3>\n<p>Di dalam sebuah inventory perlu mendefinisikan host yang akan menjadi ansible slave dan juga nama grup.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-13080 aligncenter\" src=\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Inventory.png\" alt=\"\" width=\"680\" height=\"260\" srcset=\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Inventory.png 680w, https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Inventory-640x245.png 640w, https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Inventory-400x153.png 400w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/p>\n<h3 id=\"a64f\" class=\"mi hx ei bn hy mv mw fj ic mx my fm ig fn mz fp ik fq na fs io ft nb fv is nc ff\"><strong>2. Task<\/strong><\/h3>\n<p id=\"6081\" class=\"jq jr ei js b fh mq ib ju fk mr if jw jx ms jz ka kb mt kd ke kf mu kh ki kj dc ff\" data-selectable-paragraph=\"\">Di dalam sebuah playbook, terdapat kumpulan tugas berisi konfigurasi sederhana yang disebut dengan <strong>task<\/strong>. Penulisan task yang paling sederhana adalah mendefinisikan\u00a0<strong class=\"js kx\">nama task<\/strong>\u00a0dan juga\u00a0<strong class=\"js kx\">modul\u00a0<\/strong>yang akan digunakan.<\/p>\n<p class=\"jq jr ei js b fh jt ib ju fk jv if jw jx jy jz ka kb kc kd ke kf kg kh ki kj dc ff\" data-selectable-paragraph=\"\">Nama task berfungsi sebagai dokumentasi dari tujuan task tersebut dibuat dan mempermudah untuk troubleshooting ketika error terjadi. Sedangkan modul adalah pengganti dari perintah-perintah yang dijalankan secara manual pada terminal (shell).<\/p>\n<p data-selectable-paragraph=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-13081 aligncenter\" src=\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Task.png\" alt=\"\" width=\"680\" height=\"279\" srcset=\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Task.png 680w, https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Task-640x263.png 640w, https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Task-400x164.png 400w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/p>\n<h3 id=\"8a4e\" class=\"mi hx ei bn hy mv mw fj ic mx my fm ig fn mz fp ik fq na fs io ft nb fv is nc ff\"><strong>3. Playbook (file)<\/strong><\/h3>\n<p>Seperti yang sudah dijelaskan, kumpulan task tersebut akan membuat sebuah object yang disebut\u00a0<strong class=\"js kx\">play.\u00a0<\/strong>Karena seringkali 1 playbook hanya memiliki satu play, seringkali play (kumpulan task) disebut sebagai playbook (sebutan untuk file YAML nya).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-13082 aligncenter\" src=\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Playbook.png\" alt=\"\" width=\"680\" height=\"465\" srcset=\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Playbook.png 680w, https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Playbook-640x438.png 640w, https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Playbook-400x274.png 400w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/p>\n<p>Struktur dari direktori ketika sudah membuat 2 file tersebut kira-kira seperti ini :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-13084 aligncenter\" src=\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Playbook2.png\" alt=\"\" width=\"327\" height=\"135\" \/><\/p>\n<h2><strong>Cara Menulis Ansible Playbooks<\/strong><\/h2>\n<p>Ada beberapa hal yang perlu disiapkan, yaitu :<\/p>\n<ul>\n<li aria-level=\"1\">Memiliki 3\u00a0VPS\u00a0yang aktif dengan OS Ubuntu 20.04.<\/li>\n<li aria-level=\"1\">Memiliki akses\u00a0root.<\/li>\n<li aria-level=\"1\">1 VPS yang sudah terinstall Ansible.<\/li>\n<li aria-level=\"1\">Inventory File yang sudah disetup pada\u00a0Ansible Control Node.<\/li>\n<\/ul>\n<p>Tiga VPS yang perlu disiapkan untuk :<\/p>\n<ul>\n<li><b>Satu Ansible Control Node<\/b><\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\">Ansible Control Node yang akan digunakan untuk\u00a0connect\u00a0dan\u00a0control\u00a0ke Ansible Host melalui SSH.<\/p>\n<ul>\n<li><b>Dua Ansible Hosts<\/b><\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\">Ansible Host nantinya akan dikontrol oleh Ansible Control Node yang sudah dikonfigurasi untuk otomasi.<\/p>\n<p>Kemudian akan memulai dan menjalankan Ansible Playbooks dengan cara berikut :<\/p>\n<h3><strong>Create dan Running Ansible Playbooks<\/strong><\/h3>\n<p>Playbooks menggunakan format YAML untuk menentukan 1 atau lebih\u00a0plays. Di sini memulai dengan membuat direktori baru dengan nama \u201cansible-practice\u201d. Penulisan Ansible Playbooks dilakukan di Ansible Control Node.<\/p>\n<pre><span style=\"color: #ff0000;\">$ cd ~\r\n$ mkdir ansible-practice\r\n$ cd ansible-practice<\/span><\/pre>\n<p>Salin\u00a0inventory file ke direktori yang baru dibuat, yaitu ansible-practice.<\/p>\n<p><span style=\"color: #ff0000;\">$ cp ~\/ansible\/inventory ~\/ansible-practice\/inventory<\/span><\/p>\n<p>Buat\u00a0file playbook\u00a0baru.<\/p>\n<pre><span style=\"color: #ff0000;\">$ nano playbook-01.yml<\/span><\/pre>\n<p>Tambahkan konten di bawah ini.<\/p>\n<pre><span style=\"color: #ff0000;\">---\r\n- hosts: all\r\n \u00a0tasks:\r\n \u00a0\u00a0\u00a0- name: Print message\r\n \u00a0\u00a0\u00a0\u00a0\u00a0debug:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0msg: Hello Testing Ansible<\/span><\/pre>\n<p>Kemudian simpan dan keluar.<\/p>\n<p>Coba hasil\u00a0playbook ini pada server yang disetup\u00a0di\u00a0inventory file\u00a0dengan menjalankan perintah ansible-playbook. Di sini menggunakan inventory file\u00a0dengan nama\u00a0inventory\u00a0dan\u00a0root\u00a0untuk menghubungkan ke\u00a0remote server atau Ansible Hosts.<\/p>\n<pre><span style=\"color: #ff0000;\">$ ansible-playbooks -i inventory -u root<\/span><\/pre>\n<p>Maka outputnya akan seperti di bawah ini.<\/p>\n<pre><span style=\"color: #ff0000;\">PLAY [all] *********************************************************************\r\n\r\nTASK [Gathering Facts] *********************************************************\r\nEnter passphrase for key '\/root\/.ssh\/id_rsa': \r\nok: [103.xxx.xxx.201]\r\n\r\nTASK [Print message] ***********************************************************\r\nok: [103.xxx.xxx.201] =&gt; {\r\n \u00a0\u00a0\u00a0\"msg\": \"Hello Testing Ansible\"\r\n}\r\n\r\nPLAY RECAP *********************************************************************\r\n103.xxx.xxx.201\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 : ok=2\u00a0 \u00a0 changed=0\u00a0 \u00a0 unreachable=0\u00a0 \u00a0 failed=0\u00a0 \u00a0 skipped=0\u00a0 \u00a0 rescued=0\u00a0 \u00a0 ignored=0\u00a0<\/span><\/pre>\n<p>Playbooks di sini maksudnya adalah suatu konfigurasi yang berisi kumpulan role pada Ansible yang dapat dijalankan untuk mengonfigurasi sebuah server, dengan jumlah server yang ada pada Ansible Hosts.<\/p>\n<h2 id=\"apa-kelebihan-ansible\"><strong>Kelebihan Ansible<\/strong><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-13085 aligncenter\" src=\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks-1.png\" alt=\"\" width=\"1920\" height=\"1080\" srcset=\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks-1.png 1920w, https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks-1-1024x576.png 1024w, https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks-1-768x432.png 768w, https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks-1-1536x864.png 1536w, https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks-1-640x360.png 640w, https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks-1-400x225.png 400w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/p>\n<p>Berikut ini beberapa kelebihan menggunakan Ansible, yaitu :<\/p>\n<h3><strong>1. Mudah digunakan<\/strong><\/h3>\n<p>Ansible mudah digunakan karena dapat langsung digunakan dengan 1 command line.<\/p>\n<h3><strong>2. Mudah dipahami<\/strong><\/h3>\n<p>Selain digunakan langsung dengan 1 command line, ansible juga mendukung pengumpulan tugas yang biasa disebut dengan\u00a0ansible-playbook, playbook ini berisikan pekerjaan pekerjaan yang akan dieksekusi secara berurutan. Playbook ini dibuat dengan format\u00a0yaml\u00a0yang mudah dipahami. Dengan menggunakan dan juga semua konfigurasi saat ini tetap sama seperti konfigurasi di hari berikutnya.<\/p>\n<h3><strong>3. Terdokumentasi<\/strong><\/h3>\n<p>Jika saat ini sedang melakukan setup 1 server dan beberapa bulan kemudian diminta lagi untuk setup beberapa server berdasarkan sebelumnya yang telah disetup, hasilnya mungkin beda. Dengan penggunaan ansible, cukup membuat 1 konfigurasi dan bisa dieksekusi berkali-kali dengan hasil yang sama.<\/p>\n<h3><strong>4. Support Command Bash<\/strong><\/h3>\n<p>Ansible memiliki banyak module yang bisa digunakan namun jika ingin mengeksekusi perintah tertentu namun belum ada dimodule ansible, tetap bisa mengesekusinya dengan module command dan kemudian bisa diisi dengan command yang ingin dieksekusi.<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-right kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;right&quot;,&quot;id&quot;:&quot;13079&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;2&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;0&quot;,&quot;greet&quot;:&quot;Jadilah yang pertama untuk memberi nilai&quot;,&quot;legend&quot;:&quot;5\\\/5 - (2 votes)&quot;,&quot;size&quot;:&quot;22&quot;,&quot;title&quot;:&quot;Cara Menulis, Membuat dan Menjalankan Ansible Playbooks&quot;,&quot;width&quot;:&quot;110&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 110px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 22px; height: 22px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 17.6px;\">\n            5\/5 - (2 votes)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Ansible Playbooks adalah tempat di mana kode Ansible ditulis, sejenis\u00a0automation tasks yang dapat menjalankan perintah dengan sedikit atau hampir tidak perlu melibatkan campur tangan manusia. Playbooks merupakan salah satu bagian dari Ansible inventory. Di sini\u00a0akan mempelajari bagaimana cara menulis, membuat hingga menjalankan Ansible Playbooks di server. Ansible Ansible adalah\u00a0tool\u00a0manajemen konfigurasi yang modern dan tidak memerlukan\u00a0software [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":13086,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":{"twitter_2392824914_2392824914":""},"rop_publish_now_history":[],"rop_publish_now_status":"pending","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2}},"categories":[3,20],"tags":[4816,4815,4817,4818,4820,4819],"class_list":["post-13079","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-tips","tag-ansible-adalah","tag-ansible-playbook","tag-cara-menulis-ansible-playbooks","tag-create-ansible-playbooks","tag-kelebihan-ansible","tag-running-ansible-playbooks"],"featured_image_src":{"landsacpe":["https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks-1140x445.png",1140,445,true],"list":["https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks-463x348.png",463,348,true],"medium":["https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks-300x169.png",300,169,true],"full":["https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks.png",1920,1080,false]},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cara Menulis, Membuat dan Menjalankan Ansible Playbooks - Hosteko Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cara Menulis, Membuat dan Menjalankan Ansible Playbooks - Hosteko Blog\" \/>\n<meta property=\"og:description\" content=\"Ansible Playbooks adalah tempat di mana kode Ansible ditulis, sejenis\u00a0automation tasks yang dapat menjalankan perintah dengan sedikit atau hampir tidak perlu melibatkan campur tangan manusia. Playbooks merupakan salah satu bagian dari Ansible inventory. Di sini\u00a0akan mempelajari bagaimana cara menulis, membuat hingga menjalankan Ansible Playbooks di server. Ansible Ansible adalah\u00a0tool\u00a0manajemen konfigurasi yang modern dan tidak memerlukan\u00a0software [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks\" \/>\n<meta property=\"og:site_name\" content=\"Hosteko Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-09T09:06:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Risa Y\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Risa Y\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#article\",\"isPartOf\":{\"@id\":\"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks\"},\"author\":{\"name\":\"Risa Y\",\"@id\":\"https:\/\/hosteko.com\/blog\/#\/schema\/person\/c1d3dbd7c27bd3574f8c7042165a660b\"},\"headline\":\"Cara Menulis, Membuat dan Menjalankan Ansible Playbooks\",\"datePublished\":\"2021-09-09T09:06:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks\"},\"wordCount\":883,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/hosteko.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#primaryimage\"},\"thumbnailUrl\":\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks.png\",\"keywords\":[\"ansible adalah\",\"ansible playbook\",\"cara menulis ansible playbooks\",\"create ansible playbooks\",\"kelebihan ansible\",\"running ansible playbooks\"],\"articleSection\":[\"Blog\",\"Tips\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks\",\"url\":\"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks\",\"name\":\"Cara Menulis, Membuat dan Menjalankan Ansible Playbooks - Hosteko Blog\",\"isPartOf\":{\"@id\":\"https:\/\/hosteko.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#primaryimage\"},\"image\":{\"@id\":\"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#primaryimage\"},\"thumbnailUrl\":\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks.png\",\"datePublished\":\"2021-09-09T09:06:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#primaryimage\",\"url\":\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks.png\",\"contentUrl\":\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks.png\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/hosteko.com\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cara Menulis, Membuat dan Menjalankan Ansible Playbooks\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/hosteko.com\/blog\/#website\",\"url\":\"https:\/\/hosteko.com\/blog\/\",\"name\":\"Hosteko Blog\",\"description\":\"Berita &amp; Informasi Dunia IT\",\"publisher\":{\"@id\":\"https:\/\/hosteko.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/hosteko.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/hosteko.com\/blog\/#organization\",\"name\":\"HOSTEKO\",\"url\":\"https:\/\/hosteko.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/hosteko.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2019\/04\/logo-hosteko.png\",\"contentUrl\":\"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2019\/04\/logo-hosteko.png\",\"width\":195,\"height\":57,\"caption\":\"HOSTEKO\"},\"image\":{\"@id\":\"https:\/\/hosteko.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/hosteko.com\/blog\/#\/schema\/person\/c1d3dbd7c27bd3574f8c7042165a660b\",\"name\":\"Risa Y\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/hosteko.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7eac241dffbc583c56ba1ff19703f5623dab2b6a88bbb0583e815230564dac5e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7eac241dffbc583c56ba1ff19703f5623dab2b6a88bbb0583e815230564dac5e?s=96&d=mm&r=g\",\"caption\":\"Risa Y\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cara Menulis, Membuat dan Menjalankan Ansible Playbooks - Hosteko Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks","og_locale":"en_US","og_type":"article","og_title":"Cara Menulis, Membuat dan Menjalankan Ansible Playbooks - Hosteko Blog","og_description":"Ansible Playbooks adalah tempat di mana kode Ansible ditulis, sejenis\u00a0automation tasks yang dapat menjalankan perintah dengan sedikit atau hampir tidak perlu melibatkan campur tangan manusia. Playbooks merupakan salah satu bagian dari Ansible inventory. Di sini\u00a0akan mempelajari bagaimana cara menulis, membuat hingga menjalankan Ansible Playbooks di server. Ansible Ansible adalah\u00a0tool\u00a0manajemen konfigurasi yang modern dan tidak memerlukan\u00a0software [&hellip;]","og_url":"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks","og_site_name":"Hosteko Blog","article_published_time":"2021-09-09T09:06:16+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks.png","type":"image\/png"}],"author":"Risa Y","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Risa Y","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#article","isPartOf":{"@id":"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks"},"author":{"name":"Risa Y","@id":"https:\/\/hosteko.com\/blog\/#\/schema\/person\/c1d3dbd7c27bd3574f8c7042165a660b"},"headline":"Cara Menulis, Membuat dan Menjalankan Ansible Playbooks","datePublished":"2021-09-09T09:06:16+00:00","mainEntityOfPage":{"@id":"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks"},"wordCount":883,"commentCount":0,"publisher":{"@id":"https:\/\/hosteko.com\/blog\/#organization"},"image":{"@id":"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#primaryimage"},"thumbnailUrl":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks.png","keywords":["ansible adalah","ansible playbook","cara menulis ansible playbooks","create ansible playbooks","kelebihan ansible","running ansible playbooks"],"articleSection":["Blog","Tips"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#respond"]}]},{"@type":"WebPage","@id":"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks","url":"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks","name":"Cara Menulis, Membuat dan Menjalankan Ansible Playbooks - Hosteko Blog","isPartOf":{"@id":"https:\/\/hosteko.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#primaryimage"},"image":{"@id":"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#primaryimage"},"thumbnailUrl":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks.png","datePublished":"2021-09-09T09:06:16+00:00","breadcrumb":{"@id":"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#primaryimage","url":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks.png","contentUrl":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks.png","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/hosteko.com\/blog\/cara-menulis-membuat-dan-menjalankan-ansible-playbooks#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/hosteko.com\/blog"},{"@type":"ListItem","position":2,"name":"Cara Menulis, Membuat dan Menjalankan Ansible Playbooks"}]},{"@type":"WebSite","@id":"https:\/\/hosteko.com\/blog\/#website","url":"https:\/\/hosteko.com\/blog\/","name":"Hosteko Blog","description":"Berita &amp; Informasi Dunia IT","publisher":{"@id":"https:\/\/hosteko.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hosteko.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/hosteko.com\/blog\/#organization","name":"HOSTEKO","url":"https:\/\/hosteko.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hosteko.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2019\/04\/logo-hosteko.png","contentUrl":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2019\/04\/logo-hosteko.png","width":195,"height":57,"caption":"HOSTEKO"},"image":{"@id":"https:\/\/hosteko.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/hosteko.com\/blog\/#\/schema\/person\/c1d3dbd7c27bd3574f8c7042165a660b","name":"Risa Y","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hosteko.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7eac241dffbc583c56ba1ff19703f5623dab2b6a88bbb0583e815230564dac5e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7eac241dffbc583c56ba1ff19703f5623dab2b6a88bbb0583e815230564dac5e?s=96&d=mm&r=g","caption":"Risa Y"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/hosteko.com\/htk-blog\/wp-content\/uploads\/2021\/09\/Cara-Menulis-Membuat-dan-Menjalankan-Ansible-Playbooks.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/posts\/13079","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/comments?post=13079"}],"version-history":[{"count":2,"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/posts\/13079\/revisions"}],"predecessor-version":[{"id":13092,"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/posts\/13079\/revisions\/13092"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/media\/13086"}],"wp:attachment":[{"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/media?parent=13079"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/categories?post=13079"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hosteko.com\/blog\/wp-json\/wp\/v2\/tags?post=13079"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}