当前位置:网站首页>Ansible deployment scripts - pro available without pit
Ansible deployment scripts - pro available without pit
2022-08-04 09:06:00 【IT rat】
Environment: centos7, Netcom
The script is as follows:
#!/bin/bash#function:ansible#author:tommypeng 20220801#####root judgment #####if[ "$USER" != "root" ]thenecho "Error: non-root user, insufficient privileges!"exit 0fi###############Firewall and SElinux############systemctl stop firewalld && systemctl disable firewalld && echo "Firewall is off"sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config && echo "close selinux"##############Network Test##############ping -c 3 www.baidu.comif[ $? = 0 ]thenecho "External network communication is good!"elseecho "Are you kidding me? There is no yarn installed on the net!"exit 1fi##############yum source configuration################yum install epel-release -ymv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak >> /dev/nullyum clean allrpm -Uvh http://mirrors.ustc.edu.cn/epel/epel-release-latest-7.noarch.rpmyum makecache##########ansible installation##########yum -y install ansible##########Host Group Configuration##########read -p "Please enter the name of the host group: " pporead -p "Please enter the IP of host 1: " wokaoread -p "Please enter the IP of host 2: " haoshuaisleep 5cat >> /etc/ansible/hosts << EOF[$ppo]$wokao$haoshuaiEOF###########Password-free login##########rm -rf /root/.ssh/* ##Clear existing key pairssh-keygen -N '' -f /root/.ssh/id_rsa ###Create a key pair (the verification code is empty)ssh-copy-id -i /root/.ssh/id_rsa.pub $wokaossh-copy-id -i /root/.ssh/id_rsa.pub $haoshuai ####pass public key##########test############ansible $ppo -m command -a 'ifconfig'if [ $? -eq 0 ];thenecho -e "\n\033[32m-----------------------------------------------\033[0m"echo -e "\033[32m test is successful ansible installation is successful!\033[0m"elseecho -e "\033[32m test failed Ansible installation failed, about to exit!"exit 0fiThe default host list contains two hosts. If you need to add other hosts after the deployment is complete, please edit the file /etc/ansible/hosts
Add the corresponding host's IP to your host list.
[[email protected] ~]# 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.213192.168.137.214You must also configure password-free login, as follows:
ssh-copy-id -i /root/.ssh/id_rsa.pub host IP ###Send the public key to the newly added host, please note that you need to enter the root password of the newly added host, enter it as prompted, example:
[[email protected] ~]# 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 [email protected]'s password:Number of key(s) added: 1Now 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.Extended: How to write the host list:
[pxg]
192.168.137.155
192.168.137.162
The above means: the host group pxg contains the hosts of these two IPs
Define Nested Groups
This is done by creating a host group name with the suffix :children, for example:
[web]
web1.example.com
web2.example.com
[db]
db1.example.com
db2.example.com
[all:children]
web
db
The above example can be changed to
[web]
web[1:2].example.com
[db]
db[1:2].example.com
[webdb:children]
web
db
边栏推荐
猜你喜欢

蘑菇书EasyRL学习笔记

leetcode动态规划经典例题——53.最大子数组和

Shell编程的条件语句

cannot import name ‘import_string‘ from ‘werkzeug‘【bug解决】

技术实现 | 图像检索及其在淘宝的应用

recursive thinking
![Detailed explanation of MSTP protocol configuration on Layer 3 switches [Huawei eNSP experiment]](/img/97/6c3662ef36b02bc42eec95abaa6bc5.png)
Detailed explanation of MSTP protocol configuration on Layer 3 switches [Huawei eNSP experiment]
![cannot import name 'import_string' from 'werkzeug' [bug solution]](/img/ee/c91ec761eb637260d92980a2838a92.png)
cannot import name 'import_string' from 'werkzeug' [bug solution]

思想茶叶蛋 (Jul 31,2022)| 元宇宙(Metaverse)下了一枚什么样的蛋

Grafana9.0发布,Prometheus和Loki查询生成器、全新导航、热图面板等新功能!
随机推荐
Cloud function to achieve automatic website check-in configuration details [Web function/Nodejs/cookie]
去掉js代码文件所有注释
Get the number of cpu cores
VRRP + MSTP configuration, huawei eNSP experiment 】 【
yolo x 跑起来,详细的不行,且内含800错误解决办法
leetcode动态规划系列(求路径篇)
记录十条工作中便利的API小技巧
如何从PG导入数据到kingbaseES
获取cpu的核数
How Oracle for current library or certain library data on the same server number?
蘑菇书EasyRL学习笔记
Fiddler(一)安装
MindSpore:损失函数问题
MindSpore:model.train中的dataset_sink_mode该如何理解?
函数防抖与函数节流
Four common methods of network attacks and their protection
Interview at 14:00 in the afternoon, I came out at 14:08 with my head down, asking too much...
下午14:00面试,14:08低着头出来了 ,问的实在是太...
[Punctuality Atom STM32 Serial] Chapter 2 STM32 Introduction Excerpted from [Punctual Atom] MiniPro STM32H750 Development Guide_V1.1
DNS 查询原理详解—— 阮一峰的网络日志