ElasticSearch
ElasticSearch is considered a Party Bus above baseline service. This means that very minimal support will be provided to customers and the majority of the ElasticSearch setup will be performed by the individual teams.
Steps to Take
Step | Action | Assigned |
---|---|---|
1 | Team submits an MR to add the below to their manifests for ElasticSearch. base/elasticsearch/statefulset.yaml | Team |
2 | Team adds to their statefulset.yaml to build an ElastiSearch instance. Updates for fields other than 'replicas', 'template', 'updateStrategy', 'persistentVolumeClaimRetentionPolicy' and 'minReadySeconds' are forbidden. | Team |
3 | Open a ticket when basic assistance is needed: Pipeline Issues Ticket. | Team |
4 | Team to add a service.yaml file to MR. | Team |
5 | Team to add a kustomization.yaml file to MR. | Team |
6 | Team merges in changes/MR with new elasticsearch deployment. | 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: 10Mi
Example ElasticSearch service.yaml file
yaml
apiVersion: v1
kind: Service
metadata:
name: elasticsearch
spec:
ports:
- protocol: TCP
port: 9200
targetPort: 9200
name: tcp
Example kustomization.yaml
yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
commonLabels:
app: elasticsearch
authentication: istio-auth
resources:
- statefulset.yaml
- service.yaml