IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Ansible -> 正文阅读

[系统运维]Ansible

优点:模块可以用任何语言开发

? ? ? ? ? ?有Web管理界面、可配置用户、组、资源清单和执行Playbook

? ? ? ? ? ??被管节点不需要安装代理软件。

特性:模块化:调用特定的模块,完成特定的任务。

? ? ? ? ? ?安全,基于OpenSSH

? ? ? ? ? ? 幂等性:一个任务执行1遍和执行n遍效果一样。

? ? ? ? ? ??支持playbook编排任务,YAML格式,编排任务,支持丰富的数据结构

? ? ? ? ? ??较强大的多层解决方案role

yum安装:yum install epel-release

? ? ? ? ? ? ? ? ? yum install ansible -y

配置文件:

/etc/ansible/ansible.cfg? ? ?:主配置文件,

/etc/ansible/hosts? ? ? ? ? ? ?:主机清单

/etc/ansible/roles? ? ? ? ? ? ? ? : 存放角色的目录

建议优化项:

host_key_checking = false

log_path=/var/log/ansible,log? ? ? ? ? ? ? ??

module_name? =? ? ?command

Ansible 加被管理的主机(all)+模块 +参数

ansible? all? --list? ? ? ? ? ? ? ? :列出所有主机

ansible all -m ping -k? ? ? ? ? ? ? ? :需要输入密码进行登录

ansible all -m ping? ? ? ? ? ? ? ? ? ? ? ? :实现免密登录

?执行命令出现异常:

没有在ansible管理节点(即安装ansible的节点)上添加目标节点(即需要管理的节点)的ssh认证信息

解决办法:

?

?完成!

ansible-console? ? ? ? ? ? ? ? 可交互执行命令

shell模块;

  • ansible all -m shell -a "echo '222' > /root/zhang"? ??
  • ansible all -m shell -a "ls -l /root/zhang1"

script模块

  • ansible all -m script -a "creates=/root ?/root/zhang1"? ? ? ? ? ? ?判断被控机上的文件

copy模块

  • ansible all -m copy -a "src=/etc/fstab dest=/root"????????????????从ansible服务器主控端复制文件到远程主机
  • ansible all -m copy -a “src=/root/test.sh dest=/tmp/test2.sh owner=wang mode=600 backup=yes”????????目标存在,默认覆盖,此处指定先备份
  • ansible all -m copy -a “content=‘test line1\ntest lin2’ dest=/tmp/test.txt”? ?指定内容,直接生成目标文件
  • ansible all -m copy -a “src=/etc/ dest=/backup”????????复制/etc/下的文件,不包括/etc/目录本身

Fetch模块

  • 从远程主机提取文件至ansible的主控端,copy相反,目前不支持目录
  • ansible all?-m fetch -a ‘src=/root/test1.sh dest=/data/scripts’

file模块:设置文件属性

创建空文件:ansible all -m file -a "path=/root/a.txt state=touch"

? ? ? ? ? ? ? ? ? ? ? ansible all -m file -a "path=/root/a.txt state=absent"

? ? ? ? ? ? ? ? ? ? ??ansible all -m file -a "path=/root/a.txt owner=root mod=777"

创建目录: ansible all -m file -a "path=/root/a.txt state=directory owner=mysql group=mysql"

创建软连接:ansible all -m file -a "src=/root/testfile dest=/root/testfile-link state=link"

删除软连接:ansible all -m file -a "src=/root/testfile dest=/root/testfile-link state=absent"

创建目录:ansible all -m file -a "path=/transfer state=directory"

yum模块

  • -present 安装
  • -absent 删除
  • -latest 安装最新的
  • ansible all –m yum –a “name=httpd state=present”
  • ansible all –m yum –a “name=httpd state=latest”

cron模块:

  • cron模块主要用于添加、删除、更新操作系统的crontab任务计划
  • name:任务计划名称
  • cron_file:替换客户端该用户的任务计划的文件
  • minute:分(0-59, * ,*/2)
  • hour:时(0-23, * ,*/2)
  • day:日(1-31, * ,*/2)
  • month:月(1-12, * , */2)
  • weekday:周(0-6或1-7, *)
  • job:任何计划执行的命令
  • backup:是否备份之前的任务计划
  • user:新建任务计划的用户
  • state:指定任务计划present、absent
  • #特殊的时间范围,参数:reboot(重启时),annually(每年),monthly(每月),weekly(每周), daily(每天),hourly(每小时)
  • 例子:ansible all -m cron -a "minute=1 hour=1 day=*/3 ?name='crontab day test' job='echo text'"

?service模块:实现远程管理服务的生命周期

  • ansible web -m service -a "name=httpd state=started" #启动
  • ansible web -m service -a "name=nginx state=stopped" #关闭
  • ansible web -m service -a "name=keepalived enabled=yes" #设置开机自启动

user模块:

  • group # 属组
  • groups # 附加组
  • home # 设置家目录
  • name # 用户名
  • remove # 删除用户并删除用户的家目录
  • shell # 用户登录后的shell
  • system # 系统用户
  • uid # 用户的id
  • state #创建或删除
  • shell #制定用户shell环境
  • #创建用户,并指定用户的shell,家目录,uid,以及附加组ansible all -m user -a "name=alex10 shell=/sbin/nologin home=/opt/alex10 uid=3000 groups=root“

group模块:

  • ansible all -m group -a "name=jason10 system=yes gid=5000" # 创建系统组
  • ansible all -m group -a "name=jason11" # 创建普通的组
  • ansible all?-m group -a "name=jason11 state=absent" # 删除组

hostname模块:

ansible 192.168.12.140 -m hostname -a "name=rs1"


setup模块:用于收集远程主机的一些基本信息

ansible all -m setup -a "filter=ansible_all_ipv4_addresses”

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-21 15:51:09  更:2021-08-21 15:51:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:32:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码