Ansible开发环境搭建

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

  • 搭建步骤
    一、创建虚拟机
    1、安装VirtualBox
    2、安装Vagrant
    3、使用Vagrant安装配置虚拟机
    二、在虚拟机安装Ansible
    1、安装Ansible
    三、安装 VS Code
    1、安装Visual Studio Code

本次搭建环境为win10

一、创建虚拟机

1、安装VirtualBox

  • 安装包下载本次虚拟机是使用
    Vargrant进行创建,基于VirtualBox,下载安装包之后,一直点击下一步安装即可,安装成功会在桌面生成下图的快捷图标

    Ansible开发环境搭建

  • 安装完成之后,打开VirtualBox软件,打开管理》全局设定,把默认虚拟电脑位置改到其它盘,不要放到C盘

    Ansible开发环境搭建

    Ansible开发环境搭建

2、安装Vagrant

  • 安装包下载,双击运行,点击下一步,安装成功之后,在CMD命令行输入
    vagrant version,如下图代表安装成功

    Ansible开发环境搭建

  • 安装 vbguest 插件,命令:

    vagrant plugin install vagrant-vbguest

    Ansible开发环境搭建

  • Vagrant命令详解
命令 作用
vagrant box add 添加box的操作
vagrant init 初始化box的操作,会生成vagrant的配置文件Vagrantfile
vagrant up 启动本地环境
vagrant ssh 通过ssh登录本地环境所在虚拟机
vagrant halt 关闭本地环境
vagrant suspend 暂停本地环境
vagrant resume 恢复本地环境
vagrant reload 修改了Vagrantfile后,使之生效(相当于先 halt,再 up)
vagrant destroy 彻底移除本地环境
vagrant box list 显示当前已经添加的box列表
vagrant box remove 删除相应的box
vagrant package 打包命令,可以把当前的运行的虚拟机环境进行打包
vagrant plugin 用于安装卸载插件
vagrant status 获取当前虚拟机的状态
vagrant global-status 显示当前用户Vagrant的所有环境状态

3、使用Vagrant安装配置虚拟机

  • 3.1 添加box命令:
    vagrant box add ubuntu/precise64

    Ansible开发环境搭建


    ubuntu/precise64就是下载的box镜像名称

  • 3.2 初始化虚拟机

    vagrant init  ubuntu/precise64

    Ansible开发环境搭建

    • 3.2.1初始化完成之后,会在当前目录生成Vagrantfile文件,如下所示

      Ansible开发环境搭建

  • 3.3 启动虚拟机
    vagrant up

    Ansible开发环境搭建

  • 3.4 进入虚拟机
    vagrant ssh

    Ansible开发环境搭建

  • 3.5 打包虚拟机

    • 3.5.1、打包完成后会在当前目录生成一个Ubuntu12_04.box的文件,将这个文件分发给其他用户(开发者),其他用户只要添加这个 box ,并用其初始化自己的开发目录,就能得到一个一模一样的开发环境了。
    • 3.5.2、首先要执行exit退出虚拟机界面

      Ansible开发环境搭建

    • 3.5.3、然后执行 vagrant halt 关闭Ubuntu系统

      Ansible开发环境搭建

    • 3.5.4、执行vagrant status 确认Ubuntu已经关机

      Ansible开发环境搭建

    • 3.5.5、执行命令进行打包 ,打包完成,会在当前目录生成一个Ubuntu12_04.box的文件

      vagrant package  --output  Ubuntu12_04.box

      Ansible开发环境搭建


      Ansible开发环境搭建

    • 3.5.6、如果其它同事需要使用该虚拟机,只需要执行以下操作即可,本次演示,使用另外一个目录演示,该命令是把之前打包的box添加到本地环境,首先执行命令:
      vagrant box add Ubuntu12_04  Ubuntu12_04.box   

    Ansible开发环境搭建

    • 3.5.6.1 然后初始化导入的虚拟机,如果当前目录已经创建过Vagrantfile文件,则要换一个目录,本文使用D:\VS1 目录,初始化命令:
vagrant init Ubuntu12_04  

Ansible开发环境搭建

  • 3.5.6.2 启动虚拟机
    vagrant up

Ansible开发环境搭建

二、在虚拟机安装Ansible

1、安装Ansible

  • 1.1 下载pip安装包,命令如下:
    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

    Ansible开发环境搭建

  • 1.2使用python命令安装pip命令,默认系统已经安装了python,安装命令如下:
    sudo python get-pip.py

    Ansible开发环境搭建


    使用pip --version 查看是否安装成功

    Ansible开发环境搭建

  • 1.3接着使用pip命令安装ansible,首先要切换到root用户,防止报各种权限问题
    su - root 接着输入root用户密码,默认密码是vagrant

    Ansible开发环境搭建

  • 1.4 执行ansible安装命令
    pip install ansible==2.7.1 --trusted-host mirrors.aliyun.com --index-url=http://mirrors.aliyun.com/pypi/simple/

    Ansible开发环境搭建

  • 1.5 安装完成之后,输入ansible --version命令查看是否成功

    Ansible开发环境搭建

三、安装 VS Code
1、 安装包下载,点击下一步一直安装,安装成功之后,桌面会出现该图标

Ansible开发环境搭建


2、 安装完成,进入主界面,按快捷键ctrl+shift+x 进入资源扩展页面,输入language,安装中文简体,方便使用该软件,安装完成需要重启

Ansible开发环境搭建


3、 点击文件》新建文件,输入代码

Ansible开发环境搭建


4、 鼠标点击编辑器,然后按F5进行调试

Ansible开发环境搭建


5、可以点击设置按钮,添加不同的调试配置,比如js,c++

Ansible开发环境搭建


Ansible开发环境搭建

原文地址:https://blog.51cto.com/6183574/2420682

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


----name:setpublickeyonremotehosts&setreomtehostssudoersfilehosts:all#此脚本要求所有的主机root用户密码相同become:noremote_user:rootvars:-remoteuser:user1:rhcetasks:-name:setsecondarygroupforrhce
环境准备#cat/etcedhat-releaseCentOSLinuxrelease7.9.2009(Core)#pythonPython3.7.11(default,Jul312022,16:12:35)[GCC4.8.520150623(RedHat4.8.5-44)]onlinuxType"help","copyright","credits"or"li
准备好环境,在安装之前请先了解openshift提供的ansible有大量的安装选项文档地址:https://docs.okd.io/latest/install/configuring_inventory_file.html1、配置/etc/ansible/hosts 
Ansible:运维工作:系统安装(物理机、虚拟机)-->程序包安装、配置、服务启动-->批量操作-->程序发布-->监控OSProvisioning:物理机:PXE、Cobbler虚拟机:ImageTemplatesConfigration:puppet(ruby)saltstack(python)chefcfengineCommandand
ansible与salt对比相同都是为了同时在多台机器上执行相同的命令都是python开发不同agent(saltstack需要安装、ansible不需要)配置(salt配置麻烦,ansible基本不用配置)学习路线(salt比较陡峭,ansible比较平缓)第三方工具(salt比较少)开源社区的对接(salt比较少)现有用户(salt还是an
[root@node1playbook]#catnginx.yml-hosts:test\\主机组,要和nginx.yml在同一个目录下remote_user:root\\远端执行任务的用户tasks:\\任务-name:installhttpd\\任务描述command:yum-yinstallhttpd\\调用ansible的command模块安装httpd-na
一直不知道这个模块到底在哪,并且也挺想搞清楚官方那些模块到底在哪个目录下。1.使用grep-rl"copy.py"/usr/lib/python2.7/site-packages/ansible(这个目录是专门放ansible源码目录的)然后找到是/usr/lib/python2.7/site-packages/ansible/modules/files/copy.py这个文件,这里需要
ansile作为去除安装agent的自动化工具,通过ssh协议的简单功能强大的自动化工作。在ansile使用的过程中,有三种用途1、ansible自行一次性任务,即执行命令如:ansible10.59.87.11-mping*ansible"dev-hdp"-mcopy-a"src=oot/HfHadoopHiveUdf.jardest=/data1/opt/cloudera/par
ansible-playbook(1) Ansible组成部分InventoryModulesAdHocCommandsplaybooksplaybooks:Tasks:任务,即调用的模块完成的某操作variables:变量Templates:模版Roles:角色 基本结构:-host:webserverremote_user:tasks:
报错:[root@jenkins~]#ansiblego_activity-mcron-a"name='log_clear'minute=0hour=2job=find/home/golanger/log/-typef-name'log$(date+\%d-d-1day)'-delete"ERROR!thistask'cron'hasextraparams,wh
一、测试环境说明1、系统:rhel6.92、ip地址:20.20.20.24/2420.20.20.41/2420.20.20.42/243、以下操作使用root身份进行,也可以使用具有sudo权限的用户进行相关操作二、环境准备1、关闭iptables防火墙、selinux#/etc/init.d/iptablesstop#
ansible常用模块安装:依赖于epel源yuminstallansible-y配置文件:/etc/ansible/ansible.cfgInvertoory:/etc/ansible/hosts 如何查看模块帮助:ansible-doc-lansible-doc-sMODULE_NAME` ansible命令应用基础:语法:ansible<host-pattern>[options]-fforks
copycopy模块是将ansible管理主机上的文件拷贝上远程主机中,与fetch相反,如果目标路径不存在,则自动创建,如果src的目录带“/”则复制该目录下的所有东西,如果src的目录不带“/”则连同该目录一起复制到目标路径;常用模块src参数:用于指定需要copy的文件或目录
9.YAML9.1简介(1)YAML是一个可读性高的用来表达资料序列的格式。(2)YAML参考了其它多种语言。包括:XML、C语言、python、perl以及电子邮件格式的RFC2822等。ClarkEvans在2001年首次发表了这种语言。(3)YAML不是XML,在开发这种语言时,YAML的意思其实是:yetanothermarkuplanguage,9.2特性(1)YA
了解ansibleansible批量在远程主机上执行命令ansible主要是为了进行操作多个主机而进行的#!/bin/envpython文件中直接指向python文件#!/bin/base 指行脚本一.ansible第一步.下载epel源wget-O/etc/yum.repos.d/epel.repohttp://mirrors.aliyun.comepo/epel-7.repo
背景:在私有云环境下,遇到要开通某个项目,则需要快速的响应创建虚拟机,并且做一些基础的配置。为了提高效率以及减少手工犯错的概率,一般会采取ansible批量部署,但是使用ansible的前提是预先配置好免密。在密码一致的场景中,可以使用expect优化做免密的过程解决方案:1.
简单例子1:vars定义变量-hosts:allremote_user:rootvars:-package:nginx-service:nginx tasks:-name:installnginxpackage yum:name={{package}}state=latest-name:installconfigurationfileforhttpd copy:src=/etcginxginx
 ansible自动化运维工具的介绍      ansible结构特性:            模块化,调用特定的模块,完成特定的任务;        基于Python语言实现,由Paramiko、PyYAML和Jinja2三个关键模块;        部署简单,agentless        主从模
---恢复内容开始---Templates:模版 cat/etc/ansible/hosts  cattemplatesginx.conf.j2 -hosts:testremote_user:rootvars:-package:httpd-service:httpdtasks:-name:installnginxpackage yum:name={{package}}state=la
1、配置资源清单inventory文件[root@test1~]#cat>/etc/ansible/hosts<<EOF[k8s]192.168.0.92ansible_ssh_port=22ansible_ssh_user=k8sansible_ssh_pass='123'ansible_become_pass='123456'EOF解释:ansible_ssh_pass='123'