mirror of
https://github.com/Dannecron/netology-devops.git
synced 2025-12-25 15:22:37 +03:00
add homework 6.5: task 1
This commit is contained in:
@@ -28,3 +28,4 @@
|
||||
* [6.2. SQL](/src/homework/06-database/6.2)
|
||||
* [6.3. MySQL](/src/homework/06-database/6.3)
|
||||
* [6.4. PostgreSQL](/src/homework/06-database/6.4)
|
||||
* [6.5. Elasticsearch](/src/homework/06-database/6.5)
|
||||
|
||||
11
src/homework/06-database/6.5/docker-compose.yml
Normal file
11
src/homework/06-database/6.5/docker-compose.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
elasticsearch:
|
||||
image: dannecron/netology-devops-elasticsearch:latest
|
||||
expose:
|
||||
- 9200
|
||||
- 9300
|
||||
ports:
|
||||
- "9200:9200"
|
||||
12
src/homework/06-database/6.5/elasticsearch/Dockerfile
Normal file
12
src/homework/06-database/6.5/elasticsearch/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
||||
FROM elasticsearch:7.16.3
|
||||
|
||||
ENV NODE_NAME=netology_test
|
||||
ENV DISCOVERY_TYPE=single-node
|
||||
ENV ES_HEAP_SIZE=262144
|
||||
|
||||
RUN mkdir -m 774 -p /var/lib/elasticsearch-data \
|
||||
&& chown elasticsearch -R /var/lib/elasticsearch-data \
|
||||
&& mkdir -m 774 -p /var/log/elasticsearch \
|
||||
&& chown elasticsearch -R /var/log/elasticsearch
|
||||
|
||||
COPY ./elasticsearch.yml /usr/share/elasticsearch/config/elasticsearch.yml
|
||||
15
src/homework/06-database/6.5/elasticsearch/elasticsearch.yml
Normal file
15
src/homework/06-database/6.5/elasticsearch/elasticsearch.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
cluster:
|
||||
name: "docker-cluster"
|
||||
network:
|
||||
host: 0.0.0.0
|
||||
node:
|
||||
name: ${NODE_NAME}
|
||||
discovery:
|
||||
type: ${DISCOVERY_TYPE}
|
||||
path:
|
||||
data: /var/lib/elasticsearch-data
|
||||
logs: /var/log/elasticsearch
|
||||
xpack:
|
||||
security:
|
||||
enabled: false
|
||||
75
src/homework/06-database/6.5/readme.md
Normal file
75
src/homework/06-database/6.5/readme.md
Normal file
@@ -0,0 +1,75 @@
|
||||
Выполнение [домашнего задания](https://github.com/netology-code/virt-homeworks/blob/master/06-db-05-elasticsearch/README.md)
|
||||
по теме "6.5. Elasticsearch".
|
||||
|
||||
## Q/A
|
||||
|
||||
### Задача 1
|
||||
|
||||
> В этом задании вы потренируетесь в:
|
||||
> - установке elasticsearch
|
||||
> - первоначальном конфигурировании elastcisearch
|
||||
> - запуске elasticsearch в docker
|
||||
>
|
||||
> Используя докер образ [elasticsearch:7](https://hub.docker.com/_/elasticsearch) как базовый:
|
||||
>
|
||||
> - составьте Dockerfile-манифест для elasticsearch
|
||||
> - соберите docker-образ и сделайте `push` в ваш docker.io репозиторий
|
||||
> - запустите контейнер из получившегося образа и выполните запрос пути `/` c хост-машины
|
||||
>
|
||||
> Требования к `elasticsearch.yml`:
|
||||
> - данные `path` должны сохраняться в `/var/lib`
|
||||
> - имя ноды должно быть `netology_test`
|
||||
>
|
||||
> В ответе приведите:
|
||||
> - текст Dockerfile манифеста
|
||||
> - ссылку на образ в репозитории dockerhub
|
||||
> - ответ `elasticsearch` на запрос пути `/` в json виде
|
||||
>
|
||||
> Подсказки:
|
||||
> - при сетевых проблемах внимательно изучите кластерные и сетевые настройки в elasticsearch.yml
|
||||
> - при некоторых проблемах вам поможет docker директива ulimit
|
||||
> - elasticsearch в логах обычно описывает проблему и пути ее решения
|
||||
> - обратите внимание на настройки безопасности такие как `xpack.security.enabled`
|
||||
> - если докер образ не запускается и падает с ошибкой 137 в этом случае может помочь настройка `-e ES_HEAP_SIZE`
|
||||
> - при настройке `path` возможно потребуется настройка прав доступа на директорию
|
||||
|
||||
Сборка происходит по описанию из [elasticsearch/Dockerfile](./elasticsearch/Dockerfile).
|
||||
Основная конфигурация `elasticsearch` представлена в [elasticsearch/elasticsearch.yml(./elasticsearch/elasticsearch.yml).
|
||||
|
||||
Образ собран и расположен [в репозитории на hub.docker.com](https://hub.docker.com/r/dannecron/netology-devops-elasticsearch).
|
||||
|
||||
Для запуска уже собранного образа используется конфигурация [docker-compose.yml](./docker-compose.yml).
|
||||
Здесь на хост "проброшен" порт `9200`, поэтому можно выполнить следующий запрос для получение информации от `elasticsearch`:
|
||||
|
||||
```shell
|
||||
curl --request GET -sL \
|
||||
--url 'http://localhost:9200/' \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "Accept: application/json"
|
||||
|
||||
{
|
||||
"name" : "netology_test",
|
||||
"cluster_name" : "docker-cluster",
|
||||
"cluster_uuid" : "RiOGXZdfR6-0v22HKRWRuA",
|
||||
"version" : {
|
||||
"number" : "7.16.3",
|
||||
"build_flavor" : "default",
|
||||
"build_type" : "docker",
|
||||
"build_hash" : "4e6e4eab2297e949ec994e688dad46290d018022",
|
||||
"build_date" : "2022-01-06T23:43:02.825887787Z",
|
||||
"build_snapshot" : false,
|
||||
"lucene_version" : "8.10.1",
|
||||
"minimum_wire_compatibility_version" : "6.8.0",
|
||||
"minimum_index_compatibility_version" : "6.0.0-beta1"
|
||||
},
|
||||
"tagline" : "You Know, for Search"
|
||||
}
|
||||
```
|
||||
|
||||
### Задача 2
|
||||
|
||||
// todo
|
||||
|
||||
### Задача 3
|
||||
|
||||
// todo
|
||||
Reference in New Issue
Block a user