代码改变世界

ansible on aws linux 2

2019-06-21 16:00  divl  阅读(335)  评论(0编辑  收藏  举报

  

1. 安装epel
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

2. 安装ansible
yum install ansible

3. 建立role
mkdir -p /opt/ansible-playbook/roles
mkdir -p {elasticsearch,redis}/{default,files,handlers,meta,tasks,templates,vars}

4. 添加被管理主机登录key
vi config

Host 192.168.*.*
  User ec2-user
  IdentityFile ~/.ssh/testing_server.pem

5. 添加hosts
[redis_testing]
192.168.1.190
[canal_testing]
192.168.1.191
[es_testing]
192.168.1.192
[coes_testing]
192.168.1.194
[kafka_testing]
192.168.1.195
[all_testing:children]
redis_testing
canal_testing
es_testing
coes_testing
kafka_testing
[all_testing:vars]
ansible_ssh_port = 22

6. 测试
ansible all_testing -m shell -a 'pwd'

7. 建立tasks
cd /opt/ansible-playbook/roles/redis/tasks

- name: Create dir to keep install file
  file: path=/opt/pacheage state=directory follow=yes force=yes
- name: Copy install file
  copy: src=redis-{{ redis_version }}.tar.gz dest=/opt/pacheage/
- name: Delete last time unarchive
  file: path=/opt/pacheage/redis-{{ redis_version }} state=absent
- name: Unarchive install file
  unarchive: src=/opt/pacheage/redis-{{ redis_version }}.tar.gz dest=/opt/pacheage copy=no
- name: Install dependent package
  yum:
    name:
      - gcc
      - tcl
    state: present
- name: Delete last time install dir
  file: path=/opt/redis-{{ redis_version }} state=absent
- name: Install redis
  shell: cd /opt/pacheage/redis-{{ redis_version }} && make PREFIX=/opt/redis-{{ redis_version }}/ install
- name: Mkdir /opt/redis-{{ redis_version }}/data,conf,log
  file: path=/opt/redis-{{ redis_version }}/{{ item }} state=directory follow=yes force=yes
  with_items:
  - data
  - conf
  - log
- name: Copy redis.conf file
  template: src=redis.conf.j2 dest=/opt/redis-{{ redis_version }}/conf/
- name: Start redis
  shell: /opt/redis-{{ redis_version }}/bin/redis-server /opt/redis-{{ redis_version }}/conf/redis.conf &