当前位置: 首页 > news >正文

RedHat自动化Ansible的部署

环境说明

hostnameOSIPRole
workstation.lab.example.comRocky Linux 9.6 minimal172.25.254.9workstation (Ansible控制节点)
servera.lab.example.comRocky Linux 9.6 minimal172.25.254.10servera (Ansible受管节点)
serverb.lab.example.comRocky Linux 9.6 minimal172.25.254.11serverb (Ansible受管节点)

镜像地址:

https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.6-x86_64-minimal.iso

准备工作

进入系统后更改三台虚拟机IP

#1 安装命令补全工具与vim
dnf install -y bash-completion vim
source /etc/profile.d/bash_completion.sh	#重载bash配置#2 更改IP信息
nmcli connection modify ens160 ipv4.method manual ipv4.addresses 172.25.254.9/24 ipv4.gateway 172.25.254.2 ipv4.dns 8.8.8.8
nmcli connection reload
nmcli connection up ens160

开始部署

1.workstation.example.com 配置

#1 关闭防火墙、禁用SELinux。
[root@workstation ~]# systemctl disable --now firewalld
[root@workstation ~]# sed -i '/^SELINUX=/ c SELINUX=disabled' /etc/selinux/config
[root@workstation ~]# setenforce 0#2 创建devops用户,配置sudo权限
[root@workstation ~]# useradd devops
[root@workstation ~]# echo redhat | passwd --stdin devops
[root@workstation ~]# visudo
# 添加
devops  ALL=(ALL)       NOPASSWD: ALL#3 配置hosts解析
# 添加
[root@workstation ~]# vim /etc/hosts
172.25.254.9 workstation.lab.example.com workstation
172.25.254.10 servera.lab.example.com servera
172.25.254.11 serverb.lab.example.com serverb
  1. servera~serverb 设置
#1 创建 devops用户,配置 sudo 权限
useradd devops
echo redhat | passwd --stdin devops# visudo
# 添加
devops  ALL=(ALL)       NOPASSWD: ALL#2 配置hosts解析
# 添加
vi /etc/hosts
172.25.254.9 workstation.lab.example.com workstation
172.25.254.10 servera.lab.example.com servera
172.25.254.11 serverb.lab.example.com serverb
  1. workstation 上配置 devops 用户 到 servera~serverb 免密钥互信
[root@workstation ~]# su - devops
[devops@workstation ~]$ ssh-keygen -f ~/.ssh/id_rsa -N '' -q#分发公钥至 servera~serverd,根据提示输入 yes 和 devops 用户密码 redaht
[devops@workstation ~]$ ssh-copy-id devops@servera
[devops@workstation ~]$ ssh-copy-id devops@serverb#测试免密钥互信
[devops@workstation ~]$ for name in server{a..b};do ssh $name hostname;done
servera.lab.example.com
serverb.lab.example.com

4.workstation 上安装ansible与ansible-navigator

[root@workstation ~]# ssh -l devops workstation# 安装所需软件包
#安装 Ansible:
[devops@workstation ~]$ sudo dnf install ansible-core -y# 安装 Ansible Navigator# 1、安装 Python 3 和 pip3:Ansible Navigator 需要 Python 3 环境sudo dnf install python3 python3-pip -y# 2、安装容器运行时:Ansible Navigator 需要 podman 或 docker 作为容器运行时sudo dnf install podman -y# 3、使用 pip 安装最新版本Ansible Navigatorsudo pip3 install ansible-navigator#下载过慢可以使用国内镜像#sudo pip install 包名 -i https://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com# 验证安装:
检查版本:ansible-navigator --version
检测镜像:[devops@workstation ansible]$ ansible-navigator images
# 由于是从互联网下载镜像速度较慢,可以把事先下载好的镜像导入
[devops@workstation ~]$ sudo podman load -i ../creator-ee_v0.22.0.tar# 配置navigator运行环境
[devops@workstation ~]$ mkdir ansible
[devops@workstation ~]$ cd ansible
[devops@workstation ansible]$ vim ansible-navigator.yml
---ansible-navigator:ansible:config:path: ./ansible.cfgcolor:osc4: falseexecution-environment:image: ghcr.io/ansible/creator-ee:v0.22.0pull:policy: missing	#指定了拉取策略,这里的 missing 表示如果本地没有该镜像,则拉取该镜像。playbook-artifact:	# 添加内容,关闭工作日志,在playbook目录下会自动生成.json文件enable: false# 创建角色和集合目录
[devops@workstation ansible]$ mkdir /home/devops/ansible/roles
[devops@workstation ansible]$ mkdir /home/devops/ansible/mycollections# 创建配置文件
[devops@workstation ansible]$ vim /home/devops/ansible/ansible.cfg
[defaults]						
remote_user=devops
inventory=/home/devops/ansible/inventory
collections_path=/home/devops/ansible/mycollections
roles_path=/home/devops/ansible/roles
host_key_checking=False# ansible提权信息
[privilege_escalation]			
become=yes
become_ask_pass=False
become_method=sudo
become_user=root# 创建清单文件
[devops@workstation ansible]$ vim /home/devops/ansible/inventory
[dev]
servera[test]
serverb

测试

万事俱备,只欠测试

#切换到工作目录
[devops@workstation ~]$ cd ansible/[devops@workstation ansible]$ ansible-inventory --graph
[devops@workstation ansible]$ ansible-navigator inventory -m stdout --graph

image-20251021235429926

#验证环境是否可用,检测控制节点与被控节点的连通性
[devops@workstation ansible]$ ansible all -m ping

image-20251021235534575

http://www.dtcms.com/a/512720.html

相关文章:

  • 服务器iis做网站网站开发与设计实训心得一千字
  • 买域名后怎么做网站做门户网站需要多少钱
  • 海南网站建设网站开发小程序app网站建设培训相关资料
  • 供热设施网站搭建教程支付招聘网站套餐费用怎么做帐
  • 硬件 - 电量计配置GG详解 - 以BQ40Z80为例
  • 做公司网站优劣势阿里云建立wordpress
  • 中国电信收购腾讯东莞网络优化服务商
  • C++ 学习 —— 02 - 排序算法
  • 电商是干嘛的北京终端区优化
  • 高并发webserver_interview
  • 网站建设所需的基本条件wordpress汉化客户端
  • K8s 核心三组件:kubelet、kubeadm、kubectl 知识点梳理​
  • 网站设计的目的和意义seo是什么意思教程
  • 超低延迟与高并发:视频直播点播平台EasyDSS在游戏直播场景的技术实践
  • AIDD - 前沿生物科技 虚拟细胞 (Virtual Cells) 的头部公司
  • 做网站能带来什么问题数字创意设计包括哪些案例
  • 网络练习(选择题)
  • [环境配置]C4D OC渲染器解决缺少cudnn_9_7_0Octance正版缺少cudnn_9_7_0_win文件解决方法
  • 文档流程做网站深圳营销网站建设报价
  • 网站建设的认可正规的网站建设公
  • window 10 11 系统通知中心的消息捕获和转发 附exe文件和代码
  • IDEA集成GitHub
  • 青岛建韩国网站的公司企业网站备案是什么意思
  • 垫江网站建设费用浙江义乌网络科技有限公司
  • 【LNMP平台架构】之Discuz站点搭建
  • YOLOv4 全面解析:核心改进、数据增强与网络架构
  • 网页开发一:设计登录页
  • 智能网站搭建平台湛江网站建设湛江
  • 设计师网站推荐做网站里面的图片像素要求
  • C语言需要掌握的基础知识点之数组