1. 前言
三台CentOS7机器,一台作为ansible管理机,两台作为ansible客户机。使用ansible管理机完成两台客户机的初始化,主要包括java和tomcat的安装配置。
ansible管理机IP为:192.168.56.101。
ansible客户机IP为:192.168.56.102/103。
2. 管理机配置
1、安装ansible
yum install ansible
2、生成密钥
ssh-keygen
3、把公钥拷贝到客户机
ssh-copy-id -i .ssh/id_rsa.pub -p 22 root@192.168.56.102
4、客户机IP写入到hosts
vim /etc/ansible/hosts
1 2 3
| [commonservers] 192.168.56.102 192.168.56.103
|
5、测试连接
ansible all -m ping
3. 客户机配置
客户机不需要额外配置。
4. java配置
1、在oracle官网下载jdk。
2、下载后上传文件到ansible管理机,假设为jdk-8u161-linux-x64.tar.gz。
3、管理机中创建jdk.env,内容为:
1 2 3 4
| export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_161 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
|
4、管理机中创建java-install.yml,内容为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| --- - hosts: commonservers tasks: - name: copy jdk.tar.gz copy: src: ./jdk-8u161-linux-x64.tar.gz dest: ~/jdk.tar.gz - name: create jvm directory shell: mkdir -p /usr/lib/jvm - name: unzip jdk.tar.gz shell: tar -zxf jdk.tar.gz -C /usr/lib/jvm/ - name: copy env to clients copy: src: ./jdk.env dest: ~/jdk.env - name: write jdk env to profile shell: cat jdk.env | tee >> /etc/profile - name: write jdk env to .bashrc shell: cat jdk.env | tee >> /root/.bashrc - name: make the config active shell: source /root/.bashrc - name: test jdk shell: java -version register: java_out - name: show java result debug: var=java_out verbosity=0
|
5、检查并且执行脚本
1 2
| ansible-playbook java-install.yml --syntax-check ansible-playbook java-install.yml
|
5. tomcat配置
1、在apache官网下载tomcat。
2、下载后上传文件上传到ansible管理机,假设为apache-tomcat-8.0.50.tar.gz。
2、管理机创建tomcat-install.yml,内容为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| --- - hosts: commonservers tasks: - name: copy tomcat copy: src: ./apache-tomcat-8.0.50.tar.gz dest: ~/tomcat.tar.gz - name: unzip tomcat.tar.gz shell: tar -zxf tomcat.tar.gz -C /opt/ - name: start tomcat shell: nohup /opt/apache-tomcat-8.0.50/bin/startup.sh & - name: test tomcat shell: ps aux | grep tomcat register: tomcat_out - name: show tomcat result debug: var=tomcat_out verbosity=0
|
3、检查并且执行脚本
1 2
| ansible-playbook tomcat-install.yml --syntax-check ansible-playbook tomcat-install.yml
|