• 欢迎访问运维搬运工网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 本站一年会员:100元 ,两年会员:180元 ,永久会员:380元
  • 这世界就是,一些人总在昼夜不停地运转,而另外一些人,起床就发现世界已经变了。
  • 本博客推广的是知识付费,用赞助的方式实现博客维护,不以赚钱为目的的博客

Ansible-playbook批量安装JDK

前言:

假如现在需要你在一组服务器安装一个或多个软件,如果一台一台登陆安装的话会耗费非常多的时间不符合经济效益,或许你会说我可以自己写个脚本,但你写脚本的时间已经足够我把软件安装好了,所以这时你需要一个自动化工具,本文将介绍如何利用Ansible-playbook批量安装jdk。

剧本:

ansible的安装过程就不在此多说了,可参考:
Ansible安装、配置与常用模块

必须得了解清楚安装JDK的步骤流程:
1、下载jdk软件包到控制机器上
2、通过copy模块复制到远程节点上
3、解压
4、创建软连接
5、设置java环境变量
6、让profile生效

---
- hosts: lucky
  tasks:
  - name: copy jdk remote hosts
    copy: src=/root/jdk-8u151-linux-x64.tar.gz dest=/root
  - name: Decompressing files
    shell: chdir=/root tar zxf jdk-8u151-linux-x64.tar.gz
  - name: create links
    file: src=/root/jdk1.8.0_151 dest=/usr/local/java state=link
  - name: java_profile config
    shell: /bin/echo {{ item }} >> /etc/profile
    with_items:
        - export JAVA_HOME=/usr/local/java
        - export JRE_HOME=/usr/local/java/jre
        - export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib:\$CLASSPATH
        - export PATH=\$JAVA_HOME/bin:\$PATH
  - name: take effect
    shell: source /etc/profile

安装

 

[root@iZ2ze1lyoku3o8nhl81i7bZ ~]# ansible-playbook install_jdk.ymal

PLAY [lucky] ******************************************************************************************************************************************************

TASK [Gathering Facts] ********************************************************************************************************************************************
ok: [10.0.0.12]
ok: [10.0.0.13]

TASK [copy jdk remote hosts] **************************************************************************************************************************************
changed: [10.0.0.13]
changed: [10.0.0.12]

TASK [Decompressing files] ****************************************************************************************************************************************
[WARNING]: Consider using the unarchive module rather than running 'tar'. If you need to use command because unarchive is insufficient you can add 'warn: false'
to this command task or set 'command_warnings=False' in ansible.cfg to get rid of this message.

changed: [10.0.0.12]
changed: [10.0.0.13]

TASK [create links] ***********************************************************************************************************************************************
changed: [10.0.0.12]
changed: [10.0.0.13]

TASK [java_profile config] ****************************************************************************************************************************************
changed: [10.0.0.12] => (item=export JAVA_HOME=/usr/local/java)
changed: [10.0.0.13] => (item=export JAVA_HOME=/usr/local/java)
changed: [10.0.0.12] => (item=export JRE_HOME=/usr/local/java/jre)
changed: [10.0.0.13] => (item=export JRE_HOME=/usr/local/java/jre)
changed: [10.0.0.12] => (item=export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib:\$CLASSPATH)
changed: [10.0.0.13] => (item=export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib:\$CLASSPATH)
changed: [10.0.0.12] => (item=export PATH=\$JAVA_HOME/bin:\$PATH)
changed: [10.0.0.13] => (item=export PATH=\$JAVA_HOME/bin:\$PATH)

TASK [take effect] ************************************************************************************************************************************************
changed: [10.0.0.12]
changed: [10.0.0.13]

PLAY RECAP ********************************************************************************************************************************************************
10.0.0.12 : ok=6 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 
10.0.0.13 : ok=6 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

验证

[root@iZ2ze1lyoku3o8nhl81i7bZ ~]# ansible lucky -m shell -a 'source /etc/profile && java -version' 
10.0.0.12 | CHANGED | rc=0 >>
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

10.0.0.13 | CHANGED | rc=0 >>
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

运维搬运工 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Ansible-playbook批量安装JDK
喜欢 (0)
[扫描二维码]
分享 (0)
大自然搬运工
关于作者:
不是路不平,而是你不行。到底行不行,看你停不停。只要你不停,早晚都能行。
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址