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

Ansible简单部署与使用

目录

  • 环境
  • 安装Ansible
    • apt install
    • markupsafe error
  • 配置Ansible
    • 创建个人目录
    • ansible.cfg
    • hosts
  • 测试Ansible
    • ping
    • 批量执行自定义命令

环境

  • Ubuntu 20.04

安装Ansible

apt install

sudo apt install ansible

markupsafe error

安装成功后,尝试运行ansible,部分环境下会有如下报错:

ubuntu@ubuntu:~$ ansible --version
Traceback (most recent call last):File "/usr/bin/ansible", line 62, in <module>import ansible.constants as CFile "/usr/lib/python3/dist-packages/ansible/constants.py", line 12, in <module>from jinja2 import TemplateFile "/usr/lib/python3/dist-packages/jinja2/__init__.py", line 33, in <module>from jinja2.environment import Environment, TemplateFile "/usr/lib/python3/dist-packages/jinja2/environment.py", line 15, in <module>from jinja2 import nodesFile "/usr/lib/python3/dist-packages/jinja2/nodes.py", line 23, in <module>from jinja2.utils import MarkupFile "/usr/lib/python3/dist-packages/jinja2/utils.py", line 656, in <module>from markupsafe import Markup, escape, soft_unicode
ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/home/ubuntu/.local/lib/python3.8/site-packages/markupsafe/__init__.py)

上述报错通常是markupsafe版本不兼容导致,查看markupsafe的版本:

ubuntu@ubuntu:~$ pip show markupsafe
Name: MarkupSafe
Version: 2.1.5
Summary: Safely add untrusted strings to HTML/XML markup.
Home-page: https://palletsprojects.com/p/markupsafe/
Author:
Author-email:
License: BSD-3-Clause
Location: /home/ubuntu/.local/lib/python3.8/site-packages
Requires:
Required-by: Werkzeug

回退到2.0.1版本可以解决:

python -m pip install markupsafe==2.0.1

ansible可成功运行:

ubuntu@ubuntu:~$ ansible --version
ansible 2.9.6config file = /etc/ansible/ansible.cfgconfigured module search path = ['/home/ubuntu/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']ansible python module location = /usr/lib/python3/dist-packages/ansibleexecutable location = /usr/bin/ansiblepython version = 3.8.10 (default, Nov 22 2023, 10:22:35) [GCC 9.4.0]

配置Ansible

创建个人目录

为了不影响系统配置,可以在个人的自定义目录下运行ansible,基于个人的配置文件:

mkdir -p /home/ubuntu/mydir/ansible

ansible.cfg

拷贝系统的cfg文件到个人目录下进行修改:

cp /etc/ansible/ansible.cfg /home/ubuntu/mydir/ansible

修改cfg文件:

[defaults]
inventory      = /home/ubuntu/mydir/ansible/hosts[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False

hosts

拷贝系统的hosts文件到个人目录下进行修改:

cp /etc/ansible/hosts /home/ubuntu/mydir/ansible

修改hosts文件:

[my_test]
#10.5.3.202 ansible_ssh_port=22 ansible_ssh_user=test ansible_ssh_pass='123' ansible_su_pass='123'
10.5.3.202[my_test:vars]
ansible_ssh_user=test
ansible_ssh_pass="123"

测试Ansible

ping

测试受控主机的连通性:

ubuntu@ubuntu:~/mydir/ansible$ ansible my_test -m ping
10.5.3.202 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": false,"ping": "pong"
}

批量执行自定义命令

常用命令

ansible my_test -m shell -a "bash xxx.sh"
ansible my_test -m copy -a "src=/home/ubuntu/xxx.sh dest=/home/test/ mode=775"
ansible my_test -m file -a "path=/home/test/xxx.sh group=test owner=test"
http://www.lryc.cn/news/437004.html

相关文章:

  • Harmony Next charles 抓包指南
  • 【HarmonyOS】Beta最新对外版本IDE下载和环境配置
  • 2024年9月第2周AI资讯
  • 【软件使用-MEGA】构建进化树报错
  • 面试常见八股
  • 第十八章 番外 余弦相似度
  • HPA和helm
  • 基于人工智能的智能语音助手
  • java实际开发——数据库存储金额时用什么数据类型?(MySQL、PostgreSQL)
  • Java 设计模式-状态模式
  • 2024.9.13 Python与图像处理新国大EE5731课程大作业,索贝尔算子计算边缘,高斯核模糊边缘,Haar小波计算边缘
  • 动态IP池的IP都是纯净IP吗?
  • 【MySQL】查询表中重复数据、模糊查询列信息、快速copy表数据(1)
  • 计算机操作系统之并行性与并发性笔记
  • 顶级高效的ChatGPT论文润色提示词和使用技巧
  • WebAPI (一)DOM树、DOM对象,操作元素样式(style className,classList)。表单元素属性。自定义属性。间歇函数定时器
  • 若依框架开发
  • 局域网windows下使用Git
  • Redis访问工具
  • vue3+ant design vue动态实现级联菜单~
  • 软件可维护性因素例题
  • git的一些操作
  • opencv实战项目二十三:基于BEBLID描述符的特征点匹配实现表盘校正
  • 数据库是全表扫描是怎么扫描法?
  • 认准这10款人力资源系统,90%的企业都在用!
  • 2024年我的利基出版转型——新战略与重点解析
  • 【数据结构】双向链表专题
  • 大二上学期计划安排
  • HarmonyOS开发实战( Beta5.0)图片编辑实现马赛克效果详解
  • 【新书介绍】《JavaScript前端开发与实例教程(微课视频版)(第2版)》