Características de Elasticsearch
- Escalabilidad y resiliencia. Clustering y alta disponibilidad. Recuperación automática de nodos …
- Administración. Gestión del ciclo de vida del indice. …
- Seguridad. Gestión de la seguridad de elasticsearch. …
- Alertas. Alta disponibilidad y facilmente escalable …
- REST APIs. Documentación de las APIs. …
- Integración. Elasticsearch-Hadoop. …
- Despliegue. Sencillo, descarga e instalación.
Ahora se va a explicar como se debería de realizar la instalación de Elasticsearch en Kubernetes
Desplegar Elasticsearch con helm-charts
El primer paso es tener acceso al proyecto de Elasticsearch en Github.
https://github.com/elastic/helm-charts/tree/master/elasticsearch
- Crear un nameserver para elasticsearch
$ kubectl create ns elasticsearch
- Añadir el Elastic Helm charts repo:
helm repo add elastic https://helm.elastic.co
Ahora es el paso de realizar la instalación:
- with Helm 2:
helm install --name elasticsearch elastic/elasticsearch
-n elastiscsearch - with Helm3
helm install elasticsearch elastic/elasticsearch
-n elasticsearch
Ver el estatus del deployment: kubectl get all -n elasticsearch
NAME READY STATUS RESTARTS AGE
pod/elasticsearch-master-0 1/1 Running 0 3m28s
pod/elasticsearch-master-1 1/1 Running 0 3m28s
pod/elasticsearch-master-2 1/1 Running 0 3m28s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/elasticsearch-master ClusterIP 172.20.34.223 <none> 9200/TCP,9300/TCP 3m28s
service/elasticsearch-master-headless ClusterIP None <none> 9200/TCP,9300/TCP 3m28s
NAME READY AGE
statefulset.apps/elasticsearch-master 3/3 3m28s
Ahora exponemos el servicio y creamos un LoadBalancer para tener acceso a Elasticsearch (acceso a Internet).
kubectl expose service/elasticsearch-master --name=expose-elastic --type=LoadBalancer -n elasticsearch
service/expose-elastic exposed
Ahora si accedemos al recurso somos capaz de conseguir una respuesta 200
curl -i a77e9607d1db545339048ecb8599762f-1719033866.eu-central-1.elb.amazonaws.com:9200
HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8
content-length: 550
{
"name" : "elasticsearch-master-2",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "nN_1IzXFQcKwtsPZhsHJaQ",
"version" : {
"number" : "7.9.1",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "083627f112ba94dffc1232e8b42b73492789ef91",
"build_date" : "2020-09-01T21:22:21.964974Z",
"build_snapshot" : false,
"lucene_version" : "8.6.2",
Si todavía no sabes como crear un cluster de kubernetes, sigue el link
Accede a nuestros CURSOS ONLINE! ⬇️ ⬇️ ⬇️ ⬇️ ⬇️
Docker & Networking
Master en crear tus propias aplicaciones desde cero y entender el funcionamiento de docker
Kubernetes in AWS
Aprende todo lo necesario para enterder el funcionamiento y saber como desplegar aplicaciones