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
  • 相关阅读:
    POJ 1509 Glass Beads【字符串最小表示法】
    Codeforces 665C Simple Strings【暴力,贪心】
    Codeforces 665D Simple Subset【构造】
    HDU 5667 Sequence【矩阵快速幂+费马小定理】
    Codeforces 667D World Tour【最短路+枚举】
    Codeforces 667D World Tour【最短路+枚举】
    HDU 5676 ztr loves lucky numbers【DFS】
    Codeforces 667C Reberland Linguistics【DFS】
    前端学习笔记三
    Datawhale编程——动态规划DP
  • 原文地址:https://www.cnblogs.com/lihuanhuan/p/10612135.html
Copyright © 2011-2022 走看看