一、域名解析及密钥
1.在/etc/hosts文件中进行域名解析
ip地址 域名
2.使用ssh-keygen命令在控制节点生成密钥
用ssh-copy-id -i 被控制节点ip或域名解析后的域名 ,将生成的密钥发送给被控制节点
二、主机清单
在/etc/ansible/hosts文件中进行主机清单的编辑
[webservers1] #webservers1组
ansible-web1 #此处是经过解析后的域名,也可以是被控制节点的ip
[webservers2]
ansible-web2
[weball:children] #此处可以不写,只是为了说明children是可以包含多个组的
webservers1
webservers2
[weball:vars]
ansible_ssh_port=22
ansible_ssh_user=root
ansible_ssh_private_key_file=/root/.ssh/id_rsa #此处是用密钥的方式,也可以用密码的方式,但是密码的方式需要保证被控制节点的密码一致才可以
Ansible Inventory 常见的内置参数:
三、剧本内容
前提:在/usr/src下有jdk-8u211-linux-x64.tar.gz 、apache-tomcat-8.5.45.tar.gz、jspgou.tar.gz三个包才可以
---
- hosts: webservers1
user: root
tasks:
- name: copy jdk package
copy: src=/usr/src/jdk-8u211-linux-x64.tar.g dest=/usr/src/
- name: unzip jdk package
shell: tar -xvzf /usr/src/jdk-8u211-linux-x64.tar.gz -C /usr/local
- name: rename jdk
shell: mv /usr/local/jdk1.8.0_211 /usr/local/java
- name: set environment1
shell: echo "JAVA_HOME=/usr/local/java" >> /etc/profile
- name: set environment2
shell: echo 'PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
- name: copy tomcat package
copy: src=/usr/src/apache-tomcat-8.5.45.tar.gz dest=/usr/src/
- name: unzip tomcat package
shell: tar -xvzf /usr/src/apache-tomcat-8.5.45.tar.gz -C /usr/local
- name: rename tomcat
shell: mv /usr/local/apache-tomcat-8.5.45 /usr/local/tomcat
- name: add source
shell: sed -i '1a\source \/etc\/profile' /usr/local/tomcat/bin/startup.sh
- name: install mariadb-server
yum: name=mariadb-server state=latest
- name: install mariadb
yum: name=mariadb state=latest
- name: start mariadb
service: name=mariadb state=started
- name: create database
shell: mysql -e "create database jspgou default charset=utf8;"
- name: flush
shell: mysql -e "flush privileges;"
- name: copy jspgou package
copy: src=/usr/src/jspgou.tar.gz dest=/root
- name: unzip jspgou package
shell: tar -xvzf /root/jspgou.tar.gz
- name: delete ROOT
shell: rm -rf /usr/local/tomcat/webapps/*
- name: copy ROOT
shell: cp -r /root/ROOT/ /usr/local/tomcat/webapps/
- name: import data
shell: mysql jspgou < /root/DB/jspgou.sql
- name: start tomcat
shell: nohup /usr/local/tomcat/bin/startup.sh &
注意:剧本是用ymal语言写的,文件的命名需要一.yml或.yaml结尾
剧本中模块的使用见下面链接的内容
https://blog.csdn.net/Charon9688/article/details/105723197