首页 > 其他分享 >ansible playbook

ansible playbook

时间:2024-09-07 16:53:11浏览次数:17  
标签:username name sh ansible user yml playbook

优势:便于功能的重用

本质上就是.yml结尾的文件

遵循YAML语法编写


YAML语法注意事项:

1、一个键对应一个值时      key: value

2、一个键对应多个值时      

key:

  value1

  value2

3、同级别代码,缩进要一样,建议4个空格


- hosts:被管理机

 tasks:

    - name: 操作名称

      模块名称:

           参数1

           参数2

    - name: 操作名称

      模块名称:

           参数1

           参数2


vi userCreate.yml

- hosts: web          

 gather_facts: false         (取消收集数据的行为)

 tasks:

      - name: create user

        user:

            name: hodoop

            shell: /sbin/nologin

:wq


# ansible-playbook userCreate.yml


调用变量的语法:{{变量名称}}


定义变量:

vars


# vi user02.yml

- hosts: web

 vars:

    - username: "AA"

    - sh_name: "/sbin/nologin"

 tasks:

     - name: create user

       user:

           name: "{{ username }}"

           shell: "{{ sh_name }}"

:wq


# ansible-playbook user02.yml


# vi /etc/ansible/hosts

[web:vars]

username="BB"

sh_name="/bin/bash"

:wq


vi user03.yml

- hosts: web

 tasks:

     - name: create user

       user:

           name: "{{ username }}"

           shell: "{{ sh_name }}"

:wq


# ansible-playbook user03.yml

# vi /etc/ansible/hosts

[web]

10.0.1.1  username="CC" sh_name="/bin/bash"

10.0.1.1  username="DD" sh_name="/bin/false"

:wq


外部文件定义变量


# vi userInfo.txt

username: "AA"

sh_name: "/sbin/nologin"

:wq


# vi user04.yml

- hosts: web

 vars_files:

    - /root/userInfo.txt

 tasks:

     - name: create user

       user:

           name: "{{ username }}"

           shell: "{{ sh_name }}"

:wq

# ansible-playbook user04.yml


# ansible-vault  encrypt(加密)   decrypt(解密)

# ansible-vault encrypt userInfo.txt

# ansible-playbook --ask-vault user04.yml

输入加密密码

# ansible-vault decrypt userInfo.txt


标签:username,name,sh,ansible,user,yml,playbook
From: https://blog.51cto.com/yangzhiming/11945322

相关文章

  • ansible roles使用场景,现在有多台机器需要批量加入k8s集群,怎么实现
    AnsibleRoles是一种用于组织和重用Ansible任务的结构化方式。它们特别适合于大型项目,能够简化配置管理和自动化部署。使用AnsibleRoles可以有效地管理多台机器的配置和状态。使用场景模块化管理:将相关的任务、变量和文件组织到一起,提高可维护性。复用性:不同项目可以复......
  • 掌握 Ansible:高效自动化运维的完整教程
    Ansible自动化运维全解指南感谢浪浪云支持发布浪浪云活动链接:https://langlangy.cn/?i8afa52文章目录Ansible自动化运维全解指南一、Ansible概述1.Ansible特点二、Ansible的角色1.使用者2.Ansible工具集3.作用对象三、Ansible的配置1.Ansible安装1)通过......
  • Ansible教程
    1.安装ansible在有安装python情况下:pipinstallansible或者指定版本:pipinstallansible==2.7.2没有安装python情况下:ubuntu:aptinstallansiblecentos:yuminstallansible-y2.查看ansible版本及配置文件ansible--version 3.修改ansible配置cd/optnanoansibl......
  • Ansible_cron-管理定时任务模块
    Linux#Ansible_Modulecron模块使用此模块管理crontab和环境变量条目。这个模块允许您创建环境变量和命名为crontab的条目、更新或删除它们。当crontab作业被管理时:模块包含一行crontab条目的描述“#Ansible:<name>”’对应于传递给模块的“name”,它被未来的ansible/module......
  • Ansible-磁盘管理模块整合
    Linux#Ansible_Module目录Linux#Ansible_ModuleParted模块Lvg模块Lvol模块Filesystem模块Mount模块Parted模块这个模块允许使用parted命令行工具配置块设备分区。可以进行磁盘的管理关键字device指定硬盘设备路径比如/dev/vdblabel指定分......
  • ansible使用docker模块构建镜像
    目录Docker的Ansible自动化应用解决国内无法下载镜像问题Dockerfile文件构建镜像运行容器使用Ansible创建和管理容器Docker的Ansible自动化应用解决国内无法下载镜像问题国内的服务器无法正常下载仓库的镜像了,只能到其他地区下载,再推送到阿里的镜像,再下载原来阿里的镜像构......
  • 网络自动化:利用Python和Ansible实现网络配置管理
    1.环境准备安装Python和Ansible•安装Python:•确保您有Python3版本,可以通过以下命令检查:python3--version•如果没有安装Python3,可以根据操作系统的不同,通过包管理器或直接从Python官方网站下载。•安装Ansible:•Ansible是一个开源的自动化工具,使......
  • ansible自动化运维项目
    Ansible是一种基于Python开发的开源自动化运维工具,广泛应用于配置管理、批量系统配置、程序部署和运行命令等功能。它通过模块化的方式工作,无需在被管理节点上安装额外的客户端软件,只需在服务器端安装Ansible即可实现对远程节点的管理。Ansible的基本原理和组件Ansible的核心......
  • 【Ansible】ansible调用主机报错问题
    ansible预计实现功能,自动生成/etc/hosts文件,copy到远程机器,出现如下错误:配置如下:----hosts:192.168.31.12remote_user:clustersudo:yestasks:-name:dirstributehostfiletemplate:src=templates/hosts.j2dest=/......
  • 批量维护工具ansible之yaml与剧本playbook
    一.简介ansible的剧本playbook采用yaml语法,通过yaml语法可以轻松地表示和定义复杂的任务和配置,无论是单台还是多台服务器的管理,ansible都能够提供统一的语法来描述和执行操作,能快速地应对变更、部署和升级。二.yaml语法基本0.运行AnsiblePlaybookansible-playbookdeploy.yml1.YAM......