ElasticSearch
Overview
ElasticSearch is considered an above baseline service by Party Bus. Very minimal support will be provided to customers, and the majority of the ElasticSearch setup will be performed by the individual teams.
Use this document to understand the steps needed to utilize ElasticSearch.
Steps to Take
| Step | Action | Assigned |
|---|---|---|
| 1 | Team submits an MR to add the below to their manifests for ElasticSearch. base/elasticsearch/statefulset.yaml | Product Team |
| 2 | Team adds to their statefulset.yaml to build an ElasticSearch instance. Updates for fields other than replicas, template, updateStrategy, persistentVolumeClaimRetentionPolicy, and minReadySeconds are forbidden. | Product Team |
| 3 | Open a Pipeline Issues Ticket when basic assistance is needed. | Product Team |
| 4 | Team adds a service.yaml file to MR. | Product Team |
| 5 | Team adds a kustomization.yaml file to MR. | Product Team |
| 6 | Team merges in changes/MR with new ElasticSearch deployment. | Product Team |
Example ElasticSearch statefulset.yaml File
yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: elasticsearch
spec:
serviceName: elasticsearch
template:
spec:
securityContext:
fsGroup: 1337
containers:
- name: elasticsearch
image: registry1.dso.mil/ironbank/elastic/elasticsearch/elasticsearch:7.17.6
env:
- name: node.name
value: "elasticsearch"
- name: cluster.initial_master_nodes
value: "elasticsearch"
volumeMounts:
- name: sts-pvc
mountPath: /usr/share/elasticsearch/data
resources:
limits:
memory: 512Mi
volumeClaimTemplates:
- metadata:
name: sts-pvc
spec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: 10MiExample ElasticSearch service.yaml file
yaml
apiVersion: v1
kind: Service
metadata:
name: elasticsearch
spec:
ports:
- protocol: TCP
port: 9200
targetPort: 9200
name: tcpExample kustomization.yaml
yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
commonLabels:
app: elasticsearch
authentication: istio-auth
resources:
- statefulset.yaml
- service.yaml