Skip to content

Commit

Permalink
doc: update ansible.md (#534)
Browse files Browse the repository at this point in the history
Co-authored-by: 魏栋梁 <[email protected]> f176bf6
  • Loading branch information
jaywcjlove committed Feb 28, 2024
1 parent d3a863a commit c18357a
Show file tree
Hide file tree
Showing 4 changed files with 107 additions and 4 deletions.
2 changes: 1 addition & 1 deletion data.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion data.json

Large diffs are not rendered by default.

105 changes: 104 additions & 1 deletion docs/ansible.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
<p>此快速参考备忘单提供了使用 <a href="https://ansible.com">Ansible</a> 的各种方法。</p>
</div></header><div class="menu-tocs"><div class="menu-btn"><svg aria-hidden="true" fill="currentColor" height="1em" width="1em" viewBox="0 0 16 16" version="1.1" data-view-component="true">
<path fill-rule="evenodd" d="M2 4a1 1 0 100-2 1 1 0 000 2zm3.75-1.5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zM3 8a1 1 0 11-2 0 1 1 0 012 0zm-1 6a1 1 0 100-2 1 1 0 000 2z"></path>
</svg></div><div class="menu-modal"><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#入门">入门</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#安装">安装</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#配置位置">配置位置</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#inventory文件hosts列表">Inventory文件(hosts列表)</a><a aria-hidden="true" class="leve4 tocs-link" data-num="4" href="#静态inventory">静态Inventory</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#inventory-主机组使用多个ip和域名">Inventory 主机组使用多个IP和域名</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#inventory-主机组使用子主机组">Inventory 主机组使用子主机组</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#给多台主机设置变量">给多台主机设置变量</a><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#命令行ad-hoc">命令行(ad-hoc)</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible">ansible</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-命令帮助">Ansible 命令帮助</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-galaxy-工具">Ansible Galaxy 工具</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-doc">ansible-doc</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-vault">ansible-vault</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-playbook">ansible-playbook</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-pull">ansible-pull</a><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#另见">另见</a></div></div><div class="h1wrap-body"><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="入门"><a aria-hidden="true" tabindex="-1" href="#入门"><span class="icon icon-link"></span></a>入门</h2><div class="wrap-body">
</svg></div><div class="menu-modal"><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#入门">入门</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#安装">安装</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#配置位置">配置位置</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#inventory文件hosts列表">Inventory文件(hosts列表)</a><a aria-hidden="true" class="leve4 tocs-link" data-num="4" href="#静态inventory">静态Inventory</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#inventory-主机组使用多个ip和域名">Inventory 主机组使用多个IP和域名</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#inventory-主机组使用子主机组">Inventory 主机组使用子主机组</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#给多台主机设置变量">给多台主机设置变量</a><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#命令行ad-hoc">命令行(ad-hoc)</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible">ansible</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-命令帮助">Ansible 命令帮助</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-galaxy-工具">Ansible Galaxy 工具</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible常用模块">ansible常用模块</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-doc">ansible-doc</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-vault">ansible-vault</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-playbook">ansible-playbook</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#ansible-pull">ansible-pull</a><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#另见">另见</a></div></div><div class="h1wrap-body"><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="入门"><a aria-hidden="true" tabindex="-1" href="#入门"><span class="icon icon-link"></span></a>入门</h2><div class="wrap-body">
</div></div><div class="h2wrap-body"><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="安装"><a aria-hidden="true" tabindex="-1" href="#安装"><span class="icon icon-link"></span></a>安装</h3><div class="wrap-body">


Expand Down Expand Up @@ -400,6 +400,109 @@ <h4 id="静态inventory"><a aria-hidden="true" tabindex="-1" href="#静态invent
</span><span class="code-line">$ ansible-galaxy init <span class="token parameter variable">--offline</span> <span class="token operator">&#x3C;</span>ROLE<span class="token operator">></span>
</span></code></pre>
<!--rehype:className=wrap-text-->
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="ansible常用模块"><a aria-hidden="true" tabindex="-1" href="#ansible常用模块"><span class="icon icon-link"></span></a>ansible常用模块</h3><div class="wrap-body">
<p>ansible的模块已经高达3000+之多。但是个人在日常工作中,比较常见的大约20多个</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ ansible-doc <span class="token parameter variable">--list</span> <span class="token comment">#查询所有模块</span>
</span><span class="code-line">$ ansible <span class="token operator">&#x3C;</span>host-pattern<span class="token operator">></span> <span class="token punctuation">[</span>options<span class="token punctuation">]</span> <span class="token comment"># 标准使用方式</span>
</span></code></pre>
<hr>































































































<table class="style-list"><thead><tr><th>:-</th><th>-</th><th>-</th></tr></thead><tbody><tr><td>ping</td><td>检查指定节点机器是否还能连通</td><td>ansible all -m ping</td></tr><tr><td>command</td><td>用于在各受控端节点运行指定的命令</td><td>ansible all -m command -a 'hostname'</td></tr><tr><td>shell</td><td>shell模块可以特殊字符,而command是不支持</td><td>ansible all -m shell -a 'hostname &#x26;&#x26; date'</td></tr><tr><td>hostname</td><td>修改远程受控节点的主机名的模块</td><td>ansible -i /opt/hosts xx -m hostname -a 'name=ansible-client-199'</td></tr><tr><td>copy</td><td>在远程主机执行复制操作文件</td><td>ansible all -m copy -a 'src=/etc/hosts dest=/opt/hosts backup=yes'</td></tr><tr><td>fetch</td><td>从远程主机获取文件到管理节点,但是不支持目录操作</td><td>ansible all -m fetch -a "src=/etc/yum.repos.d/epel.repo dest=/usr/local/src"</td></tr><tr><td>script</td><td>管理端一个脚本,然后在远程服务器上执行</td><td>ansible all -m script -a '/root/time.sh'</td></tr><tr><td>file</td><td>主要用于远程主机上的文件和目录操作</td><td>ansible all -m file -a "path=/root/rsync.password mode=600 state=touch"</td></tr><tr><td>cron</td><td>管理执行任务计划模块(增删改查)</td><td>ansible all -m cron -a "name='test a job' user=root job='/bin/sh /server/scripts/test.sh' minute=* hour=* day=* month=* weekday=*"</td></tr><tr><td>yum</td><td>RedHat和CentOS的软件包安装和管理</td><td>安装<br>ansible all -m yum -a "name=httpd state=present"<br>ansible all -m yum -a "name=httpd state=installed"<br>卸载<br>ansible all -m yum -a "name=httpd state=absent"<br>ansible all -m yum -a "name=httpd state=removed"</td></tr><tr><td>service和systemd</td><td>用于管理远程主机的服务</td><td>ansible all -m systemd -a "name=httpd state=started enabled=yes"<br>ansible all -m systemd -a "name=httpd state=restarted"</td></tr><tr><td>user</td><td>useradd, userdel, usermod</td><td>ansible all -m user -a 'name=haha remove=no state=absent'</td></tr><tr><td>group</td><td>groupadd, groupdel, groupmod</td><td>ansible all -m group -a 'name=mygroup state=absent'</td></tr><tr><td>setup</td><td>可收集远程主机的facts变量的信息</td><td>ansible all -m setup -a 'filter=ansible_default_ipv4'</td></tr><tr><td>authorized_key</td><td>为特定的用户账号添加或删除 SSH authorized keys</td><td>ansible all -m authorized_key -a "user=root key='{{lookup('file','/root/.ssh/id_rsa.pub')}}' path=/root/.ssh/authorized_keys manage_dir=no"</td></tr><tr><td>replace</td><td>和 sed 命令比较类似,用于正则匹配和替换</td><td>ansible all -m replace -a "path=/etc/fstab regexp=^(UUID.*) replace='#\1'"</td></tr><tr><td>lineinfile</td><td>正则匹配,更改某个关键参数值</td><td>ansible all -m lineinfile -a "path=/etc/selinux/config regexp='^SELINUX=' line='SELINUX=disabled'"</td></tr></tbody></table>
<!--rehype:className=style-list-->
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="ansible-doc"><a aria-hidden="true" tabindex="-1" href="#ansible-doc"><span class="icon icon-link"></span></a>ansible-doc</h3><div class="wrap-body">
<p>在本地访问文档</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ ansible-doc
Expand Down
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1466,7 +1466,7 @@
<!--rehype:class=home-card home-links-->
<p>如果你有资源,可以很方便<a href="https://github.com/jaywcjlove/reference/issues/102#issue-1451649637">部署 web 版</a>,这非常简单,只需要克隆 <a href="https://github.com/jaywcjlove/reference/tree/gh-pages">gh-pages</a> 分支代码到你的静态服务就可以了,还可以使用 <a href="https://hub.docker.com/r/wcjiang/reference">docker</a> 快捷部署 web 版。</p>

</div></div><div class="h2wrap-body"></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang. Updated on 2024/02/27 10:46:19</footer></footer><script src="data.js?v=1.5.2" defer></script><script src="js/fuse.min.js?v=1.5.2" defer></script><script src="js/main.js?v=1.5.2" defer></script><div id="mysearch"><div class="mysearch-box"><div class="mysearch-input"><div><svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 18 18">
</div></div><div class="h2wrap-body"></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang. Updated on 2024/02/28 13:12:40</footer></footer><script src="data.js?v=1.5.2" defer></script><script src="js/fuse.min.js?v=1.5.2" defer></script><script src="js/main.js?v=1.5.2" defer></script><div id="mysearch"><div class="mysearch-box"><div class="mysearch-input"><div><svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 18 18">
<path fill="currentColor" d="M17.71,16.29 L14.31,12.9 C15.4069846,11.5024547 16.0022094,9.77665502 16,8 C16,3.581722 12.418278,0 8,0 C3.581722,0 0,3.581722 0,8 C0,12.418278 3.581722,16 8,16 C9.77665502,16.0022094 11.5024547,15.4069846 12.9,14.31 L16.29,17.71 C16.4777666,17.8993127 16.7333625,18.0057983 17,18.0057983 C17.2666375,18.0057983 17.5222334,17.8993127 17.71,17.71 C17.8993127,17.5222334 18.0057983,17.2666375 18.0057983,17 C18.0057983,16.7333625 17.8993127,16.4777666 17.71,16.29 Z M2,8 C2,4.6862915 4.6862915,2 8,2 C11.3137085,2 14,4.6862915 14,8 C14,11.3137085 11.3137085,14 8,14 C4.6862915,14 2,11.3137085 2,8 Z"></path>
</svg><input id="mysearch-input" type="search" placeholder="搜索" autocomplete="off"><div class="mysearch-clear"></div></div><button id="mysearch-close" type="button">搜索</button></div><div class="mysearch-result"><div id="mysearch-menu"></div><div id="mysearch-content"></div></div></div></div></body>
</html>

0 comments on commit c18357a

Please sign in to comment.