{"id":27196,"date":"2023-05-25T12:36:38","date_gmt":"2023-05-25T12:36:38","guid":{"rendered":"http:\/\/localhost\/helpold\/?p=27196"},"modified":"2025-01-02T14:29:23","modified_gmt":"2025-01-02T10:59:23","slug":"ansible-on-ubuntu","status":"publish","type":"post","link":"https:\/\/www.arvancloud.ir\/help\/fa\/ansible-on-ubuntu\/","title":{"rendered":"\u0634\u06cc\u0648\u0647 \u0646\u0635\u0628 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Ansible \u0631\u0648\u06cc Ubuntu"},"content":{"rendered":"<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0633\u06cc\u0633\u062a\u0645\u200c\u0647\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0627\u0646\u0641\u06cc\u06af \u0628\u0631\u0627\u06cc \u0633\u0627\u062f\u0647\u200c\u200c \u0634\u062f\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f \u06a9\u0646\u062a\u0631\u0644 \u062a\u0639\u062f\u0627\u062f \u0632\u06cc\u0627\u062f \u0633\u0631\u0648\u0631\u0647\u0627 \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647\u200c\u0627\u0646\u062f \u062a\u0627 \u0628\u0647 \u0645\u062f\u06cc\u0631\u0627\u0646 \u0648 \u062a\u06cc\u0645\u200c\u0647\u0627\u06cc \u0641\u0646\u06cc \u06a9\u0645\u06a9 \u06a9\u0646\u0646\u062f \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0634\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0646\u0646\u062f.<\/span><\/p>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0628\u0633\u06cc\u0627\u0631\u06cc \u0645\u0627\u0646\u0646\u062f <\/span><span class=\"md-meta-i-c md-link\"><a spellcheck=\"false\" href=\"https:\/\/www.chef.io\/\" rel=\"nofollow noopener\" target=\"_blank\"><span class=\"md-plain\">Chef<\/span><\/a><\/span><span class=\"md-plain\"> \u0648 <\/span><span class=\"md-meta-i-c md-link\"><a spellcheck=\"false\" href=\"https:\/\/puppet.com\/\" rel=\"nofollow noopener\" target=\"_blank\"><span class=\"md-plain\">Puppet<\/span><\/a><\/span><span class=\"md-plain\"> \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u0646\u062f \u06a9\u0647 \u0645\u0639\u0645\u0648\u0644\u0646 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc\u200c\u0647\u0627\u06cc \u0641\u0646\u06cc \u0632\u06cc\u0627\u062f\u06cc \u062f\u0627\u0631\u0646\u062f. <\/span><span class=\"md-meta-i-c md-link\"><a spellcheck=\"false\" href=\"https:\/\/www.ansible.com\/\" rel=\"nofollow noopener\" target=\"_blank\"><span class=\"md-plain\">Ansible<\/span><\/a><\/span><span class=\"md-plain\"> \u06cc\u06a9 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0633\u06cc\u0633\u062a\u0645\u200c\u0647\u0627\u0633\u062a \u0632\u06cc\u0631\u0627 \u0645\u0639\u0645\u0627\u0631\u06cc \u06a9\u0647 \u0627\u0631\u0627\u06cc\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631 \u062e\u0627\u0635\u06cc \u0646\u062f\u0627\u0631\u062f \u0648 \u0627\u0632 SSH \u0648 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc YAML \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0641\u0631\u0622\u06cc\u0646\u062f\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/span><\/p>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u062f\u0631 \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627\u060c \u0634\u06cc\u0648\u0647\u200c\u06cc \u0646\u0635\u0628 \u0648 \u0627\u0635\u0648\u0644 \u0627\u0648\u0644\u06cc\u0647 \u062f\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Ansible \u0631\u0627 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u0627\u0648\u0628\u0648\u0646\u062a\u0648 20.04 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/span><\/p>\n<h2 class=\"md-end-block md-heading md-focus\" style=\"direction: rtl;\"><span class=\"md-plain md-expand\">\u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627<\/span><\/h2>\n<ul class=\"ul-list\" data-mark=\"-\">\n<li class=\"md-list-item\">\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-pair-s \"><strong><span class=\"md-plain\">\u06cc\u06a9 Node \u06a9\u0646\u062a\u0631\u0644 Ansible<\/span><\/strong><\/span><span class=\"md-plain\"> : \u0646\u064f\u062f \u06a9\u0646\u062a\u0631\u0644 Ansible \u0633\u0631\u0648\u0631\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0627\u0632 \u0622\u0646 \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0648 \u06a9\u0646\u062a\u0631\u0644 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631 \u06cc\u0627 \u0647\u0627\u0633\u062a\u200c\u0647\u0627\u06cc Ansible \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645. \u062f\u0631 \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627 Node \u06a9\u0646\u062a\u0631\u0644 \u06cc\u06a9 \u0627\u0628\u0631\u06a9 \u0628\u0627 \u0633\u06cc\u0633\u062a\u0645\u200c\u0639\u0627\u0645\u0644 Ubuntu 20.04 \u0627\u0633\u062a. Node \u06a9\u0646\u062a\u0631\u0644 \u0628\u0627\u06cc\u062f \u062f\u0627\u0631\u0627\u06cc \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0628\u0627\u0634\u062f:<\/span><\/p>\n<ul class=\"ul-list\" data-mark=\"-\">\n<li class=\"md-list-item\">\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-pair-s \"><strong><span class=\"md-plain\">\u06cc\u06a9 \u06a9\u0627\u0631\u0628\u0631 \u063a\u06cc\u0631 root \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc sudo<\/span><\/strong><\/span><\/p>\n<\/li>\n<li class=\"md-list-item\">\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-pair-s \"><strong><span class=\"md-plain\">\u06cc\u06a9 \u062c\u0641\u062a \u06a9\u0644\u06cc\u062f SSH \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631\u0628\u0631<\/span><\/strong><\/span><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li class=\"md-list-item\">\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-pair-s \"><strong><span class=\"md-plain\">\u06cc\u06a9 \u06cc\u0627 \u0686\u0646\u062f Node \u0645\u06cc\u0632\u0628\u0627\u0646 \u06cc\u0627 \u0647\u0627\u0633\u062a Ansible<\/span><\/strong><\/span><span class=\"md-plain\"> : \u0645\u06cc\u0632\u0628\u0627\u0646 Ansible \u0647\u0631 \u0633\u0631\u0648\u0631\u06cc \u0627\u0633\u062a \u06a9\u0647 Node \u06a9\u0646\u062a\u0631\u0644 Ansible \u0628\u0631\u0627\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0631\u062f\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f\u0647\u0627\u06cc \u0622\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a. \u062f\u0631 \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627 \u0647\u0627\u0633\u062a\u200c\u0647\u0627\u06cc Ansible \u0633\u0631\u0648\u0631\u0647\u0627\u06cc Ubuntu 20.04 \u0647\u0633\u062a\u0646\u062f. \u062f\u0631 \u0647\u0631 \u0647\u0627\u0633\u062a Ansible \u0628\u0627\u06cc\u062f:<\/span><\/p>\n<ul class=\"ul-list\" data-mark=\"-\">\n<li class=\"md-list-item\">\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u06a9\u0644\u06cc\u062f \u0639\u0645\u0648\u0645\u06cc SSH \u0646\u064f\u062f \u06a9\u0646\u062a\u0631\u0644 Ansible \u0628\u0647 <\/span><span spellcheck=\"false\">authorized_keys<\/span> <span class=\"md-plain\">\u06a9\u0627\u0631\u0628\u0631 \u0627\u0636\u0627\u0641\u0647 \u0634\u062f\u0647 \u0628\u0627\u0634\u062f. \u0627\u06cc\u0646 \u06a9\u0627\u0631\u0628\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u06a9\u0627\u0631\u0628\u0631 root \u06cc\u0627 \u0645\u0639\u0645\u0648\u0644\u06cc \u0628\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc\u200c\u0647\u0627\u06cc sudo \u0628\u0627\u0634\u062f. <\/span><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3 class=\"md-end-block md-heading\" style=\"direction: rtl;\"><span class=\"md-plain\">\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u06a9\u0644\u06cc\u062f SSH \u0631\u0648\u06cc Node\u0647\u0627<\/span><\/h3>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u067e\u06cc\u0634 \u0627\u0632 \u0646\u0635\u0628 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Ansible \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u06cc\u06a9 \u062c\u0641\u062a \u06a9\u0644\u06cc\u062f SSH \u0631\u0648\u06cc Node \u06a9\u0646\u062a\u0631\u0644 \u0628\u0633\u0627\u0632\u06cc\u062f \u0648 \u06a9\u0644\u06cc\u062f \u0639\u0645\u0648\u0645\u06cc \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0647\u0627\u0633\u062a\u200c\u0647\u0627 \u06a9\u067e\u06cc \u06a9\u0646\u06cc\u062f.<\/span><\/p>\n<h4 class=\"md-end-block md-heading\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0633\u0627\u062e\u062a \u06a9\u0644\u06cc\u062f SSH \u0631\u0648\u06cc Node \u06a9\u0646\u062a\u0631\u0644<\/span><\/h4>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u06a9\u0644\u06cc\u062f SSH \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 \u0641\u0639\u0644\u06cc\u200c\u062a\u0627\u0646 (\u06a9\u0647 \u0628\u0627\u06cc\u062f \u063a\u06cc\u0631 root \u0628\u0627\u0634\u062f) \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"><code>ssh-keygen<\/code><\/pre>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0633\u067e\u0633 \u0627\u0632 \u0634\u0645\u0627 \u062e\u0648\u0627\u0633\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u0645\u0633\u06cc\u0631 \u06a9\u0644\u06cc\u062f \u0631\u0627 \u062a\u0627\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 Enter \u0628\u0632\u0646\u06cc\u062f \u0648 \u062f\u0631 \u0645\u0631\u062d\u0644\u0647\u200c\u06cc \u0628\u0639\u062f \u06a9\u0647 \u06cc\u06a9 Passphrase \u0628\u0631\u0627\u06cc \u06a9\u0644\u06cc\u062f \u0627\u0632 \u062e\u0648\u0627\u0633\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u0645\u062c\u062f\u062f Enter \u0628\u0632\u0646\u06cc\u062f \u062a\u0627 Passphrase\u0627\u06cc \u0628\u0631\u0627\u06cc \u0622\u0646 \u0627\u0646\u062a\u062e\u0627\u0628 \u0646\u0634\u0648\u062f.<\/span><\/p>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u062f\u0631 \u0622\u062e\u0631 \u0628\u0627\u06cc\u062f \u062e\u0631\u0648\u062c\u06cc\u200c\u0627\u06cc \u0645\u0634\u0627\u0628\u0647 \u062a\u0635\u0648\u06cc\u0631 \u0632\u06cc\u0631 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/span><\/p>\n<p class=\"md-end-block md-p\"><span class=\"md-image md-img-loaded\" data-src=\"C:\\Users\\Sarah\\Documents\\Sara\\Use Cases\\ansible\\keygen.png\"><img fetchpriority=\"high\" decoding=\"async\" class=\"size-full wp-image-27197 aligncenter\" src=\"https:\/\/www.arvancloud.ir\/help\/wp-content\/uploads\/2023\/05\/keygen.png\" alt=\"\" width=\"688\" height=\"355\" \/><\/span><\/p>\n<h4 class=\"md-end-block md-heading\" style=\"direction: rtl;\"><span class=\"md-plain\">\u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646 \u06a9\u0644\u06cc\u062f \u0639\u0645\u0648\u0645\u06cc SSH \u062f\u0631 Node\u0647\u0627\u06cc \u0645\u06cc\u0632\u0628\u0627\u0646<\/span><\/h4>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0627\u06a9\u0646\u0648\u0646 \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u06a9\u0644\u06cc\u062f \u0639\u0645\u0648\u0645\u06cc \u0631\u0627 \u062f\u0631 \u0646\u064f\u062f\u0647\u0627\u06cc \u0647\u0627\u0633\u062a \u0646\u06cc\u0632 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"><code>ssh-copy-id username@IP<\/code><\/pre>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0627\u0632 \u0634\u0645\u0627 \u062e\u0648\u0627\u0633\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0627\u06cc\u0646 \u0633\u0631\u0648\u0631 \u0631\u0627 \u062a\u0627\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f. \u0628\u0627 \u0646\u0648\u0634\u062a\u0646 yes \u0648 \u0633\u067e\u0633 \u0641\u0634\u0631\u062f\u0646 Enter\u060c \u0622\u0646 \u0631\u0627 \u0628\u067e\u0630\u06cc\u0631\u06cc\u062f. \u0633\u067e\u0633 \u067e\u0633\u0648\u0631\u062f \u0633\u0631\u0648\u0631\u06cc \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0644\u06cc\u062f \u062f\u0631 \u0622\u0646 \u06a9\u067e\u06cc \u0634\u0648\u062f \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0647 \u0648 Enter \u0628\u0632\u0646\u06cc\u062f.<\/span><\/p>\n<p>\u0628\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u0645\u0633\u06cc\u0631 <span spellcheck=\"false\">ssh\/id_rsa.pub.\/~<\/span> \u062f\u0631 Node \u06a9\u0646\u062a\u0631\u0644 \u062f\u0631 \u0645\u0633\u06cc\u0631 <span spellcheck=\"false\">ssh\/authorized_keys.\/~<\/span> \u062f\u0631 Node \u0645\u06cc\u0632\u0628\u0627\u0646 \u06a9\u067e\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n<p class=\"md-end-block md-p\"><span class=\"md-image md-img-loaded\" data-src=\"C:\\Users\\Sarah\\Documents\\Sara\\Use Cases\\ansible\\copy-id.png\"><img decoding=\"async\" class=\"size-full wp-image-27199 aligncenter\" src=\"https:\/\/www.arvancloud.ir\/help\/wp-content\/uploads\/2023\/05\/copy-id.png\" alt=\"\" width=\"688\" height=\"272\" \/><br \/>\n<\/span><\/p>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0647\u0645\u0647\u200c\u06cc \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u0647\u0627\u0633\u062a \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.<br \/>\n<\/span><\/p>\n<h2 class=\"md-end-block md-heading\" style=\"direction: rtl;\"><span class=\"md-plain\">\u06af\u0627\u0645 \u0646\u062e\u0633\u062a: \u0646\u0635\u0628 Ansible<\/span><\/h2>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Ansible \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0628\u0627 \u0622\u0646\u060c \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631\u06cc \u06a9\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 Node \u06a9\u0646\u062a\u0631\u0644 Ansible \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f\u060c \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f.<\/span><\/p>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u062f\u0631 Node \u06a9\u0646\u062a\u0631\u0644 \u062e\u0648\u062f\u060c \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u062a\u0627 PPA \u067e\u0631\u0648\u0698\u0647 \u0631\u0633\u0645\u06cc \u0631\u0627 \u062f\u0631 \u0644\u06cc\u0633\u062a \u0645\u0646\u0627\u0628\u0639 \u0633\u06cc\u0633\u062a\u0645 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"><code>sudo apt-add-repository ppa:ansible\/ansible<\/code><\/pre>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0648\u0642\u062a\u06cc \u0627\u0632 \u0634\u0645\u0627 \u062e\u0648\u0627\u0633\u062a\u0647 \u0634\u062f \u062a\u0627 PPA \u0631\u0627 \u0628\u067e\u0630\u06cc\u0631\u06cc\u062f <\/span><span spellcheck=\"false\">ENTER<\/span> <span class=\"md-plain\">\u0631\u0627 \u0628\u0632\u0646\u06cc\u062f.<\/span><\/p>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u062f\u0631 \u0645\u0631\u062d\u0644\u0647\u200c\u06cc \u0628\u0639\u062f\u060c apt \u0631\u0627 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0627\u0632 \u0628\u0633\u062a\u0647\u200c\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 PPA \u062c\u062f\u06cc\u062f \u0622\u06af\u0627\u0647 \u0634\u0648\u062f:<\/span><\/p>\n<pre data-enlighter-language=\"generic\"><code>sudo apt update<\/code><\/pre>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u067e\u0633 \u0627\u0632 \u0627\u06cc\u0646 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f Ansible \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/span><\/p>\n<pre data-enlighter-language=\"generic\"><code>sudo apt install ansible<\/code><\/pre>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">Node \u06a9\u0646\u062a\u0631\u0644 Ansible \u0634\u0645\u0627 \u0627\u06a9\u0646\u0648\u0646 \u062a\u0645\u0627\u0645 \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0647\u0627\u0633\u062a\u200c\u0647\u0627 \u0631\u0627 \u062f\u0627\u0631\u062f. \u062f\u0631 \u06af\u0627\u0645 \u0628\u0639\u062f\u060c \u0634\u06cc\u0648\u0647\u200c\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646\u200c \u0647\u0627\u0633\u062a\u200c\u0647\u0627 \u0628\u0647 Node \u06a9\u0646\u062a\u0631\u0644 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/span><\/p>\n<h2 class=\"md-end-block md-heading\" style=\"direction: rtl;\"><span class=\"md-plain\">\u06af\u0627\u0645 \u062f\u0648\u0645: \u062a\u0646\u0638\u06cc\u0645 \u0641\u0627\u06cc\u0644 Inventory<\/span><\/h2>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0641\u0627\u06cc\u0644 Inventory \u062f\u0627\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u062f\u0631\u0628\u0627\u0631\u0647\u200c\u06cc \u0633\u0631\u0648\u0631\u0647\u0627\u06cc\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0627 Ansible \u0645\u062f\u06cc\u0631\u06cc\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f \u0648 \u0628\u0647 \u0622\u0646\u200c\u0647\u0627 \u0647\u0627\u0633\u062a \u0645\u06cc\u200c\u06af\u0648\u06cc\u06cc\u0645. \u0634\u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u06cc\u06a9 \u062a\u0627 \u0686\u0646\u062f \u0633\u0631\u0648\u0631 \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644 Inventory \u062e\u0648\u062f \u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0647 \u0648 \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u062f\u0631 \u06af\u0631\u0648\u0647\u200c\u0647\u0627 \u0648 \u0632\u06cc\u0631\u06af\u0631\u0648\u0647\u200c\u0647\u0627 \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f. <\/span><\/p>\n<p>\u0628\u0631\u0627\u06cc \u0648\u06cc\u0631\u0627\u06cc\u0634 Inventory \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0627\u0646\u0633\u06cc\u0628\u0644\u060c \u0641\u0627\u06cc\u0644 <span spellcheck=\"false\">etc\/ansible\/hosts\/<\/span> \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0648\u06cc\u0631\u0627\u06cc\u0634\u200c\u06af\u0631 \u0645\u062a\u0646 \u062f\u0644\u200c\u062e\u0648\u0627\u0647\u062a\u0627\u0646 \u062f\u0631 Node \u06a9\u0646\u062a\u0631\u0644 Ansible \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"><code>sudo nano \/etc\/ansible\/hosts<\/code><\/pre>\n<p>\u0627\u06af\u0631\u0686\u0647 Ansible \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u06cc\u06a9 \u0641\u0627\u06cc\u0644 Inventory \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0631\u0627 \u062f\u0631 <span spellcheck=\"false\">etc\/ansible\/hosts<\/span> \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0627\u0645\u0627 \u0634\u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc Inventory \u0631\u0627 \u062f\u0631 \u0647\u0631 \u0645\u0633\u06cc\u0631\u06cc \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f \u0628\u0633\u0627\u0632\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631\u060c \u0628\u0627\u06cc\u062f \u0645\u0633\u06cc\u0631 \u0641\u0627\u06cc\u0644 Inventory \u0633\u0641\u0627\u0631\u0634\u06cc \u062e\u0648\u062f \u0631\u0627 \u0647\u0646\u06af\u0627\u0645 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0647\u0627\u06cc Ansible \u0648 Playbook \u0628\u0627 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 <span spellcheck=\"false\">i-<\/span> \u0627\u0631\u0627\u06cc\u0647 \u062f\u0647\u06cc\u062f.<\/p>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0641\u0627\u06cc\u0644 Inventory \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0627\u0631\u0627\u06cc\u0647\u200c\u0634\u062f\u0647 \u0628\u0647\u200c\u0648\u0633\u06cc\u0644\u0647\u200c\u06cc Ansible \u0634\u0627\u0645\u0644 \u062a\u0639\u062f\u0627\u062f\u06cc \u0646\u0645\u0648\u0646\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0622\u0646\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u062a\u0646\u0638\u06cc\u0645 Inventory \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. <\/span><\/p>\n<p>\u062f\u0631 \u0646\u0645\u0648\u0646\u0647\u200c\u06cc \u0632\u06cc\u0631 \u06af\u0631\u0648\u0647\u06cc \u0627\u0632 \u0633\u0647 \u0633\u0631\u0648\u0631 \u0645\u062e\u062a\u0644\u0641 \u0628\u0627 \u0646\u0627\u0645\u200c <span spellcheck=\"false\">[servers]<\/span> \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0647\u0631 \u06a9\u062f\u0627\u0645 \u0628\u0627 alias\u0647\u0627\u06cc: server2 \u060cserver1 \u0648 server3 \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/p>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0634\u0645\u0627 \u0628\u0627\u06cc\u062f IP\u200c\u0647\u0627\u06cc \u0646\u0645\u0648\u0646\u0647 \u0631\u0627 \u0628\u0627 \u0622\u062f\u0631\u0633\u200c\u0647\u0627\u06cc IP\u200c \u0647\u0627\u0633\u062a\u200c\u0647\u0627\u06cc Ansible \u062e\u0648\u062f \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f.<\/span><\/p>\n<pre data-enlighter-language=\"generic\"><code>[servers]\r\nserver1 ansible_host=1.2.3.4\r\nserver2 ansible_host=8.8.8.8\r\nserver3 ansible_host=4.2.2.4\r\n\u200b\r\n[all:vars]\r\nansible_python_interpreter=\/usr\/bin\/python3<\/code><\/pre>\n<p>\u062f\u0631 \u0622\u062e\u0631 \u0628\u0627 \u0641\u0634\u0627\u0631 \u062f\u0627\u062f\u0646 <span spellcheck=\"false\">CTRL+X<\/span>\u0633\u067e\u0633 <span spellcheck=\"false\">Y<\/span>\u0648 <span spellcheck=\"false\">ENTER<\/span> \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0628\u0646\u062f\u06cc\u062f.<\/p>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc Inventory \u062e\u0648\u062f \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u06a9\u0627\u0645\u0646\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"><code>ansible-inventory --list -y<\/code><\/pre>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u062e\u0631\u0648\u062c\u06cc \u0631\u0627 \u0628\u0647\u200c\u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0645\u0627 \u0628\u0627 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0633\u0631\u0648\u0631\u200c\u0647\u0627\u06cc \u062e\u0648\u062f\u062a\u0627\u0646 \u0645\u0634\u0627\u0647\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f:<\/span><\/p>\n<pre lang=\"\" spellcheck=\"false\"><code><span role=\"presentation\">all:<\/span>\r\n<span role=\"presentation\">  children:<\/span>\r\n<span role=\"presentation\"> \u00a0  servers:<\/span>\r\n<span role=\"presentation\"> \u00a0 \u00a0  hosts:<\/span>\r\n<span role=\"presentation\"> \u00a0 \u00a0 \u00a0  server1:<\/span>\r\n<span role=\"presentation\"> \u00a0 \u00a0 \u00a0 \u00a0  ansible_host: 1.2.3.4<\/span>\r\n<span role=\"presentation\"> \u00a0 \u00a0 \u00a0 \u00a0  ansible_python_interpreter: \/usr\/bin\/python3<\/span>\r\n<span role=\"presentation\"> \u00a0 \u00a0 \u00a0  server2:<\/span>\r\n<span role=\"presentation\"> \u00a0 \u00a0 \u00a0 \u00a0  ansible_host: 8.8.8.8<\/span>\r\n<span role=\"presentation\"> \u00a0 \u00a0 \u00a0 \u00a0  ansible_python_interpreter: \/usr\/bin\/python3<\/span>\r\n<span role=\"presentation\"> \u00a0 \u00a0 \u00a0  server3:<\/span>\r\n<span role=\"presentation\"> \u00a0 \u00a0 \u00a0 \u00a0  ansible_host: 4.2.2.2<\/span>\r\n<span role=\"presentation\"> \u00a0 \u00a0 \u00a0 \u00a0  ansible_python_interpreter: \/usr\/bin\/python3<\/span>\r\n<span role=\"presentation\"> \u00a0  ungrouped: {}<\/span><\/code><\/pre>\n<h2 class=\"md-end-block md-heading\" style=\"direction: rtl;\"><span class=\"md-plain\">\u06af\u0627\u0645 \u0633\u0648\u0645: \u062a\u0633\u062a \u0627\u062a\u0635\u0627\u0644<\/span><\/h2>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u067e\u0633 \u0627\u0632 \u062a\u0646\u0638\u06cc\u0645 \u0641\u0627\u06cc\u0644 Inventory \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u0622\u06cc\u0627 Ansible \u0627\u0645\u06a9\u0627\u0646 \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0627\u06cc\u0646 \u0633\u0631\u0648\u0631\u0647\u0627 \u0648 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0647\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 SSH \u0631\u0627 \u062f\u0627\u0631\u062f \u06cc\u0627 \u062e\u06cc\u0631.<\/span><\/p>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0627\u0632 Node \u06a9\u0646\u062a\u0631\u0644 Ansible\u060c \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"><code>ansible all -m ping -u root<\/code><\/pre>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0627\u0632 <\/span><span class=\"md-meta-i-c md-link\"><a spellcheck=\"false\" href=\"https:\/\/docs.ansible.com\/ansible\/latest\/collections\/ansible\/builtin\/ping_module.html\" rel=\"nofollow noopener\" target=\"_blank\"><span class=\"md-plain\">\u0645\u0627\u0698\u0648\u0644 Ping<\/span><\/a><\/span><span class=\"md-plain\"> \u062f\u0627\u062e\u0644\u06cc Ansible \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a \u0627\u062a\u0635\u0627\u0644 \u0631\u0648\u06cc \u062a\u0645\u0627\u0645 Node\u0647\u0627\u06cc Inventory \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647:<\/span><\/p>\n<ul class=\"ul-list\" data-mark=\"-\">\n<li class=\"md-list-item\">\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0645\u06cc\u0632\u0628\u0627\u0646\u200c\u0647\u0627 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0628\u0627\u0634\u0646\u062f<\/span><\/p>\n<\/li>\n<li class=\"md-list-item\">\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u062f\u0627\u0631\u0627\u06cc \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc SSH \u0645\u0639\u062a\u0628\u0631 \u0628\u0627\u0634\u0646\u062f<\/span><\/p>\n<\/li>\n<li class=\"md-list-item\">\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0647\u0627\u0633\u062a\u200c\u0647\u0627 \u0628\u062a\u0648\u0627\u0646\u0646\u062f \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u06cc Ansible \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0627\u062c\u0631\u0627 \u06a9\u0646\u0646\u062f.<\/span><\/p>\n<\/li>\n<\/ul>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0628\u0627\u06cc\u062f \u062e\u0631\u0648\u062c\u06cc \u0631\u0627 \u0628\u0647\u200c \u0627\u06cc\u0646 \u0634\u06a9\u0644 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f:<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"\" spellcheck=\"false\"><code><span role=\"presentation\">server1 | SUCCESS =&gt; {<\/span>\r\n<span role=\"presentation\"> \u00a0  \"changed\": false,<\/span>\r\n<span role=\"presentation\"> \u00a0  \"ping\": \"pong\"<\/span>\r\n<span role=\"presentation\">}<\/span>\r\n<span role=\"presentation\">server2 | SUCCESS =&gt; {<\/span>\r\n<span role=\"presentation\"> \u00a0  \"changed\": false,<\/span>\r\n<span role=\"presentation\"> \u00a0  \"ping\": \"pong\"<\/span>\r\n<span role=\"presentation\">}<\/span>\r\n<span role=\"presentation\">server3 | SUCCESS =&gt; {<\/span>\r\n<span role=\"presentation\"> \u00a0  \"changed\": false,<\/span>\r\n<span role=\"presentation\"> \u00a0  \"ping\": \"pong\"<\/span>\r\n<span role=\"presentation\">}<\/span><\/code><\/pre>\n<p>\u0627\u06af\u0631 \u0627\u06cc\u0646 \u0627\u0648\u0644\u06cc\u0646 \u0628\u0627\u0631\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0627\u0632 \u0637\u0631\u06cc\u0642 SSH \u0628\u0647 \u0627\u06cc\u0646 \u0633\u0631\u0648\u0631\u0647\u0627 \u0645\u062a\u0635\u0644 \u0645\u06cc\u200c\u0634\u0648\u06cc\u062f\u060c \u0627\u0632 \u0634\u0645\u0627 \u062e\u0648\u0627\u0633\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u0635\u062d\u062a \u0647\u0627\u0633\u062a\u200c\u0647\u0627 \u0631\u0627 \u062a\u0627\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f. <span spellcheck=\"false\">yes<\/span> \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0646\u06cc\u062f \u0648 \u0633\u067e\u0633 <span spellcheck=\"false\">ENTER<\/span> \u0628\u0632\u0646\u06cc\u062f.<\/p>\n<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u067e\u0627\u0633\u062e <span spellcheck=\"false\">&#8220;pong&#8221;<\/span> \u0631\u0627 \u0627\u0632 \u0627\u0632 \u06cc\u06a9 \u0645\u06cc\u0632\u0628\u0627\u0646 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u06cc\u0639\u0646\u06cc \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0647\u0627\u06cc Ansible \u0648 Playbook \u0631\u0627 \u062f\u0631 \u0622\u0646 \u0633\u0631\u0648\u0631 \u062f\u0627\u0631\u062f.<\/p>\n<h2 class=\"md-end-block md-heading\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0647\u0627\u06cc Ad-Hoc<\/span><\/h2>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u067e\u0633 \u0627\u0632 \u062a\u0627\u06cc\u06cc\u062f \u0627\u06cc\u0646\u200c\u06a9\u0647 Node \u06a9\u0646\u062a\u0631\u0644 Ansible \u0634\u0645\u0627 \u0642\u0627\u062f\u0631 \u0628\u0647 \u0628\u0631\u0642\u0631\u0627\u0631\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0627 \u0647\u0627\u0633\u062a\u200c\u0647\u0627\u0633\u062a\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0647\u0627\u06cc Ad-hoc \u0648 Playbook\u0647\u0627 \u0631\u0627 \u062f\u0631 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u062e\u0648\u062f \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f.<\/span><\/p>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0647\u0631 \u062f\u0633\u062a\u0648\u0631\u06cc \u06a9\u0647 \u0631\u0648\u06cc \u06cc\u06a9 \u0633\u0631\u0648\u0631 \u0627\u0632 \u0637\u0631\u06cc\u0642 SSH \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0627 Ansible \u062f\u0631 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u0645\u0634\u062e\u0635\u200c\u0634\u062f\u0647 \u062f\u0631 \u0641\u0627\u06cc\u0644 Inventory \u0634\u0645\u0627 \u0627\u062c\u0631\u0627 \u0634\u0648\u062f. \u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u0646\u0647\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u06cc\u0632\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u06cc\u0633\u06a9 \u062f\u0631 \u0647\u0645\u0647\u200c\u06cc \u0633\u0631\u0648\u0631\u0647\u0627 \u0631\u0627 \u0628\u0627 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/span><\/p>\n<pre data-enlighter-language=\"generic\"><code>ansible all -a \"df -h\" -u root<\/code><\/pre>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u062e\u0631\u0648\u062c\u06cc:<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"\" spellcheck=\"false\"><code><span role=\"presentation\">server1 | CHANGED | rc=0 &gt;&gt;<\/span>\r\n<span role=\"presentation\">Filesystem \u00a0 \u00a0  Size  Used Avail Use% Mounted on<\/span>\r\n<span role=\"presentation\">udev \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  3.9G \u00a0 \u00a0 0  3.9G \u00a0 0% \/dev<\/span>\r\n<span role=\"presentation\">tmpfs \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 798M  624K  798M \u00a0 1% \/run<\/span>\r\n<span role=\"presentation\">\/dev\/vda1 \u00a0 \u00a0 \u00a0 155G  2.3G  153G \u00a0 2% \/<\/span>\r\n<span role=\"presentation\">tmpfs \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 3.9G \u00a0 \u00a0 0  3.9G \u00a0 0% \/dev\/shm<\/span>\r\n<span role=\"presentation\">tmpfs \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 5.0M \u00a0 \u00a0 0  5.0M \u00a0 0% \/run\/lock<\/span>\r\n<span role=\"presentation\">tmpfs \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 3.9G \u00a0 \u00a0 0  3.9G \u00a0 0% \/sys\/fs\/cgroup<\/span>\r\n<span role=\"presentation\">\/dev\/vda15 \u00a0 \u00a0  105M  3.6M  101M \u00a0 4% \/boot\/efi<\/span>\r\n<span role=\"presentation\">tmpfs \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 798M \u00a0 \u00a0 0  798M \u00a0 0% \/run\/user\/0<\/span>\r\n<span role=\"presentation\">\u200b<\/span>\r\n<span role=\"presentation\">server2 | CHANGED | rc=0 &gt;&gt;<\/span>\r\n<span role=\"presentation\">Filesystem \u00a0 \u00a0  Size  Used Avail Use% Mounted on<\/span>\r\n<span role=\"presentation\">udev \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  2.0G \u00a0 \u00a0 0  2.0G \u00a0 0% \/dev<\/span>\r\n<span role=\"presentation\">tmpfs \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 395M  608K  394M \u00a0 1% \/run<\/span>\r\n<span role=\"presentation\">\/dev\/vda1 \u00a0 \u00a0 \u00a0  78G  2.2G \u00a0 76G \u00a0 3% \/<\/span>\r\n<span role=\"presentation\">tmpfs \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 2.0G \u00a0 \u00a0 0  2.0G \u00a0 0% \/dev\/shm<\/span>\r\n<span role=\"presentation\">tmpfs \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 5.0M \u00a0 \u00a0 0  5.0M \u00a0 0% \/run\/lock<\/span>\r\n<span role=\"presentation\">tmpfs \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 2.0G \u00a0 \u00a0 0  2.0G \u00a0 0% \/sys\/fs\/cgroup<\/span>\r\n<span role=\"presentation\">\/dev\/vda15 \u00a0 \u00a0  105M  3.6M  101M \u00a0 4% \/boot\/efi<\/span>\r\n<span role=\"presentation\">tmpfs \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 395M \u00a0 \u00a0 0  395M \u00a0 0% \/run\/user\/0<\/span>\r\n<span role=\"presentation\">\u200b<\/span> <span role=\"presentation\">...<\/span><\/code><\/pre>\n<p>\u062f\u0633\u062a\u0648\u0631 <span spellcheck=\"false\">df -h<\/span> \u0631\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0627 \u0647\u0631 \u062f\u0633\u062a\u0648\u0631\u06cc \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0631\u062f.<\/p>\n<p>\u0639\u0644\u0627\u0648\u0647\u200c\u0628\u0631 \u0627\u06cc\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f <a spellcheck=\"false\" href=\"https:\/\/docs.ansible.com\/ansible\/latest\/module_plugin_guide\/index.html\" rel=\"nofollow noopener\" target=\"_blank\">\u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u06cc Ansible<\/a> \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u062f\u0633\u062a\u0648\u0631\u0647\u0627\u06cc ad-hoc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u0627\u0698\u0648\u0644 <span spellcheck=\"false\">apt<\/span> \u0622\u062e\u0631\u06cc\u0646 \u0646\u0633\u062e\u0647\u200c\u06cc <span spellcheck=\"false\">vim<\/span> \u0631\u0627 \u0631\u0648\u06cc \u062a\u0645\u0627\u0645 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc Inventory \u062e\u0648\u062f \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"><code>ansible all -m apt -a \"name=vim state=latest\" -u root<\/code><\/pre>\n<p>\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0633\u062a\u0648\u0631\u0647\u0627\u06cc Ansible \u0631\u0627 \u0631\u0648\u06cc \u0647\u0627\u0633\u062a\u200c\u0647\u0627\u060c \u06af\u0631\u0648\u0647\u200c\u0647\u0627 \u06cc\u0627 \u0632\u06cc\u0631\u06af\u0631\u0648\u0647\u200c\u0647\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f. \u0645\u062b\u0644\u0646\u060c \u0634\u06cc\u0648\u0647\u200c\u06cc \u0628\u0631\u0631\u0633\u06cc <span spellcheck=\"false\">uptime<\/span> \u0647\u0631 \u0647\u0627\u0633\u062a \u062f\u0631 \u06af\u0631\u0648\u0647 <span spellcheck=\"false\">servers<\/span> \u0628\u0647 \u0627\u06cc\u0646 \u0634\u06a9\u0644 \u0627\u0633\u062a:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"><code>ansible servers -a \"uptime\" -u root<\/code><\/pre>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0647\u0645\u200c\u0686\u0646\u06cc\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0686\u0646\u062f\u06cc\u0646 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0631\u0627 \u0628\u0627 \u062c\u062f\u0627 \u06a9\u0631\u062f\u0646 \u0622\u0646\u200c\u0647\u0627 \u0628\u0627 \u062f\u0648\u0646\u0642\u0637\u0647 \u0645\u0634\u062e\u0635 \u06a9\u0646\u06cc\u0645:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"><code>ansible server1:server2 -m ping -u root<\/code><\/pre>\n<p class=\"md-end-block md-p\" style=\"direction: rtl;\"><span class=\"md-plain\">\u0628\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u200c\u062a\u0631 \u062f\u0631\u0628\u0627\u0631\u0647\u200c\u06cc \u0634\u06cc\u0648\u0647\u200c\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Ansible \u0648 \u0627\u062c\u0631\u0627\u06cc Playbook\u0647\u0627 \u0628\u0631\u0627\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631\u0633\u0627\u0632\u06cc \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0633\u0631\u0648\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f <\/span><span class=\"md-meta-i-c md-link\"><a spellcheck=\"false\" href=\"https:\/\/access.redhat.com\/documentation\/en-us\/red_hat_ansible_automation_platform\/2.3\" rel=\"nofollow noopener\" target=\"_blank\"><span class=\"md-plain\">\u0631\u0627\u0647\u0646\u0645\u0627\u06cc Ansible<\/span><\/a><\/span><span class=\"md-plain\"> \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f .<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0633\u06cc\u0633\u062a\u0645\u200c\u0647\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0627\u0646\u0641\u06cc\u06af \u0628\u0631\u0627\u06cc \u0633\u0627\u062f\u0647\u200c\u200c \u0634\u062f\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f \u06a9\u0646\u062a\u0631\u0644 \u062a\u0639\u062f\u0627\u062f \u0632\u06cc\u0627\u062f \u0633\u0631\u0648\u0631\u0647\u0627 \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647\u200c\u0627\u0646\u062f \u062a\u0627 \u0628\u0647 \u0645\u062f\u06cc\u0631\u0627\u0646 \u0648 \u062a\u06cc\u0645\u200c\u0647\u0627\u06cc \u0641\u0646\u06cc \u06a9\u0645\u06a9 \u06a9\u0646\u0646\u062f \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0634\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0646\u0646\u062f. \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0628\u0633\u06cc\u0627\u0631\u06cc \u0645\u0627\u0646\u0646\u062f Chef \u0648 Puppet \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u0646\u062f \u06a9\u0647 \u0645\u0639\u0645\u0648\u0644\u0646 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc\u200c\u0647\u0627\u06cc \u0641\u0646\u06cc \u0632\u06cc\u0627\u062f\u06cc \u062f\u0627\u0631\u0646\u062f. Ansible \u06cc\u06a9 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0633\u06cc\u0633\u062a\u0645\u200c\u0647\u0627\u0633\u062a \u0632\u06cc\u0631\u0627 \u0645\u0639\u0645\u0627\u0631\u06cc \u06a9\u0647 [&hellip;]<\/p>\n","protected":false},"author":79,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"r1_post_views_count":"647","feedback_yes":"0","feedback_no":"0","ads_id_sidebar":"","ads_id_content":"","footnotes":""},"categories":[211,207],"tags":[],"class_list":["post-27196","post","type-post","status-publish","format-standard","hentry","category-app-development","category-cloud-server"],"lang":"fa","translations":{"fa":27196},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/posts\/27196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/users\/79"}],"replies":[{"embeddable":true,"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/comments?post=27196"}],"version-history":[{"count":7,"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/posts\/27196\/revisions"}],"predecessor-version":[{"id":28299,"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/posts\/27196\/revisions\/28299"}],"wp:attachment":[{"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/media?parent=27196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/categories?post=27196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.arvancloud.ir\/help\/wp-json\/wp\/v2\/tags?post=27196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}