当前位置:网站首页>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 0fi
The 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.214
You 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
边栏推荐
猜你喜欢
从零开始的tensorflow小白使用指北
leetcode二叉树系列(二叉搜索树篇)
他97年的,我既然卷不过他...
蜜芽CEO刘楠:垂直电商黄金时代已落幕 坚定转型品牌之路
JSP基本语法
Layer 3 Switch/Router OSPF Configuration Details [Huawei eNSP Experiment]
【云驻共创】HCSD 大咖直播–就业指南
BFM模型和Landmarks可视化
Producer and Consumer Problems in Concurrent Programming
[Cloud Residency Co-Creation] HCSD Celebrity Live Streaming – Employment Guide
随机推荐
[Punctuality Atom STM32 Serial] Chapter 2 STM32 Introduction Excerpted from [Punctual Atom] MiniPro STM32H750 Development Guide_V1.1
cannot import name 'import_string' from 'werkzeug' [bug solution]
用OpenGL绘制winXP版扫雷的笑脸表情
Unity3D data encryption
如何从PG导入数据到kingbaseES
Cloud function to achieve automatic website check-in configuration details [Web function/Nodejs/cookie]
VRRP+MSTP配置详解【华为eNSP实验】
Interpretation of new features | MySQL 8.0 online adjustment REDO
去掉js代码文件所有注释
路由/三层交换机DHCP下发地址详解【华为eNSP】
继承和static关键字
Explanation of spark operator
[Punctuality Atomic STM32 Serial] Chapter 1 Learning Method of the Book Excerpted from [Punctuality Atomic] MiniPro STM32H750 Development Guide_V1.1
telnet远程登录aaa模式详解【华为eNSP】
spark算子讲解
Anton Paar Anton Paar Density Meter Hydrometer Repair DMA35 Performance Parameters
从零开始的tensorflow小白使用指北
leetcode二叉树系列(二叉搜索树篇)
TiCDC迁移-TiDB到MySQL测试
DeLighT:深度和轻量化的Transformer