使用Ansible自动配置JDK环境
1、首先安装好Ansible环境,具体步骤请见Ansible安装2、先创建hosts文件(为后面编写脚本安装JDK做铺垫)
# vi hosts
192.168.186.134 ansible_ssh_user=guxiong ansible_ssh_pass=private
注:记得/etc/ansible/hosts也要加入
3、创建文件夹
#
makedir roles
ansible-demo
jdk-install
ddefault
files jdk-7u79-linux-x64.tar.gz
handler
meta
tasks main.yml
templatesset_jdk.sh
vars main.yml
4、编辑tasks下面的main.yml
- name: copy jdk to remote host copy: src=jdk-7u79-linux-x64.tar.gz dest=~
- name: unzip jdk
shell: tar -zxf jdk-7u79-linux-x64.tar.gz
- name: creat soft link
shell: ln -s ~/jdk1.7.0_79 jdk
- name: set jdk_env copy use template
template: src=set_jdk.sh dest=~/set_jdk.sh
- name: execute script to set jdkenv
shell: sh set_jdk.sh
- name: source bash_profile
shell: source ~/.bash_profile
- name: remove files
shell: rm jdk-7u79-linux-x64.tar.gz set_jdk.sh
5、编辑templates下的set_jdk.sh
#!/bin/bash
echo "export JAVA_HOME=${HOME}/jdk" >> ~/.bash_profile
echo 'export>
echo 'export PATH=${JAVA_HOME}/bin:$PATH' >> ~/.bash_profile
source ~/.bash_profile
6、将使用到的变量编辑在vars下的main.yml
user: guxiong
host_cluster: jdktest
7、ansible-playbook安装
# ansible-playbook jdk-install.yml --extra-var "host_cluster=jdktest user=guxiong"
PLAY ****************************************************************
TASK: *********************************
changed:
TASK: ***********************************************
changed:
TASK: *****************************************
changed:
TASK: ***************************
changed:
TASK: ****************************
changed:
TASK: *************************************
changed:
TASK: ********************************************
changed:
PLAY RECAP ********************************************************************
192.168.186.134 : ok=7 changed=7 unreachable=0 failed=0
8、为了方便编写安装脚本
# vi jdk-install.sh
#!/bin/bash
set -e
source ~/.bash_profile
ansible-playbook jdk-install.yml -i ./hosts -e "host_cluster=${host_cluster} user=${user}" 注:${host_cluster} 为执行脚本时需要传入的服务组名,${user}为用户名
# ./jdk-install.sh jdktest guxiong
结果一样能安装成功
PLAY [] ***********************************************************************
TASK: *********************************
changed:
TASK: ***********************************************
changed:
TASK: *****************************************
changed:
TASK: ***************************
changed:
TASK: ****************************
changed:
TASK: *************************************
changed:
TASK: ********************************************
changed:
PLAY RECAP ********************************************************************
192.168.186.134 : ok=7 changed=7 unreachable=0 failed=0
页:
[1]