ansible折腾记(一)

学前准备

  • 本机Windows ,安装VirtualBox,里面安装centos 7.x
  • 两台云服务器(有独立IP)安装centos 7.x系统

学习思路

  • 利用本机虚拟机里的主机,安装ansible,通过ssh互信,控制两台云服务器

安装

yum -y install ansible

验证

ansible --version

设置主机清单

[root@127.0.0.1 ~]# sudo vi /etc/ansible/hosts
# 添加如下内容
[web]
192.168.0.230
192.168.0.15

更改本机名称

[root@127.0.0.1 ~]# hostnamectl set-hostname centos184
[root@127.0.0.1 ~]# hostname
centos184

设置ssh免密登录

[root@centos184 ~]# ssh-keygen -t rsa  <!--生成密钥对-->
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):<!--密钥对存放路径-->
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):    
       <!--输入私钥保护密码,直接按Enter键表示无密码-->
Enter same passphrase again:    <!--再次输入-->
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:cJz6NRTrvMDxX+Jpce6LRnWI3vVEl/zvARL7D10q9WY root@centos184
The key's randomart image is:
+---[RSA 2048]----+
|          .   . .|
|       . . +   oo|
|      . = o o. oo|
|       = * o..+ *|
|      . S *.=+=*+|
|       . o =+XooE|
|        . ..=.++.|
|           ..o ..|
|           .. o. |
+----[SHA256]-----+
[root@centos184 ~]# ssh-copy-id -i .ssh/id_rsa.pub  root@192.168.0.230   <!--复制公钥到指定远端-->
[root@centos184 ~]# ssh-copy-id -i .ssh/id_rsa.pub  root@192.168.0.15    <!--复制公钥到指定远端-->

测试免密登录

[root@centos184 ~]# ssh root@192.168.0.230
Last failed login: Mon Dec 13 11:17:57 CST 
[root@230 ~]#

用ansible hostname模块 修改230主机hostname

[root@centos184 ~]# ansible 192.168.0.230 -m hostname -a "name=centos230"
192.168.0.230 | CHANGED => {
    "ansible_facts": {
        "ansible_domain": "",
        "ansible_fqdn": "centos230",
        "ansible_hostname": "centos230",
        "ansible_nodename": "centos230",
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "name": "centos230"
}
[root@centos184 ~]#
# 登录进去看主机名是否改变
[root@centos184 ~]# ssh root@192.168.0.230
Last login: Mon Dec 13 11:34:44 2021 from 
Welcome to nokvm, For more information 
[root@centos230 ~]#
# 已经改变 退出即可
[root@centos230 ~]# exit
logout
Connection to 192.168.0.230 closed.

用ansible shell模块 修改230主机hostname

[root@centos184 ~]# ansible web -m shell -a "hostnamectl set-hostname centos230test"
192.168.0.230 | CHANGED | rc=0 >>

[root@centos184 ~]# ansible web -m shell -a "hostname"
192.168.0.230 | CHANGED | rc=0 >>
centos230test
[root@centos184 ~]#

用ansible copy模块将本机的文件复制到web组所有机器上

[root@centos184 ~]# cd /tmp/
[root@centos184 tmp]# ls
[root@centos184 tmp]# echo 'hello world'=> start.txt
[root@centos184 tmp]# ls
start.txt
[root@centos184 tmp]# ansible web -m copy -a "src=/tmp/start.txt dest=/tmp/sss.txt mode=777"
192.168.0.230 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "checksum": "96b79fbf28162c88bfee7bf76cd15ebba1f2e9d8",
    "dest": "/tmp/sss.txt",
    "gid": 0,
    "group": "root",
    "md5sum": "d340e393d20ce0881c27a16c8d08d999",
    "mode": "0777",
    "owner": "root",
    "size": 13,
    "src": "/root/.ansible/tmp/ansible-tmp-1639380182.77-4304-32121682697141/source",
    "state": "file",
    "uid": 0
}
[root@centos184 tmp]# ansible web -m shell -a "ls /tmp"
192.68.0.230 | CHANGED | rc=0 >>
aaa
ansible_command_payload_VybZ9u
sss.txt
[root@centos184 tmp]#

综合实践用ansible 为web组主机安装nginx服务

1.使用yum模块为web组主机添加nginx

ansible web -m yum -a "name=nginx"
# 结果省略...太长了
# 查看安装结果
[root@192 tmp]# ansible web -m shell -a "rpm -qa |grep nginx"
192.168.0.184 | CHANGED | rc=0 >>
nginx-filesystem-1.20.1-9.el7.noarch
nginx-1.20.1-9.el7.x86_64
192.168.0.230 | CHANGED | rc=0 >>
nginx-filesystem-1.20.1-9.el7.noarch
nginx-1.20.1-9.el7.x86_64

2.放开nginx所需端口

# 查看web组主机打开的端口
[root@192 tmp]# ansible web -m shell -a "firewall-cmd --zone=public --list-ports"        192.168.0.184 | CHANGED | rc=0 >>
80/tcp
192.168.0.230 | CHANGED | rc=0 >>
80/tcp
# 我这里是放开了80端口 若没有放开执行下面的
ansible web -m shell -a "firewall-cmd --zone=public --add-port=80/tcp --permanent"
# 重启防火墙
[root@192 tmp]# ansible web -m shell -a "firewall-cmd --reload"                          192.168.0.184 | CHANGED | rc=0 >>
success
192.168.0.230 | CHANGED | rc=0 >>
success


3.启动nginx 服务

[root@192 tmp]# ansible web -m service -a "name=nginx enabled=yes state=started"

4.根据ip访问nginx欢迎页

ansible service模块扩展

service模块为用来管理远程主机上的服务的模块。常见的参数如下:

  • name:被管理的服务名称;
  • state=started|stopped|restarted:动作包含启动,关闭或重启;
  • enable=yes|no:表示是否设置该服务开机自启动;
  • runlevel:如果设定了enabled开机自启动,则要定义在哪些运行目标下自动启动;
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容