提交各组件部署Ansible剧本初版

This commit is contained in:
qidaijie
2024-01-18 15:35:33 +08:00
parent f0bd05d565
commit 0cc392df5c
262 changed files with 15927 additions and 0 deletions

2
Redis/6.2.5/redis/hosts Normal file
View File

@@ -0,0 +1,2 @@
[redis]
192.168.45.102

View File

@@ -0,0 +1,7 @@
- hosts: redis
remote_user: root
roles:
- role
vars_files:
- role/vars/main.yml

View File

@@ -0,0 +1,6 @@
#The default installation location
deploy_dir: /data/olap
#The default data storage location,use storing application data,logs and configuration files
data_dir: /data/olap

View File

@@ -0,0 +1,24 @@
- name: Loading Image
docker_image:
name: '{{ image_name }}'
tag: '{{ image_tag }}'
load_path: '{{ deploy_dir }}/{{ container_name }}/{{ image_name }}-{{ image_tag }}.tar'
source: load
force_tag: yes
force_source: yes
timeout: 300
- name: Stop Container
docker_container:
name: '{{ container_name }}'
state: absent
- name: Start Container
docker_compose:
project_src: '{{ deploy_dir }}/{{ container_name }}/'
- name: Removing Image
docker_image:
name: '{{ image_name }}'
tag: '{{ image_tag }}'
state: absent

View File

@@ -0,0 +1,48 @@
- name: Setting node_nums variable
set_fact: node_nums={{ groups.redis|length }}
- name: To terminate execution
fail:
msg: "Redis in master-slave mode. The value must have 2 nodes,please checking configurations/hosts -> redis"
when: node_nums != '2'
- name: Creating directory
file:
state: directory
path: '{{ deploy_dir }}/{{ container_name }}/conf'
- name: Copying image to {{ deploy_dir }}/{{ container_name }}/
copy:
src: 'files/{{ image_name }}-{{ image_tag }}.tar'
dest: '{{ deploy_dir }}/{{ container_name }}/'
force: true
notify:
- Loading Image
- name: Copying Redis config files
template:
src: 'redis-master.conf.j2'
dest: '{{ deploy_dir }}/{{ container_name }}/conf/redis.conf'
mode: 0644
run_once: true
delegate_to: "{{ groups.redis[0] }}"
- name: Copying Redis config files
template:
src: 'redis-slave.conf.j2'
dest: '{{ deploy_dir }}/{{ container_name }}/conf/redis.conf'
mode: 0644
run_once: true
delegate_to: "{{ groups.redis[1] }}"
- name: Copying Redis config files
template:
src: 'docker-compose.yml.j2'
dest: '{{ deploy_dir }}/{{ container_name }}/docker-compose.yml'
mode: 0644
notify:
- Loading Image
- Start Container
- meta: flush_handlers

View File

@@ -0,0 +1,30 @@
- name: Creating directory
file:
state: directory
path: '{{ deploy_dir }}/{{ container_name }}/conf'
- name: Copying image to {{ deploy_dir }}/{{ container_name }}/
copy:
src: 'files/{{ image_name }}-{{ image_tag }}.tar'
dest: '{{ deploy_dir }}/{{ container_name }}/'
force: true
notify:
- Loading Image
- name: Copying Redis config files
template:
src: 'redis-master.conf.j2'
dest: '{{ deploy_dir }}/{{ container_name }}/conf/redis.conf'
mode: 0644
- name: Copying Redis config files
template:
src: 'docker-compose.yml.j2'
dest: '{{ deploy_dir }}/{{ container_name }}/docker-compose.yml'
mode: 0644
notify:
- Loading Image
- Start Container
- meta: flush_handlers

View File

@@ -0,0 +1,11 @@
- block:
- include: uninstall.yml
- include: "{{ playbook_name }}"
vars:
playbook_name: "{{ 'deploy-cluster.yml' if groups.mairadb | length > 1 else 'deploy-standalone.yml' }}"
- include: status-check.yml
when: (operation) == "install"
- block:
- include: uninstall.yml
when: (operation) == "uninstall"

View File

@@ -0,0 +1,17 @@
- name: Waitting for Redis running,10s
shell: sleep 10
- name: Check if the Redis already exists
shell: ps -ef | grep -v grep | grep "redis-server" | wc -l
register: process_out
- name: Check if the Redis already exists
shell: netstat -anlp | egrep "6379" | grep LISTEN | wc -l
register: port_out
- name: To terminate execution
fail:
msg: "Kafka on node {{ inventory_hostname }} is not started. Please check"
run_once: true
delegate_to: 127.0.0.1
when: process_out.stdout != '1' or port_out.stdout != '2'

View File

@@ -0,0 +1,16 @@
- block:
- name: Stopping and removing {{ container_name }} container
docker_container:
name: '{{ container_name }}'
state: absent
- name: Removing old {{ image_name }} image
docker_image:
name: '{{ image_name }}'
tag: '{{ image_tag }}'
state: absent
- name: Ansible delete old {{ deploy_dir }}/{{ container_name }}
file:
path: '{{ deploy_dir }}/{{ container_name }}'
state: absent

View File

@@ -0,0 +1,12 @@
version: '3'
services:
redis:
image: {{ image_name }}:{{ image_tag }}
restart: always
container_name: {{ container_name }}
volumes:
- {{ deploy_dir }}/{{ container_name }}/conf/redis.conf:/redis.conf
- {{ deploy_dir }}/{{ container_name }}/data:/data
command: redis-server /redis.conf
network_mode: "host"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,19 @@
#镜像名称
image_name: redis
#镜像版本号
image_tag: 6.2.5
#容器名称
container_name: redis
#组件版本
component_version: redis-6.2.5
#备份目录
backup_path: "{{ deploy_dir }}/backup/platform/{{ old_version }}/{{ container_name }}"
#待备份的文件
backup_items:
- "{{ deploy_dir }}/{{ container_name }}/redis.conf"
- "{{ deploy_dir }}/{{ container_name }}/docker-compose.yml"