zoukankan      html  css  js  c++  java
  • ansible 2.7.1 快速开始

    refer to 官方手册 https://docs.ansible.com/ansible/latest/modules/modules_by_category.html

    refer to 中文手册 http://www.ansible.com.cn/

    refer to Ansible快速入门 http://getansible.com/

    建议使用Redhat Linux 7.4

    0.查看linux版本

    cat /etc/redhat-release

    1.安装ansible

    yum install ansible -y

    查看ansible版本 

    2.更新/etc/ansible/hosts

    vim /etc/ansible/hosts

    (如果需要使用密码认证方式,添加host记录,例如

    hk.lihuanhuan.net ansible_ssh_user=root ansible_ssh_pass='xxxx'

    (如果需要使用密钥认证方式,添加host记录,例如

    [group1]
    hk.lihuanhuan.net
     

    (如果需要给hosts文件加密,请参考如下流程:

    refer to https://docs.ansible.com/ansible/latest/user_guide/vault.html?highlight=vault
    
    #给hosts文件加密
    ansible-vault encrypt /etc/ansible/hosts
    #给hosts文件解密,文件将转换为明文
    ansible-vault decrypt /etc/ansible/hosts
    
    #查看加密文件
    ansible-vault view hosts
    
    #编辑加密文件
    ansible-vault edit hosts
    
    
    #使用加密后的hosts文件,交互式
    ansible all -m ping --ask-vault-pass
    ansible-playbook --ask-vault-pass site.yml
    
    #使用加密后的hosts文件,加密密码存在dev-password文件中
    ansible all -m ping --vault-password-file dev-password
    ansible-playbook --vault-password-file dev-password site.yml
    ansible-playbook site.yml --vault-password-file ~/.vault_pass.txt

    3.更新/etc/ansible/ansible.cfg

    # uncomment this to disable SSH key host checking
    host_key_checking = False

    4.执行你的第一条ansible命令

    如果使用密码认证方式,通过以下方式连接target,例如

    #如果使用密码认证方式,而且已经在hosts文件配置了正确的信息
    #all  ansible hosts配置的的所有hostname
    # -m 表示调用ansible的module
    # ping 为ansible的一个module
    
    ansible all -m ping

    如果使用密钥认证方式,通过以下方式连接target即可,例如

    #group1为已经配置的group名称,-u用于指定连接target的用户名,--private-key 指定私钥文件 
    ansible group1 -m ping -u lihuanhuan80 --private-key /appvol/robin.private

    5.使用ansible-playbook去部署一个tomcat,以下是project的结构。源代码请在这里下载https://github.com/ansible/ansible-examples/tree/master/tomcat-standalone 感谢Github上的朋友。


    5.1 在/etc/ansible/hosts文件新增一个group

    #ansible-vault edit hosts
    
    #hosts文件新增部分,如果使用非root用户登陆,而且要切换到root,ansible_become_pass必须配置
    [tomcat-servers]
    hb.lihuanhuan.net ansible_ssh_user=root ansible_ssh_pass=password ansible_become_pass=password

    5.2 在porject中site.yml配置成这样

    ---
    # This playbook deploys a simple standalone Tomcat 7 server.
    
    - hosts: tomcat-servers
      remote_user: root
      become: yes
      become_method: sudo
    
      roles:
        #- selinux
        - tomcat

    5.3 在project中hosts配置成这样

    [tomcat-servers]
    hb.lihuanhuan.net

    个人理解,site.yml作为ansible-playbook的入口文件,这里配置的hosts=tomcat-servers ,程序会去project的hosts文件中查找名为tomcat-servers的group和server。project中hosts文件配置的group和server要在ansible的master服务器安装目录中的/etc/ansible/hosts找到。

    5.4 把修改好的ansible-playbook project上传到ansible master服务器/appvol/

    5.5 在ansible的master服务器上执行ansible-playbook

    ansible-playbook /appvol/tomcat-standalone/site.yml --ask-vault-pass

    你会在服务器上看到执行的日志,类似下面的截图。

    如果您喜欢我,可以通过微信请我喝果汁。

    如果有疑问,可以留言或者发邮件给我 lhh_nj@163.com
  • 相关阅读:
    vue中的 computed 和 watch 的区别
    mysql8.0 初始化数据库及表名大小写问题
    sql server alwayson 调整数据文件路径
    zabbix 自定义监控 SQL Server
    mysql 创建用户及授权
    mysql 设置从库只读模式
    mysql8.0 主从复制安装及配置
    centos8.0安装mysql8.0
    centos8替换阿里数据源
    npm publish 报错 【you or one of your dependencies are requesting a package version that is forbidden by your security policy】
  • 原文地址:https://www.cnblogs.com/lihuanhuan/p/10612135.html
Copyright © 2011-2022 走看看