日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ansible基本操作

發(fā)布時(shí)間:2025/7/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ansible基本操作 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ansible基本操作

?

ansible模塊

1、主機(jī)連通性測試

ansible qf -m???ping

?

2、command模塊??,默認(rèn)就是command模塊

?

3、shell模塊

ansible qf??-m??shell??-a??'cat??/etc/passwd | grep "root"'

?

4.copy模塊

====================

- hosts: qf

??vars:

????IP:?"{{ ansible_ens33['ipv4']['address'] }}"

??tasks:

??-?name: 將原有的hosts文件備份

????shell:?mv /etc/hosts /etc/hosts_bak

??-?name: 將ansible端的hosts復(fù)制到各自機(jī)器上

????copy:?src=/root/hosts dest=/etc/ owner=root group=root mode=0644

??-?name: 將新的hosts文件后面追加各自機(jī)器內(nèi)網(wǎng)和hostname

????lineinfile:?dest=/etc/hosts line="{{ IP }} {{ ansible_hostname }} "

=======================

??-?name: copy {{ rpmname }}.conf???

????copy:?src=/tmp/{{ rpmname }}.conf.j2 dest=/etc/{{ rpmname }}/{{ rpmname }}.conf??backup=yes

ansible qf -m copy??-a??'content="jfsakf\n" dest=/data/name mode=666'

?

5.file模塊

ansible qf -m??file -a 'path=/data/app state=directory'

??-?name: 創(chuàng)建目錄

????file:?path=/data/a state=directory

???????file: path=/data/a state=absent??//刪除

6.fetch模塊

ansible qf -m fetch -a 'src=/data/hello.txt dest=/data'??//只能是文件

?

7.cron計(jì)劃任務(wù)模塊??????

ansible qf -m cron -a 'name="ntp update every 5 min" minute=*/5 job="/sbin/ntpdate 172.17.0.1 &> /dev/null"'??????

ansible qf -m cron -a 'name="df everyday" hour=15 job="df -lh >> /tmp/disk_total &> /dev/null" state=absent'

??????

8.yum模塊

name=??#所安裝的包的名稱

state =??#present--->安裝, latest--->安裝最新的, absent---> 卸載軟件。

??-?name: install httpd

????yum:?name=httpd state=present

?

9.service模塊

ansible qf -m service -a 'name=nginx state=started enabled=true'

- name: start {{ rpmname }} service

??????service:?name={{ rpmname }} state=started//stopped//restarted

????????

10.user模塊

ansible qf -m user -a 'name=keer uid=11111'

?

11.group模塊

ansible qf -m group -a 'name=sanguo gid=12222'

?

12.script模塊

vim??/tmp/df.sh

chmod??-v??+x??df.sh

ansible web -m script -a '/tmp/df.sh'

?

13.setup模塊

ansible web -m setup -a 'filter="*mem*"'???#查看內(nèi)存

========================

安裝mariadb服務(wù)

---

- hosts: qf

??remote_user:?root

??tasks:

????-?name: install mariadb-server package

??????yum:?name=mariadb-server state=present

????-?name: starting mariadb-server service

??????service:?name=mariadb state=started

============================

---

- hosts: qf

??remote_user:?root

??vars:

????-?rpmname: nginx

??????nginxport:?8080

??tasks:

????-?name: install {{ rpmname }}

??????yum:?name={{ rpmname }} state=present

????-?name: copy {{ rpmname }}.conf

??????template:?src=/tmp/{{ rpmname }}.conf.j2 dest=/etc/{{ rpmname }}/{{ rpmname }}.conf backup=yes

??????notify:?reload

??????tags:?reload{{ rpmname }}

????-?name: start {{ rpmname }} service

??????service:?name={{ rpmname }} state=started

??????tags:?start{{ rpmname }}

?

??handlers:

????-?name: reload

??????service:?name={{ rpmname }} state=restarted

????????

ansible-playbook nginx.yml???&&???ansible qf -m??shell??-a??'ss -tunlp|grep :80'

ansible??qf??-m??shell??-a??'systemctl??stop??nginx'????ansible qf -m??shell??-a??'ss -tunlp|grep :80'

ansible-playbook??nginx.yml??-t??startnginx

===============================================

---

- hosts: qf

??vars:

????IP:?"{{ ansible_ens33['ipv4']['address'] }}"

??tasks:

??-?name: 將原有的hosts文件備份

????shell:?mv /etc/hosts /etc/hosts_bak

??-?name: 將ansible端的hosts復(fù)制到各自機(jī)器上

????copy:?src=/root/hosts dest=/etc/ owner=root group=root mode=0644

??-?name: 將新的hosts文件后面追加各自機(jī)器內(nèi)網(wǎng)和hostname

????lineinfile:?dest=/etc/hosts line="{{ IP }} {{ ansible_hostname }} "

===========================??????

---

- hosts: qf

??remote_user:?root

??tasks:

????-?name: install {{ rpmname }}

??????yum:?name={{ rpmname }} state=present

????-?name: copy {{ rpmname }}.conf

??????template:?src=/tmp/{{ rpmname }}.conf.j2 dest=/etc/{{ rpmname }}/{{ rpmname }}.conf backup=yes

??????notify:?reload

??????tags:?reload{{ rpmname }}

????-?name: start {{ rpmname }} service

??????service:?name={{ rpmname }} state=started

??????tags:?start{{ rpmname }}

?

??handlers:

????-?name: reload

??????service:?name={{ rpmname }} state=restarted

cp??/etc/keepalived/keepalived.conf??/tmp/keepalived.conf.j2

ansible-playbook??nginx.yml??-e??rpmname=keepalived

=================================??????

template模板

---

- hosts: qf

??tasks:

??-?name: install conf file to centos7

????shell:?cat /etc/redhat-release > /root/aa.txt

????when:?ansible_distribution_major_version == "7"

??-?name: install conf file to centos6

????template:?src=files/nginx.cong.c6.j2

????when:?ansible_distribution_major_version == "6"

??-?name: install web packages

????yum:

??????name:?[ 'tcpdump', 'net-tools' ]

??????state:?present

??-?name: add some groups

????group:?name={{ item }} state=present

????with_items:

??????-?group11

??????-?group12

??????-?group13

??-?name: add some users

????user:?name={{ item.name }} group={{ item.group }} state=present

????with_items:

??????-?{ name: 'user11', group: 'group11' }

??????-?{ name: 'user12', group: 'group12' }

??????-?{ name: 'user13', group: 'group13' }

============================================

[root@server tmp]# vim nginx.conf.j2

????worker_processes??{{?ansible_processor_vcpus }};

????listen???????{{?nginxport }};??????

---

- hosts: qf

??remote_user:?root

??vars:

????-?rpmname: nginx

?????????nginxport: 8888

??tasks:

????-?name: install {{ rpmname }}

??????yum:?name={{ rpmname }} state=present

????-?name: copy {{ rpmname }}.conf

??????template:?src=/etc/{{ rpmname }}/{{ rpmname }}.conf dest=/etc/{{ rpmname }}/{{ rpmname }}.conf.bak backup=yes

??????notify:?reload

??????tags:?reload{{ rpmname }}

????-?name: start {{ rpmname }} service

??????service:?name={{ rpmname }} state=started

??????tags:?start{{ rpmname }}

?

??handlers:

????-?name: reload

??????service:?name={{ rpmname }} state=restarted

~

=============================================

roles???????角色定制

[root@node12 roles]# tree

.

└── nginx

????├──?files

????├──?handlers

????│???└── main.yml

????├──?tasks

????│???└── main.yml

????├──?templates

????│???└── nginx.cong.j2

????└──?vars

????????└──?main.yml

==================================?????????????

vim handlers/main.yml????//觸發(fā)器

---

??-?name: reload

????service:?name=nginx state=restarted

========================================??????

vim??tasks/main.yml

---

??-?name: install {{ rpmname }}

????yum:?name={{ rpmname }} state=present

??-?name: copy {{ rpmname }}.conf

????template:?src={{ rpmname }}.conf.j2 dest=/etc/{{ rpmname }}/{{ rpmname }}.conf backup=yes

????notify:?reload

????tags:?reload{{ rpmname }}

??-?name: start {{ rpmname }} service

????service:?name={{ rpmname }} state=started

????tags:?start{{ rpmname }}

=========================================

vim vars/main.yml????//變量

---

nginxport: 9999

rpmname: nginx

========================================

vim??templates/nginx.conf.j2???//模板??//源文件???從nginx配置文件中復(fù)制過來的

?

=======

在roles統(tǒng)計(jì)目錄

vim??/nginx_test.yml

---

- hosts: qf

??roles:

????-?nginx

ansible-playbook nginx_test.yml

?

=============================================


轉(zhuǎn)載于:https://blog.51cto.com/14181888/2379777

總結(jié)

以上是生活随笔為你收集整理的ansible基本操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。