Ansible在macOS上的安装部署

一、安装 Ansible(使用 Homebrew)

  1. 安装 Homebrew(如果尚未安装):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. 使用 Homebrew 安装 Ansible:
brew install ansible
  1. 安装完成后通过 ansible --version来验证
    在这里插入图片描述

二、Ansible 配置文件

Ansible 的主要配置文件是 /etc/ansible/ansible.cfg,但也可以在项目目录中创建一个 ansible.cfg 文件来覆盖默认配置。
在配置文件中,可以设置各种选项,如 inventory 的位置、SSH 连接参数、行动插件、回调插件等。

[defaults]
host_key_checking = False
inventory = ../../inventory
log_path = ansible.log

三、Ansible的脚本Playbook

- hosts: localhost 或者 需要远程连接的主机名gather_facts: novars:ansible_become_pass: "XXX"tasks:- name: delete folder1file:name: "想要被删除的文件地址1"state: absent- name: delete folder1file:name: "想要被删除的文件地址2"state: absent# hosts 指定了要管理和配置的主机组
# gather_facts 为 no时,Ansible 不会在执行 play 之前自动运行 setup 模块来收集事实。这可以节省时间,尤其是当你管理的节点很多,或者当你知道你不需要使用这些事实时。
# ansible_become_pass 指定了在执行 command 任务时使用的密码
# tasks 则包含了一组有序的任务列表,其中包括了安装和启动 Apache 两个任务。
# state: absent 用于指示 Ansible 应该删除或移除一个对象。这个参数通常与 file、user、group、service 等模块一起使用,这些模块可以管理文件系统、用户、组和服务。

ansible-playbook的命令

ansible-playbook playbook.yml

执行一次
在这里插入图片描述
以上是localhost 执行结果

四、Ansible 主机清单(Inventory)

ansible_ssh_host # 要连接的主机名
ansible_ssh_port # 端口号,默认22
ansible_ssh_user # ssh连接时默认使用的用户名
ansible_ssh_pass # ssh连接时的密码
ansible_sudo_pass # 使用sudo连接用户时的密码
ansible_ssh_private_key_file # 秘钥文件如果不想使用ssh-agent管理时可以使用此选项
ansible_shell_type # shell类型,默认sh
ansible_connection # SSH连接类型:local、ssh、paramiko在ansible 1.2之前默认paramiko
ansible_python_interpreter # 用来指定Python解释器的路径,同样可以指定ruby、Perl的路径

在搭建Jenkins的机器的 /etc/hosts 中配置远程主机的IP与Host,这样Inventory中就只需要写Host name。
在这里插入图片描述

group_vars 下面的yml 内容:
ansible_user:
ansible_connection:
ansible_port:
ansible_password:
ansible_ssh_pass:

host_vars下面的yml内容:
ansible_host:

hosts 内容:
[group_vars下面的yml name]
host_vars 下面的yml name

下面是远程测试示例
示例test_remote.yaml

- hosts: MacBookAirbecome: yesbecome_user: root vars:ansible_user: MacTestansible_ssh_password: xxxansible_become_password: xxxtasks:- name: Delete the directoryfile:path: /Users/mactest/Desktop/folder1state: absent

在远程机器上配置 【允许远程电脑访问您的 Mac】【Setting- General- Sharing- Advanced】
本机验证是否可以连通远程机器
在这里插入图片描述

可以连通,再执行ansible命令ansible-playbook test_remote.yml

报错"msg": "rmtree failed: [Errno 1] Operation not permitted: '/Users/mactest/Desktop/folder1'"

提示没权限,因为远程机器上ssh 权限没打开
进入 System -> Privacy&Security -> Full Disk Access给ssh 权限
在这里插入图片描述
再次执行ansible 命令 运行OK
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/630684.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenHarmony网络请求库-httpclient

简介 HTTP是现代应用程序通过网络交换数据和媒体的的主要方式。httpclient是OpenHarmony 里一个高效执行的HTTP客户端,使用它可使您的内容加载更快,并节省您的流量。httpclient以人们耳熟能详的OKHTTP为基础,整合android-async-http&#xf…

【图像分割】光流生成标签(matlab)

文章目录 1. 框架2. opticalFlow_label3. 光流 1. 框架 2. opticalFlow_label close all; clear; clc; % 使用光流进行标签的生成 %% 视频帧的读取 npy_data readNPY(train.npy);%% 提取标签的坐标 first_label squeeze(npy_data(2,1,:,:)); h fspecial("gaussian&quo…

基于Ultrascale+系列GTY收发器64b/66b编码方式的数据传输(二)——Sync Gearbox使用及上板测试

基于Ultrascale系列GTY收发器64b/66b编码方式的数据传输(一)——Async Gearbox使用及上板测试 一文介绍了64B/66B编码方式及如何使用GTY IP核提供的Async Gearbox进行64B/66B数据传输,由于Async Gearbox方式下无法使用buffer bypass方式提供的…

阿里云服务器上配置Docker 以及常用命令讲解

目录 一、认识docer二、在阿里云服务器上配置Docker三、底层原理4、常用命令(1)Docker中常见镜像命令(2)Docker中常见容器命令(3)日志查看命令(4)进入容器的命令与拷贝命令 一、认识…

【三维Dvhop定位】基于麻雀搜索算法的多通信半径和跳距加权的三维Dvhop定位算法【Matlab代码#81】

文章目录 【可更换其他算法,获取资源请见文章第6节:资源获取】1. Dvhop定位算法2. 麻雀搜索算法3. 多通信半径和跳距加权策略3.1 多通信半径策略3.2 跳距加权策略 4. 部分代码展示5. 仿真结果展示6. 资源获取 【可更换其他算法,获取资源请见文…

网络爬虫软件学习

1 什么是爬虫软件 爬虫软件,也称为网络爬虫或网络蜘蛛,是一种自动抓取万维网信息的程序或脚本。它基于一定的规则,自动地访问网页并抓取需要的信息。爬虫软件可以应用于大规模数据采集和分析,广泛应用于舆情监测、品牌竞争分析、…

函数 基础知识

本笔记为观看 50 函数-函数的定义_哔哩哔哩_bilibili的学习笔记 1 函数概述 作用:将一段经常使用的代码封装起来,减少重复代码一个较大的程序,一般分为若干个程序块,每个块实现特定的功能。 2 函数的定义 eg: int max(int a,int b); {retu…

CSS:filter(滤镜)属性

用途 可以用于img标签,div标签等 图像,背景,边框的调整 常用属性 1. 灰度 grayscale(),默认是0,100%就是黑白 2. blux 给图像设置高斯模糊的程度,radius值设定高斯模糊的程序,表示像素点…

Eureka基础介绍和使用

目录 一.理论基础 二.父项目 2.1 新建父项目 2.2 管理依赖 三.子项目 3.1 新建子项目 3.2 注册中心Server依赖和启动类和配置文件 3.3 生产者Client 依赖和启动类和配置文件 3.5 消费者Custmer依赖和配置类、启动类和配置文件 四.心跳 五.公共资源项目 5.1新建实体…

【Qt】Qt Hello World 程序

文章目录 1、Qt Hello World 程序1.1 使用按钮实现1.1.1 使用可视化方式实现 1.1.2 纯代码方式实现 label创建堆(内存泄漏)或者栈问题Qt基础类(Qstring、Qvector、Qlist)乱码问题零散知识 1、Qt Hello World 程序 1.1 使用按钮实…

【任务调度】Apache DolphinScheduler快速入门

Apache DolphinScheduler基本概念 概念:分布式、去中心化、易扩展的可视化DAG工作流任务调度系统。 作用:解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。Apache DolphinScheduler是一款开源的调度工具&#xff…

android远程更新下载apk

最近业务有涉及到&#xff0c;奈何是个app代码小白&#xff0c;遂记录一下 一&#xff1a;AndroidManifest.xml文件配置 application标签里面加上 android:networkSecurityConfig"xml/network_config" <!-- app下载更新配置--> <uses-permission andr…