ansible部署脚本--亲测可用无坑

环境:centos7,外网通

脚本如下:

#!/bin/bash
#function:ansible
#author:tommypeng  20220801
#####root判断#####
if
  [  "$USER"  != "root"   ]
then
   echo "错误:非root用户,权限不足!"
  exit  0
fi
###############防火墙及SElinux############
systemctl stop firewalld && systemctl disable firewalld  && echo "防火墙已经关闭"
sed -i 's/SELINUX=.*/SELINUX=disabled/g'  /etc/selinux/config  && echo "关闭selinux"
##############网络测试##############
ping   -c  3  www.baidu.com
if
  [ $? = 0 ]
  then
    echo "外网通讯良好!"
  else
    echo  "丫的你在逗我吗?网都没有安装个毛线!"
   exit  1
fi
##############yum源配置################
yum  install  epel-release  -y
mv  /etc/yum.repos.d/epel.repo  /etc/yum.repos.d/epel.repo.bak >> /dev/null
yum clean all  
rpm -Uvh http://mirrors.ustc.edu.cn/epel/epel-release-latest-7.noarch.rpm
yum makecache
###########ansible安装#########
yum -y  install  ansible
##########主机组配置#########
read -p  "请输入主机组的名称:  "  ppo
read -p  "请输入主机1的IP:  "  wokao
read -p  "请输入主机2的IP:  "  haoshuai
sleep 5
cat >> /etc/ansible/hosts  << EOF
[$ppo]
$wokao
$haoshuai
EOF
###########免密登录#########
rm  -rf   /root/.ssh/*  ##清除已有的密钥对
ssh-keygen -N '' -f  /root/.ssh/id_rsa  ###创建密钥对(验证码为空)
ssh-copy-id -i    /root/.ssh/id_rsa.pub  $wokao
ssh-copy-id -i    /root/.ssh/id_rsa.pub  $haoshuai  ####传递公钥
##########测试############
ansible $ppo -m command -a 'ifconfig' 
if [ $? -eq 0 ];then             
                	echo -e "\n\033[32m-----------------------------------------------\033[0m"
                	echo -e "\033[32m测试成功ansible安装成功 !\033[0m"
        	else
                	echo -e "\033[32m测试失败ansible安装失败,即将退出 !"
                	exit 0
        	fi

默认主机清单包含两台主机,如部署完成后,需要添加其他主机,请编辑文件 /etc/ansible/hosts 

在您的主机清单添加相应主机的IP即可。

[root@localhost ~]# vim  /etc/ansible/hosts 
# Ex 2: A collection of hosts belonging to the 'webservers' group

## [webservers]
## alpha.example.org
## beta.example.org
## 192.168.1.100
## 192.168.1.110
。
。
。
。

[pxg]
192.168.137.213
192.168.137.214

还须配置免密登录,具体如下:

ssh-copy-id -i    /root/.ssh/id_rsa.pub  主机IP       ###将公钥发送给新加入的主机,请注意需要输入新加入主机的root密码,按提示输入即可,示例:

[root@localhost ~]# ssh-copy-id -i    /root/.ssh/id_rsa.pub  192.168.137.216
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.137.216 (192.168.137.216)' can't be established.
ECDSA key fingerprint is SHA256:YejXn/pAjoOSNaOfxVO+TiBPp6JmHfZ5Z8nbiUN5m0U.
ECDSA key fingerprint is MD5:b6:8d:e0:b0:08:5c:29:dc:df:2e:87:4e:51:e7:20:48.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.137.216's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '192.168.137.216'"
and check to make sure that only the key(s) you wanted were added.

拓展:主机清单的写法:

[pxg]
192.168.137.155
192.168.137.162  
以上意思为:主机组pxg包含这两个IP的主机

定义嵌套组
通过创建后缀为:children的主机组名称来实现,例子如下:
[web]
web1.example.com
web2.example.com
[db]
db1.example.com
db2.example.com
[all:children]
web
db   

上述例子可以改成 
[web]
web[1:2].example.com
[db]
db[1:2].example.com
[webdb:children]
web
db  

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Ansible Tower是一个基于Web的解决方案,用于在整个IT环境中自动化和管理任务。它提供了一个集中的控制台,可以用于编排、部署和管理多个Ansible剧本和任务。 下面是Ansible Tower的部署安装步骤: 1. 确保你的系统满足以下要求: - 操作系统:RHEL/CentOS 7或者8,或者Ubuntu 18.04 LTS。 - 内存:至少4GB RAM。 - 硬盘空间:至少20GB可用空间。 - 网络连接:确保系统可以访问互联网。 2. 下载Ansible Tower安装包: - 登录到Ansible官方网站(https://www.ansible.com/)。 - 导航到"Products" -> "Ansible Tower"页面。 - 下载适用于你的操作系统的最新版本的Ansible Tower安装包。 3. 安装Ansible Tower: - 解压下载的安装包。 - 运行安装脚本:`./setup.sh`。 - 根据提示完成安装过程。 4. 配置Ansible Tower: - 打开Web浏览器,访问`https://<tower_hostname>`,其中`<tower_hostname>`是你的Ansible Tower服务器的主机名或IP地址。 - 根据提示设置管理员用户名和密码。 - 登录到Ansible Tower控制台。 5. 配置Ansible Tower节点: - 在控制台中,导航到"Settings" -> "Ansible Tower Nodes"。 - 点击"Add"按钮,添加一个新的节点。 - 输入节点的名称、主机名和认证信息。 - 点击"Save"保存配置。 6. 配置Ansible Tower访问凭据: - 在控制台中,导航到"Settings" -> "Credentials"。 - 点击"Add"按钮,添加一个新的凭据。 - 选择适当的凭据类型,并填写相关信息。 - 点击"Save"保存配置。 7. 创建和运行作业模板: - 在控制台中,导航到"Templates" -> "Job Templates"。 - 点击"Add"按钮,创建一个新的作业模板。 - 配置作业模板的相关参数,如主机、剧本、凭据等。 - 点击"Save"保存配置。 - 运行作业模板。 这是一个简单的Ansible Tower部署安装过程的概述。根据你的具体需求和环境,可能还需要进行其他配置和调整。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT大白鼠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值