{"id":42544,"date":"2023-04-04T20:20:33","date_gmt":"2022-12-19T17:09:11","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%a6%bb%e7%ba%bf%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8ansible-2-ansible%e9%97%ae%e9%a2%98%e4%b8%93%e8%be%91\/"},"modified":"2024-01-15T11:26:40","modified_gmt":"2024-01-15T03:26:40","slug":"%e5%9c%a8%e7%a6%bb%e7%ba%bf%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8ansible-2-ansible%e9%97%ae%e9%a2%98%e4%b8%93%e8%be%91","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%a6%bb%e7%ba%bf%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8ansible-2-ansible%e9%97%ae%e9%a2%98%e4%b8%93%e8%be%91\/","title":{"rendered":"\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u4f7f\u7528Ansible #2 ~Ansible\u95ee\u9898\u4e13\u8f91~"},"content":{"rendered":"<h1>\u9996\u5148<\/h1>\n<p>\u6211\u662f\u4e00\u540d\u57fa\u7840\u8bbe\u65bd\u5de5\u7a0b\u5e08\uff0c\u5e73\u65f6\u4ece\u6700\u5e95\u5c42\u5f00\u59cb\u521b\u5efa\u865a\u62df\u73af\u5883\u5e76\u5b89\u88c5\u5ba2\u6237\u7aef\u64cd\u4f5c\u7cfb\u7edf\u3002\u56e0\u6b64\uff0c\u4e0e\u4e13\u4e1a\u672f\u8bed\u4ee5\u53ca\u81ea\u52a8\u5316\u548c\u6548\u7387\u63d0\u5347\u6709\u4e9b\u8bb8\u65e0\u7f18\u3002\u8fd9\u7bc7\u6587\u7ae0\u662f\u6211\u8bb0\u5f55\u5173\u4e8e\u4f7f\u7528Ansible\u7684\u51b3\u5fc3\u548c\u52aa\u529b\uff0c\u5e0c\u671b\u80fd\u591f\u638c\u63e1\u5e76\u4f7f\u7528\u5b83\u3002\uff08\u4e0e#1\u76f8\u4f3c\uff09<\/p>\n<p>\u5728\u4e0a\u4e00\u6b21\u7684\u79bb\u7ebf\u73af\u5883\u4e2d\uff0c\u901a\u8fc7Ansible #1 \u8fdb\u884c\u4e86\u670d\u52a1\u5668\u548c\u5ba2\u6237\u7aef\u7684\u914d\u7f6e\uff0c\u73b0\u5728\u8981\u8fd0\u884cAnsible\u3002<\/p>\n<h1>\u95ee\u9898\u7684\u8d77\u6e90&#8230;<\/h1>\n<p>\u9996\u5148\uff0c\u5728\u6d41\u7a0b\u6267\u884cPlaybook\u4e4b\u524d\uff0c\u6211\u60f3\u8981\u786e\u4fddAnsible\u80fd\u591f\u6b63\u5e38\u5de5\u4f5c\uff0c\u6240\u4ee5\u6211\u5728\u547d\u4ee4\u884c\u4e0a\u8fdb\u884c\u4e86\u64cd\u4f5c\u3002\u8fd9\u6b21\u6211\u6253\u7b97\u6309\u7167ID\u548c\u540d\u79f0\u7684\u6307\u5b9a\uff0c\u5c1d\u8bd5\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u7528\u6237\u7ec4\u3002<br \/>\n\u73b0\u5728\uff0c\u8ba9\u6211\u4eec\u5c1d\u8bd5\u6267\u884c\u914d\u7f6e\u3002\u4f46\u662f\uff0c\u5f53\u5f00\u59cb\u6267\u884c\u65f6\uff0c\u51fa\u73b0\u4e86\u9519\u8bef\u3002<\/p>\n<pre class=\"post-pre\"><code>ansible all -m group -a \"name=AAA gid=10000\"\r\n[DEPRECATION WARNING]: The TRANSFORM_INVALID_GROUP_CHARS settings is set to allow bad characters in group names by default, this will change,\r\n but still be user configurable on deprecation. This feature will be removed in version 2.10. Deprecation warnings can be disabled by setting\r\n deprecation_warnings=False in ansible.cfg.\r\n[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details\r\n\r\n{IP-ADDRESS} | UNREACHABLE! =&gt; {\r\n    \"changed\": false,\r\n    \"msg\": \"Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\",\r\n    \"unreachable\": true\r\n}\r\n# ansible Ansible-Client -m group -a \"name=AAA gid=10000\"\r\n<\/code><\/pre>\n<p>\u9996\u5148\uff0c\u7531\u4e8e\u672a\u6307\u5b9a\u8fde\u63a5SSH\u7684\u76ee\u6807\u7528\u6237\uff0c\u56e0\u6b64\u5c1d\u8bd5\u4f7f\u7528\u4e0eAnsible\u670d\u52a1\u5668\u76f8\u540c\u7684root\u7528\u6237\u8fdb\u884c\u8fde\u63a5\u3002\u7531\u4e8e\u6ca1\u6709\u901a\u8fc7root\u7528\u6237\u8fdb\u884c\u8eab\u4efd\u9a8c\u8bc1\uff0c\u6240\u4ee5\u5f53\u7136\u65e0\u6cd5\u8bbf\u95ee\u3002<\/p>\n<p>\u56e0\u6b64\uff0c\u6211\u4eec\u5c06\u901a\u8fc7\u786e\u8ba4\u8fde\u63a5\u7528\u6237\u6765\u5efa\u7acb\u8fde\u63a5\u3002\u65b9\u6cd5\u662f\u4f7f\u7528Ansible\u6307\u5b9aSSH\u8fde\u63a5\u7528\u6237\u7684\u65b9\u5f0f\u3002<\/p>\n<pre class=\"post-pre\"><code># vim \/etc\/ansible\/hosts\r\n...\r\n[Ansible-Client]\r\nansible-client ansible_ssh_user=ansible\r\n<\/code><\/pre>\n<p>\u8fd9\u6837\u5c31\u53ef\u4ee5\u4e86\u3002\u73b0\u5728\u4f60\u53ef\u4ee5\u4f7f\u7528ansible\u7528\u6237\uff0c\u6240\u4ee5\u6211\u4eec\u53ef\u4ee5\u518d\u6b21\u5c1d\u8bd5\u3002<\/p>\n<pre class=\"post-pre\"><code># ansible Ansible-Client -m group -a \"name=AAA gid=10000\"\r\n[DEPRECATION WARNING]: The TRANSFORM_INVALID_GROUP_CHARS settings is set to allow bad characters in group names by default, this will change,\r\n but still be user configurable on deprecation. This feature will be removed in version 2.10. Deprecation warnings can be disabled by setting\r\n deprecation_warnings=False in ansible.cfg.\r\n[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details\r\n\r\n{IP-ADDRESS} | FAILED! =&gt; {\r\n    \"ansible_facts\": {\r\n        \"discovered_interpreter_python\": \"\/usr\/bin\/python\"\r\n    },\r\n    \"changed\": false,\r\n    \"cmd\": \"\/sbin\/groupadd -g 10000 AAA\",\r\n    \"msg\": \"[Errno 13] Permission denied\",\r\n    \"rc\": 13\r\n}\r\n<\/code><\/pre>\n<p>\u6743\u9650\u95ee\u9898\u3002\u867d\u7136\u7ed9\u4e86sudo\u6743\u9650\uff0c\u4f46\u56e0\u4e3asudo\u9700\u8981\u5bc6\u7801\uff0c\u5c1d\u8bd5\u7a81\u7834ssh\u8ba4\u8bc1\u4f1a\u8fd4\u56de\u9519\u8bef\u3002\u5f53\u7136\u662f\u8fd9\u6837\u5566\u3002\u771f\u9ebb\u70e6\u5462\u3002<br \/>\n\u56e0\u4e3a\u62c5\u5fc3\u8fd9\u6b21\u6ca1\u6709\u5bc6\u7801\u8ba4\u8bc1\u4f1a\u5f88\u9ebb\u70e6\uff0c\u6240\u4ee5\u51b3\u5b9a\u628a\u516c\u94a5\u4f20\u7ed9root\u7528\u6237\u5e76\u5728root\u7528\u6237\u4e0b\u6267\u884c\u3002<\/p>\n<pre class=\"post-pre\"><code># ansible Ansible-Client -m group -a \"name=AAA gid=10000\"\r\n[DEPRECATION WARNING]: The TRANSFORM_INVALID_GROUP_CHARS settings is set to allow bad characters in group names by default, this will change,\r\n but still be user configurable on deprecation. This feature will be removed in version 2.10. Deprecation warnings can be disabled by setting\r\n deprecation_warnings=False in ansible.cfg.\r\n[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details\r\n\r\n{IPADDRESS} | CHANGED =&gt; {\r\n    \"ansible_facts\": {\r\n        \"discovered_interpreter_python\": \"\/usr\/bin\/python\"\r\n    },\r\n    \"changed\": true,\r\n    \"gid\": 10000,\r\n    \"name\": \"AAA\",\r\n    \"state\": \"present\",\r\n    \"system\": false\r\n}\r\n<\/code><\/pre>\n<p>\u7ec8\u4e8e\uff01\uff01\uff01\u7ec8\u4e8e\u505a\u5b8c\u4e86\u3002\u54c7\u54e6\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148 \u6211\u662f\u4e00\u540d\u57fa\u7840\u8bbe\u65bd\u5de5\u7a0b\u5e08\uff0c\u5e73\u65f6\u4ece\u6700\u5e95\u5c42\u5f00\u59cb\u521b\u5efa\u865a\u62df\u73af\u5883\u5e76\u5b89\u88c5\u5ba2\u6237\u7aef\u64cd\u4f5c\u7cfb\u7edf\u3002\u56e0\u6b64\uff0c\u4e0e\u4e13\u4e1a\u672f\u8bed\u4ee5\u53ca\u81ea\u52a8\u5316\u548c\u6548 [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-42544","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u4f7f\u7528Ansible #2 ~Ansible\u95ee\u9898\u4e13\u8f91~ - Blog - Silicon Cloud<\/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:\/\/www.silicloud.com\/zh\/blog\/\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u4f7f\u7528ansible-2-ansible\u95ee\u9898\u4e13\u8f91\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u4f7f\u7528Ansible #2 ~Ansible\u95ee\u9898\u4e13\u8f91~\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148 \u6211\u662f\u4e00\u540d\u57fa\u7840\u8bbe\u65bd\u5de5\u7a0b\u5e08\uff0c\u5e73\u65f6\u4ece\u6700\u5e95\u5c42\u5f00\u59cb\u521b\u5efa\u865a\u62df\u73af\u5883\u5e76\u5b89\u88c5\u5ba2\u6237\u7aef\u64cd\u4f5c\u7cfb\u7edf\u3002\u56e0\u6b64\uff0c\u4e0e\u4e13\u4e1a\u672f\u8bed\u4ee5\u53ca\u81ea\u52a8\u5316\u548c\u6548 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u4f7f\u7528ansible-2-ansible\u95ee\u9898\u4e13\u8f91\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-19T17:09:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-15T03:26:40+00:00\" \/>\n<meta name=\"author\" content=\"\u9038, \u79d1\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u9038, \u79d1\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%a6%bb%e7%ba%bf%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8ansible-2-ansible%e9%97%ae%e9%a2%98%e4%b8%93%e8%be%91\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%a6%bb%e7%ba%bf%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8ansible-2-ansible%e9%97%ae%e9%a2%98%e4%b8%93%e8%be%91\/\",\"name\":\"\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u4f7f\u7528Ansible #2 ~Ansible\u95ee\u9898\u4e13\u8f91~ - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2022-12-19T17:09:11+00:00\",\"dateModified\":\"2024-01-15T03:26:40+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%a6%bb%e7%ba%bf%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8ansible-2-ansible%e9%97%ae%e9%a2%98%e4%b8%93%e8%be%91\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%a6%bb%e7%ba%bf%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8ansible-2-ansible%e9%97%ae%e9%a2%98%e4%b8%93%e8%be%91\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%a6%bb%e7%ba%bf%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8ansible-2-ansible%e9%97%ae%e9%a2%98%e4%b8%93%e8%be%91\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u4f7f\u7528Ansible #2 ~Ansible\u95ee\u9898\u4e13\u8f91~\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487\",\"name\":\"\u9038, \u79d1\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g\",\"caption\":\"\u9038, \u79d1\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/keyi\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%a6%bb%e7%ba%bf%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8ansible-2-ansible%e9%97%ae%e9%a2%98%e4%b8%93%e8%be%91\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u4f7f\u7528Ansible #2 ~Ansible\u95ee\u9898\u4e13\u8f91~ - Blog - Silicon Cloud","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:\/\/www.silicloud.com\/zh\/blog\/\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u4f7f\u7528ansible-2-ansible\u95ee\u9898\u4e13\u8f91\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u4f7f\u7528Ansible #2 ~Ansible\u95ee\u9898\u4e13\u8f91~","og_description":"\u9996\u5148 \u6211\u662f\u4e00\u540d\u57fa\u7840\u8bbe\u65bd\u5de5\u7a0b\u5e08\uff0c\u5e73\u65f6\u4ece\u6700\u5e95\u5c42\u5f00\u59cb\u521b\u5efa\u865a\u62df\u73af\u5883\u5e76\u5b89\u88c5\u5ba2\u6237\u7aef\u64cd\u4f5c\u7cfb\u7edf\u3002\u56e0\u6b64\uff0c\u4e0e\u4e13\u4e1a\u672f\u8bed\u4ee5\u53ca\u81ea\u52a8\u5316\u548c\u6548 [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u4f7f\u7528ansible-2-ansible\u95ee\u9898\u4e13\u8f91\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2022-12-19T17:09:11+00:00","article_modified_time":"2024-01-15T03:26:40+00:00","author":"\u9038, \u79d1","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u9038, \u79d1","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"2 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%a6%bb%e7%ba%bf%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8ansible-2-ansible%e9%97%ae%e9%a2%98%e4%b8%93%e8%be%91\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%a6%bb%e7%ba%bf%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8ansible-2-ansible%e9%97%ae%e9%a2%98%e4%b8%93%e8%be%91\/","name":"\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u4f7f\u7528Ansible #2 ~Ansible\u95ee\u9898\u4e13\u8f91~ - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2022-12-19T17:09:11+00:00","dateModified":"2024-01-15T03:26:40+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%a6%bb%e7%ba%bf%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8ansible-2-ansible%e9%97%ae%e9%a2%98%e4%b8%93%e8%be%91\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%a6%bb%e7%ba%bf%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8ansible-2-ansible%e9%97%ae%e9%a2%98%e4%b8%93%e8%be%91\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%a6%bb%e7%ba%bf%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8ansible-2-ansible%e9%97%ae%e9%a2%98%e4%b8%93%e8%be%91\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u4f7f\u7528Ansible #2 ~Ansible\u95ee\u9898\u4e13\u8f91~"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487","name":"\u9038, \u79d1","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g","caption":"\u9038, \u79d1"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/keyi\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%a6%bb%e7%ba%bf%e7%8e%af%e5%a2%83%e4%b8%8b%e4%bd%bf%e7%94%a8ansible-2-ansible%e9%97%ae%e9%a2%98%e4%b8%93%e8%be%91\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/42544","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=42544"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/42544\/revisions"}],"predecessor-version":[{"id":59040,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/42544\/revisions\/59040"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=42544"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=42544"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=42544"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}