当前位置:网站首页>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
边栏推荐
- 关于Oracle RAC 11g重建磁盘组的问题
- TiFlash 源码阅读(五) DeltaTree 存储引擎设计及实现分析 - Part 2
- Oracle怎么获取当前库或者同一台服务器上某几个库的数据总行数?
- Producer and Consumer Problems in Concurrent Programming
- 请你谈谈网站是如何进行访问的?【web领域面试题】
- Explanation of spark operator
- cannot import name ‘import_string‘ from ‘werkzeug‘【bug解决】
- 【云驻共创】HCSD 大咖直播–就业指南
- Get the number of cpu cores
- Apache Druid 实时分析数据库入门介绍
猜你喜欢
Explanation of spark operator
TiDB升级与案例分享(TiDB v4.0.1 → v5.4.1)
加降息与BTC流动性事件策略研究
leetcode每天5题-Day06
TiFlash 源码阅读(五) DeltaTree 存储引擎设计及实现分析 - Part 2
sync-diff-inspector 使用实践
ZbxTable 2.0 重磅发布!6大主要优化功能!
MindSpore:model.train中的dataset_sink_mode该如何理解?
I am 37 this year, and I was rushed by a big factory to...
DNS 查询原理详解—— 阮一峰的网络日志
随机推荐
leetcode二叉树系列(二叉搜索树篇)
继承和static关键字
技术实现 | 图像检索及其在高德的应用
今日睡眠质量记录71分
MindSpore:Ascend运行出现问题
csdn图片去水印 | 其他方法无效时的解决方案
Since his 97, I roll but he...
注意力机制
三层交换机配置MSTP协议详解【华为eNSP实验】
2022-08-02 Analyze RK817 output 32k clock PMIC_32KOUT_WIFI to WiFi module clock register devm_clk_hw_register
How to restore the Youxuan database with only data files
Inheritance and the static keyword
并发编程之生产者和消费者问题
【正点原子STM32连载】第二章 STM32简介 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
我和 TiDB 的故事 | TiDB 对我不离不弃,我亦如此
Unity3D 数据加密
leetcode动态规划系列(求路径篇)
微信消息从发送到接收,经历了什么?如何防止丢包
leetcode二叉树系列(二)
Oracle怎么获取当前库或者同一台服务器上某几个库的数据总行数?