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

Ansible 自动化运维

Ansible架构:

一.部署主机清单 前期环境准备:

管理端:

192.168.60.128

被管理端:

client1:192.168.60.129

client2:192.168.60.131

1.所有被管理端配置ssh密钥   (1.免密登陆   2.允许root远程登陆) 脚本如下:

#!/bin/bash

# 检查 sshpass 是否已安装
if ! command -v sshpass &> /dev/null; then
    echo "请先安装 sshpass 工具!"
    exit 1
fi

# 固定的 IP 地址列表
ip_list="192.168.60.129 192.168.60.131"

# 检查并生成 SSH 密钥
if [ ! -f ~/.ssh/id_rsa ]; then
    echo '----------------'
    echo '1. 创建 key'
    echo '----------------'
    if ! ssh-keygen -f ~/.ssh/id_rsa -t rsa -P ''; then
        echo "生成 SSH 密钥失败!"
        exit 1
    fi
else
    echo "SSH 密钥已存在,跳过生成步骤。"
fi

echo '----------------'
echo '2. 分发 key'
echo '----------------'

for ip in $ip_list; do
    echo "----------------"
    echo "分发 key 到 $ip"
    echo "----------------"
    if sshpass -p2004129 ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@$ip; then
        echo "分发公钥到 $ip 成功!"
    else
        echo "分发公钥到 $ip 失败!"
    fi
done

运行效果:

2.控制端安装ansible 

2.1安装 EPEL 源:sudo dnf install epel-release

sudo dnf install ansible

ansible --version

ok~~~~~~~~~~~~~~~~~~~~~~~~~~~

11.32


http://www.kler.cn/a/586635.html

相关文章:

  • java手机号、邮箱、日期正则表达式
  • 向量数据库对比以及Chroma操作
  • 数据分布偏移检测:保障模型在生产环境中的稳定性
  • 鸿蒙 @ohos.arkui.observer (无感监听)
  • vue3:八、登录界面实现-忘记密码
  • DeepSeek与人工智能:技术演进、架构解析与未来展望
  • Hive SQL 精进系列:REGEXP_COUNT 函数的用法
  • 函数指针/逗号表达式/不用if语句完成的字母输出题
  • React 和 Vue 框架设计原理对比分析
  • 乐观锁VS分布式锁实现抢单服务
  • windows安装两个或多个JDK,并实现自由切换
  • git证书文件路径错误
  • GitHub 汉化插件,GitHub 中文化界面安装全教程_最新
  • linux root丢失修改密
  • 【spring-boot-starter-data-neo4j】创建结点和查找结点操作
  • 用tiptap搭建仿google-docs工具栏
  • JavaScript基础篇:五、 流程控制语句
  • java学习笔记2
  • 告别XML模板的繁琐!Word文档导出,easy!
  • Kubernetes 单节点集群搭建