首页 > 其他分享 >ansible-yaml

ansible-yaml

时间:2024-08-01 10:50:30浏览次数:17  
标签:sshd name YAML value yaml ansible

ansible-playbook

简介

playbooks记录并执行Ansible的配置、部署和编排功能。使用yaml格式,文件以yaml或者yml结尾

官方网站:https://docs.ansible.com/ansible/latest/user_guide/playbooks.html#working-with-playbooks

yaml语言

YAML(Yet Another Markup Language)不是标记语言,它是适用于所有编程语言的人类友好数据序列化标准。
使用 YAML 是因为它比 XML 或 JSON 等其他常见数据格式更易于人类读写。此外,大多数编程语言中都有可用于 YAML 的库。

yaml官网:   https://yaml.org/
ansible官网:https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html

play语法简介

语法简介:
几乎每个 YAML 文件都以列表开头。列表中的每一项都是一个键/值对列表,通常称为“哈希”或“字典”。
所有 YAML 文件(无论它们是否与 Ansible 关联)都可以选择---以...,表示文档的开始和结束。
列表的所有成员都是以相同缩进级别开头的行,以破折号和空格开头:"- "。
字典以简单的形式表示(冒号后面必须跟一个空格):key: value。

次行一般书写文件内容、缩进严格、大小写敏感。
key/value可以多行书写也可一行书写,一行书写用,隔开。
value可以是个字符串,也可是list。
一个play需要包括name和tasks,name 是描述;tasks 是动作。
一个name只能包含一个task。
扩展名称yml或者yaml。


例:
 cat yml_file/sshd.yml 
---
- name: change sshd file     # 前面有横线就是列表
  hosts: 192.168.1.1         # 需要执行的主机,可以时IP地址,主机名,inventory组名
  gather_facts: false        # 不收集facts变量
  vars:                      # 设置变量,key-value形式,也可以使用vars_files指定文件的形式
    port: 9222              # 单个变量的键值对
    users:                   # 单个key对应多个值
      - user01
      - user02
  tasks:                    # ansible任务
    - name: add port        # 任务名称
      lineinfile:           # 使用的模块
        path: /etc/ssh/sshd_config
        insertafter: '^#Port 22'
        line: 'Port {{ port }}'
        backup: yes
    - name: add permit user   # 第二个任务
      lineinfile:
        path: /etc/ssh/sshd_config
        line: 'allowusers     {{ users | join(" ") }}'   # 使用join函数连接所有的value值
        state: present 
      notify: rest sshd                      # 触发定义的handlers,表示执行该模块成功后触发
  handlers:
    - name: rest sshd
      service:
        name: httpd
        state: restarted

标签:sshd,name,YAML,value,yaml,ansible
From: https://www.cnblogs.com/kkit/p/18336205

相关文章

  • ansible常用模块
    ansible常见模块setup#收集远程主机的Facts(每个被管理节点在接收运行管理命令之前,会将自己主机相关信息,如操作系统,IP等信息传递给ansible主机)filter:用于进行条件过滤,如果设置,仅返回匹配过滤条件的信息ansiblehosts1-msetupansiblehosts1-msetup-a"filter=ansibl......
  • Ansible内置模块之file
    RHCE9.0 (点击查看课程介绍) 上课课时:72课时/12天+考试辅导1-2天开班频率:2个月开一期最新新班:7月27日周末班上课方式:面授/直播;提供随堂录播ansible.builtin.file模块用于管理文件和目录的属性。可以创建、删除文件或目录,修改文件权限、所有者等属性。01 选......
  • Ansible 学习与扩展整理
    一、Ansible基础知识回顾核心组件主机清单(HostInventory):定义了Ansible可以管理的目标机器列表。模块(Modules):Ansible执行特定任务的最小单位,类似于命令行工具或脚本。插件(Plugins):扩展Ansible功能,如连接插件、回调插件等。Playbook:YAML格式的文件,定义了Ansi......
  • Pycharm 设置 yaml 格式接口测试用例模板 (python+pytest+yaml)
    前言初次编写的伙伴们可能对yaml格式不太熟悉,自己写yaml用例的时候,总是格式对不齐啊记不住设定好的关键字啊等等等琐事是我们可以在pycharm上设置用例模块,通过快捷方式调用出对应的模块,达到高效写用例的目的。 pycharm操作集:1、File-Settings(快捷键Ctrl+Alt+S) 2、Live......
  • ansible执行source /etc/profile不生效
    ansible执行source/etc/profile不生效ssh登录有两种模式:1.loginshell用SSH客户端(比如Putty、xshell)登陆Linux系统时,要求输入用户名/密码登录或根据SSHkey登录时,就是loginshell。non-loginshell而在A机器上使用SSH免密码登录B机器,就是non-logins......
  • ansible实战__使用安装包安装nginx
    目录结构[root@mastertar_install_nginx]#tree.├──nginx-1.22.1.tar.gz├──nginx_install_tar.yaml└──nginx.service文件解释nginx-1.22.1.tar.gznginx安装包,其他版本也可以nginx.service为了设置系统启动(systemctlstartnginx)等具体文件[Unit]De......
  • ansible实战__使用yum方法安装nginx
    目录结构[root@masteryum_install_nginx]#tree.├──CentOS-Base.repo└──nginx_install.yaml如果yum源有问题需要建CentOS-Base.repo文件,没有则不需要报错信息可参考如下链接:CentOS-Base.repo文件内容#CentOS-Base.repo##Themirrorsystemusesthecon......
  • Ansible基础
    Ansible是一个开源的基于openssh的自动化配置管理工具。可以用它来配置系统,部署软件和编排更高级的IT任务,比如持续部署或零停机更新。Ansible的主要目标是简单和易用,通过Ansible可以批量管理大型运维环境。Ansible是一个用Python开发的自动化运维工具,它能执行批量系统配置、......
  • Ansible运行临时命令
    一、基本语法格式:格式:ansible受控主机IP/主机组[选项]参数选项-k手动输入SSH协议的代码-l指定主机清单文件-m指定要使用的模块名-a设置传递给模块的参数-M指定要使用的模块路径-S使用su命令-T设置SSH协议的连接超时时间--version查看版本信息-h帮助信息例......
  • Ansible创建逻辑卷
    环境:受控主机清单文件:[dev]192.168.10.129[all:vars]ansible_ssh_user=rootansible_ssh_pass=123磁盘:受控主机需要存在一块空的磁盘。使用192.168.10.129主机上的sdb创建逻辑卷。yml文件:ansible模块:lvg:管理主机的物理卷及卷组设备lvol:管理主机的逻辑卷设备files......