ansible

absible部署

1、配置yum仓库

复制代码
[root@ansible ~]# mount /dev/cdrom /mnt/
[root@ansible ~]# cd /etc/yum.repos.d/
[root@ansible ~]# vim server.repo

2、安装软件包组

复制代码
[root@ansible ~]# yum -y group install "Virtualization Client" "Virtualization Hypervisor" "Virtualization Tools"

3、重启libvirtd服务,并设置下次启动生效

复制代码
[root@ansible ~]# systemctl restart libvirtd
[root@ansible ~]# systemctl enable libvirtd

4、将本地RHEL9.2镜像上传到虚拟机

5、virt-manager打开虚拟监视器进行安装系统

复制代码
[root@ansible ~]# virt-manager 

6、配置网络的yum仓库

6.1 安装httpd服务

复制代码
[root@ansible ~]# yum -y install httpd

6.2 上传软件包到/var/www/html/

6.3 重启httpd服务

复制代码
[root@ansible ~]# systemctl restart httpd
[root@ansible ~]# systemctl enable httpd

7.在master写域名解析

复制代码
[root@master ~]# vi /etc/hosts

8、在ansible写域名解析

复制代码
[root@ansible ~]# vim /etc/hosts

9、配置master的yum仓库

复制代码
[root@master yum.repos.d]# vi server.repo

9.1安装软件测试

复制代码
[root@master ~]# yum -y install vim bash-completion net-tools
[root@master ~]# bash					#应用工具

10、克隆出来5台,+刚刚安装的一台,一起6台主机

10.1以此方法创建node1、node2、node3、node4、node5

10.2所有主机,配置IP的时候注意一下,要删除网卡配置文件的UUID,

node1:

复制代码
[root@master ~]# hostnamectl hostname node1.example.com
[root@master ~]# bash 
[root@node1 ~]# vim /etc/NetworkManager/system-connections/enp1s0.nmconnection
删除UUID,

address1=192.168.122.10/24,192.168.122.1
[root@node1 ~]# systemctl restart NetworlManager
[root@node1 ~]# nmcli connetion up enp1s0 
[root@node1 ~]# rm -rf /etc/yum/repos.d/server/repo

node2:

复制代码
[root@master ~]# hostnamectl hostname node2.example.com
[root@master ~]# bash 
[root@node2 ~]# vim /etc/NetworkManager/system-connections/enp1s0.nmconnection
删除UUID, 
address1=192.168.122.20/24,192.168.122.1
[root@node2 ~]# systemctl restart NetworlManager
[root@node2 ~]# nmcli connetion up enp1s0 
[root@node2 ~]# rm -rf /etc/yum/repos.d/server/repo

依次配置node3、4、5

11、配置master主机的免密钥登录

root:

11.1 root免密钥

复制代码
[root@master ~]# ssh-keygen

11.2 密钥分发node1~node5

复制代码
[root@master ~]# for i in node{1..5}
> do ssh-copy-id -i ~/.ssh/id_rsa.pub root@$i
> done

11.3 密钥发给student用户

复制代码
[root@master ~]# for i in node{1..5}; do ssh-copy-id -i ~/.ssh/id_rsa.pub student@$i; done

student

11.4 student免密钥

复制代码
[root@master ~]# su - student
[student@master ~]$ ssh-keygen

11.5 密钥分发node1~node5

复制代码
[student@master ~]$ for i in node{1..5}; do ssh-copy-id -i ~/.ssh/id_rsa.pub root@$i; done

11.6 密钥发给student用户

复制代码
[student@master ~]$ for i in node{1..5}; do ssh-copy-id -i ~/.ssh/id_rsa.pub student@$i; done

12 、权限委派,给student权限

复制代码
[root@master ~]# vim /etc/sudoers.d/student

12.1 传输到node(1~5)

复制代码
[root@master ~]# for i in node{1..5}
> do scp /etc/sudoers.d/student root@$i:/etc/sudoers.d/
> done

13、安装ansible

复制代码
[root@master ~]# yum -y install  ansible-core   ansible-navigator

14、配置ansible

复制代码
[root@master ~]# su - student
[student@master ~]$ mkdir ansible/
[student@master ~]$ cd ansible/
[student@master ansible]$ ansible-config init --disabled > ansible.cfg
[student@master ansible]$ vim ansible.cfg

14.1 开启主机清单

复制代码
[student@master ansible]$ vim ansible.cfg 
复制代码
[student@master ansible]$ vim inventory

14.2 新建角色roles目录和collections目录

复制代码
[student@master ansible]$ mkdir roles
[student@master ansible]$ mkdir collections
[student@master ansible]$ vim ansible.cfg 

14.3关闭更换主机时的提示语

14.4 ansible提权

15、测试主机是否关联

注意一定要在这个目录下测试

复制代码
[student@master ansible]$ pwd
/home/student/ansible

测试:

复制代码
[student@master ansible]$ ansible all -m ping
相关推荐
南棱笑笑生7 分钟前
20250512给NanoPi NEO core开发板在Ubuntu core20.04系统更新boot.img
linux·运维·ubuntu
XMYX-09 分钟前
Linux du 命令终极指南:从基础到精通
linux·服务器
小锋学长生活大爆炸25 分钟前
【教程】Docker更换存储位置
运维·docker·容器
DourPanda29 分钟前
polarctf-web-[rce1]
linux·网络协议·网络安全
愚润求学43 分钟前
【Linux】动静态库链接原理
linux·运维·服务器·开发语言·笔记
云攀登者-望正茂1 小时前
无缝部署您的应用程序:将 Jenkins Pipelines 与 ArgoCD 集成
运维·jenkins·argocd
wingaso2 小时前
[经验总结]删除gitlab仓库分支报错:错误:无法推送一些引用到“http:”
linux·数据仓库·git
独行soc2 小时前
2025年渗透测试面试题总结-阿里云[实习]阿里云安全-安全工程师(题目+回答)
linux·经验分享·安全·阿里云·面试·职场和发展·云计算
勤不了一点2 小时前
小白上手RPM包制作
linux·运维·服务器·软件工程