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

Ansible 自动化介绍

在执行命令前,先明确 Ansible 的 “规则” 和 “目标”,

  • ansible.cfg(操作说明书)

  • inventory(地址簿)的作用

一、初始化服务器环境(准备 “员工电脑”)

#1. 查看当前服务器 IP 信息[root@centos7 ~ 10:08:56]# ip -br a#拖入set-ansible-centos7.sh,以下为.sh内容======================================================================#!/bin/bash​# 使用说明if [ $# -eq 0 ];thenecho "Usage: $0 10-14" && exit 1fi​# 获取主机名domain=lyk.cloudif [ $1 -eq 10 ];thenHOSTNAME=controller.$domainelseHOSTNAME=node$[ $1%10 ].$domainfi​# 设置主机名hostnamectl set-hostname $HOSTNAME​​# 设置网络interface=ens33nmcli connection modify $interface ipv4.method manual ipv4.addresses 10.1.8.$1/24 ipv4.dns 223.5.5.5 +ipv4.dns 223.6.6.6nmcli connection up $interface 2>/dev/null​# 清屏,查看主机名clearhostnameip -br addr show $interfacebash​======================================================================#2. 上传并处理环境配置脚本[root@centos7 ~ 10:09:15]# rz -Erz waiting to receive.​[root@centos7 ~ 10:12:37]# ls -l set-ansible-centos7.sh -rw-r--r-- 1 root root 552 8月  12 10:12 set-ansible-centos7.sh​# 简化脚本使用(创建 “快捷方式”)[root@centos7 ~ 10:12:51]# mv set-ansible-centos7.sh /usr/local/bin/sethost[root@centos7 ~ 10:13:36]# chmod +x /usr/local/bin/sethost ​​-第一行:把脚本移动到系统默认的 “命令目录”(/usr/local/bin),并改名为sethost,以后直接输入sethost就能调用,不用再输完整路径,类似 “把程序放到桌面快捷方式”。-第二行:给脚本添加 “可执行权限”(+x),让系统允许运行这个脚本,否则脚本只是个普通文本,无法执行。​#vm虚拟机克隆# 克隆虚拟机后,分别在每台机器上执行:-首选项D:\AAA云计算\ansible-克隆一台    controller   node1        node2       node3       node4 ​controller:sethost 10  node1:sethost 11  node2:sethost 12  node3:sethost 13  node4:sethost 14  ​​​

二、验证服务器配置(检查 “员工电脑” 是否就绪)

#循环连接 10.1.8.11 到 10.1.8.14 的主机,并执行 hostname 命令查看主机名,验证主机名配置是否正确for host in 10.1.8.{11..14};do ssh $host hostname;done​#将本地的 /etc/hosts 文件批量复制到 10.1.8.11 到 10.1.8.14 的 /tmp 目录下for host in 10.1.8.{11..14};do scp /etc/hosts $host:/tmp/hosts;done

三、配置免密登录(给 “员工” 配钥匙,不用每次敲门)

[lyk@controller ~ 11:23:06]$ ls .ssh​#1.创建.ssh 目录并设置权限为 700,这是 SSH 要求的安全权限#为什么要权限 700:SSH 协议要求这个目录必须 “私密”,否则会认为不安全,拒绝使用密钥登录[lyk@controller ~ 11:20:39]$ \mkdir -m 700 .ssh​​[lyk@controller ~ 11:23:06]$ ls .ssh#2. 生成 SSH 密钥对(制作 “钥匙和锁”)[lyk@controller ~ 11:23:12]$  ssh-keygen -t rsa -f .ssh/id_rsa -N ''​-生成 RSA 类型的 SSH 密钥对:-t rsa:指定加密算法为 RSA-f .ssh/id_rsa:指定密钥文件路径和名称-N '':设置空密码,避免每次使用密钥时输入密码​#3. 批量分发公钥(给所有 “员工” 装自己的锁)[lyk@controller ~ 11:26:07]$ for host in controller node{1..4}; do    sshpass -p 123 ssh-copy-id lyk@$host; done​​-批量将公钥复制到各主机,实现免密登录:-循环处理 controller 和 node1 到 node4-sshpass -p 123:使用密码 123 自动登录-ssh-copy-id:将本地公钥复制到远程主机的~/.ssh/authorized_keys 文件中​# 验证免密登录[lyk@controller ~ 11:39:40]$ for host in controller node{1..4}; do    ssh lyk@$host hostname; donecontroller.lyk.lyk.cloudnode1.lyk.cloudnode2.lyk.cloudnode3.lyk.cloudnode4.lyk.lyk.cloud​#验证是否可以在远程主机上执行 sudo 命令[lyk@controller ~ 11:40:05]$ for host in controller node{1..4}; do    ssh lyk@$host sudo id ; doneuid=0(root) gid=0(root) 组=0(root)uid=0(root) gid=0(root) 组=0(root)uid=0(root) gid=0(root) 组=0(root)uid=0(root) gid=0(root) 组=0(root)uid=0(root) gid=0(root) 组=0(root)​

四、安装 Ansible(部署 “自动化管理工具”)

控制节点
[lyk@controller ~ 11:48:40]$ sudo yum install -y ansible​作用:在控制节点(controller)上安装 Ansible 软件,相当于 “在自己电脑上装一个能同时指挥所有员工的管理软件”。-y参数:自动回答 “yes”,安装过程中不用手动确认,一键完成。
受管节点
[lyk@node1 ~ 11:26:07]$ yum list python​作用:在受管节点(比如 node1)上查看是否安装了 Python,因为 Ansible 通过 Python 脚本和远程机器通信,相当于 “确认员工电脑上是否装了能接收命令的软件”。实际用途:如果没有 Python,Ansible 无法工作,需要先安装
http://www.dtcms.com/a/328029.html

相关文章:

  • 飞算AI:企业智能化转型的新引擎
  • react+Zustand来管理公共数据,类似vue的pinia
  • React 腾讯面试手写题
  • Orange的运维学习日记--40.LNMP-LAMP架构最佳实践
  • 【前端:Html】--3.进阶:图形
  • [激光原理与应用-252]:理论 - 几何光学 - 传统透镜焦距固定,但近年出现的可变形透镜(如液态透镜、弹性膜透镜)可通过改变自身形状动态调整焦距。
  • 虚拟机环境部署Ceph集群的详细指南
  • 「让AI大脑直连Windows桌面」:深度解析Windows-MCP,开启操作系统下一代智能交互
  • Hi3DEval:以分层有效性推进三维(3D)生成评估
  • 【树状数组】Range Update Queries
  • 《Leetcode》-面试题-hot100-栈
  • Apache SeaTunnel 新定位!迈向多模态数据集成的统一工具
  • 亚马逊与UPS规则双调整:从视觉营销革新到物流成本重构的运营战略升级
  • linux下安装php
  • Linux内核编译ARM架构 linux-6.16
  • Node.js 和 npm 的关系详解
  • 能刷java题的网站
  • FPGA即插即用Verilog驱动系列——按键消抖
  • 【JavaEE】多线程之线程安全(中)
  • 第5章 AB实验的随机分流
  • 圆柱电池自动分选机:新能源时代的“质量卫士”
  • 各版本IDEA体验
  • Next.js 中间件:自定义请求处理
  • LeetCode 分割回文串
  • 终端互动媒体业务VS终端小艺业务
  • 本地部署开源媒体中心软件 Kodi 并实现外部访问( Windows 版本)
  • Perl——文件操作
  • 工业相机终极指南:驱动现代智能制造的核心“慧眼”
  • 云原生作业(tomcat)
  • 优选算法 力扣 18. 四数之和 双指针算法的进化 优化时间复杂度 C++ 题解 每日一题