mirror of
https://github.com/Dannecron/netology-devops.git
synced 2025-12-26 07:42:36 +03:00
add homework 8.2
This commit is contained in:
2
src/homework/08-ansible/8.2/playbook/.gitignore
vendored
Normal file
2
src/homework/08-ansible/8.2/playbook/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
inventory/prod.yml
|
||||
files/*
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
clickhouse_version: "22.3.3.44"
|
||||
clickhouse_packages:
|
||||
- clickhouse-client
|
||||
- clickhouse-server
|
||||
- clickhouse-common-sta
|
||||
@@ -0,0 +1,2 @@
|
||||
---
|
||||
vector_version: 0.23.0
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
clickhouse:
|
||||
hosts:
|
||||
clickhouse-01:
|
||||
ansible_host: <IP_here>
|
||||
vector:
|
||||
hosts:
|
||||
vector-01:
|
||||
ansible_host: <IP_here>
|
||||
26
src/homework/08-ansible/8.2/playbook/readme.md
Normal file
26
src/homework/08-ansible/8.2/playbook/readme.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Clickhouse and vector playbook
|
||||
|
||||
Данный playbook устанавливает `clickhouse` и `vector` на хосты, перечисленные в inventory.
|
||||
Для каждой утилиты может быть указан свой хост для установки.
|
||||
|
||||
## Parameters
|
||||
|
||||
### Clickhouse
|
||||
|
||||
- `clickhouse_version` - версия `clickhouse`, которая будет установлена
|
||||
- `clickhouse_packages` - конкретные приложения из стека `clickhouse`, которые будут установлены
|
||||
|
||||
### Vector
|
||||
|
||||
- `vector_version` - версия `vector`, которая будет установлена
|
||||
|
||||
## Tags
|
||||
|
||||
### Clickhouse
|
||||
|
||||
- `clickhouse` - установка и запуск только `clickhouse`
|
||||
|
||||
### Vector
|
||||
|
||||
- `vector` - установка только `vector`
|
||||
- `vector_check_version` - запуск только `task` для проверки текущей установленной версии `vector`
|
||||
69
src/homework/08-ansible/8.2/playbook/site.yml
Normal file
69
src/homework/08-ansible/8.2/playbook/site.yml
Normal file
@@ -0,0 +1,69 @@
|
||||
---
|
||||
- name: Install Clickhouse
|
||||
hosts: clickhouse
|
||||
tasks:
|
||||
- block:
|
||||
- name: Get clickhouse distrib
|
||||
ansible.builtin.get_url:
|
||||
url: "https://packages.clickhouse.com/rpm/stable/{{ item }}-{{ clickhouse_version }}.noarch.rpm"
|
||||
dest: "./{{ item }}-{{ clickhouse_version }}.rpm"
|
||||
with_items: "{{ clickhouse_packages }}"
|
||||
rescue:
|
||||
- name: Get clickhouse distrib
|
||||
ansible.builtin.get_url:
|
||||
url: "https://packages.clickhouse.com/rpm/stable/clickhouse-common-static-{{ clickhouse_version }}.x86_64.rpm"
|
||||
dest: "./clickhouse-common-static-{{ clickhouse_version }}.rpm"
|
||||
- name: Install clickhouse packages
|
||||
become: true
|
||||
ansible.builtin.yum:
|
||||
name:
|
||||
- clickhouse-common-static-{{ clickhouse_version }}.rpm
|
||||
- clickhouse-client-{{ clickhouse_version }}.rpm
|
||||
- clickhouse-server-{{ clickhouse_version }}.rpm
|
||||
- name: Start clickhouse service
|
||||
become: true
|
||||
ansible.builtin.service:
|
||||
name: clickhouse-server
|
||||
state: restarted
|
||||
- name: Create database
|
||||
ansible.builtin.command: "clickhouse-client -q 'create database logs;'"
|
||||
register: create_db
|
||||
failed_when: create_db.rc != 0 and create_db.rc !=82
|
||||
changed_when: create_db.rc == 0
|
||||
tags:
|
||||
- clickhouse
|
||||
|
||||
- name: Install vector
|
||||
hosts: vector
|
||||
tasks:
|
||||
- name: Install archive manager
|
||||
become: true
|
||||
ansible.builtin.yum:
|
||||
name:
|
||||
- tar
|
||||
- name: Get vector distrib
|
||||
ansible.builtin.get_url:
|
||||
url: "https://packages.timber.io/vector/{{ vector_version }}/vector-{{ vector_version }}-x86_64-unknown-linux-musl.tar.gz"
|
||||
dest: "./vector-{{ vector_version }}-x86_64-unknown-linux-musl.tar.gz"
|
||||
- name: Unpack vector distrib
|
||||
ansible.builtin.unarchive:
|
||||
src: "./vector-{{ vector_version }}-x86_64-unknown-linux-musl.tar.gz"
|
||||
dest: "./"
|
||||
remote_src: true
|
||||
- name: Install vector
|
||||
become: true
|
||||
ansible.builtin.copy:
|
||||
src: "vector-x86_64-unknown-linux-musl/bin/vector"
|
||||
dest: "/usr/local/bin/"
|
||||
remote_src: true
|
||||
mode: 755
|
||||
- name: Check vector version
|
||||
ansible.builtin.shell:
|
||||
cmd: vector --version
|
||||
register: result
|
||||
changed_when:
|
||||
- 'vector_version not in result.stdout'
|
||||
tags:
|
||||
- vector_check_version
|
||||
tags:
|
||||
- vector
|
||||
Reference in New Issue
Block a user