Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable configuring of services created, or creation of new services, from eck-elasticsearch helm chart #7816

Open
oododa opened this issue May 16, 2024 · 0 comments
Labels
>feature Adds or discusses adding a feature to the product

Comments

@oododa
Copy link

oododa commented May 16, 2024

Proposal

Challenge: eck-elasticsearch Helm chart does not appear to allow configuring of services created (aside from *-es-http), or creation of new services.

Request: enable configuring of services created, or creation of new services, from eck-elasticsearch

eck-elasticsearch [1] creates these services (assume working IPs):

# output of kubectl get services -A
NAME                              TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE
elasticsearch-es-client           ClusterIP   None           <none>        9200/TCP   42h
elasticsearch-es-data             ClusterIP   None           <none>        9200/TCP   42h
elasticsearch-es-http             ClusterIP   10.73.10.186   <none>        9200/TCP   42h
elasticsearch-es-internal-http    ClusterIP   10.73.8.50     <none>        9200/TCP   42h
elasticsearch-es-master           ClusterIP   None           <none>        9200/TCP   42h
elasticsearch-es-transport        ClusterIP   None           <none>        9300/TCP   42h

elasticsearch-es-client is not available outside the namespace. It would be useful to have a service that consists of only coordinating nodes that is available outside the namespace so that other applications can send queries to Elasticsearch.

elasticsearch-es-data is not available outside the namespace. Writers like fluentd would use this service for output targets.

elasticsearch-es-http is available outside the namespace, and can be configured for use for queries or writes, but not both if coordinating nodes are being used.

elasticsearch-es-internal-http is available outside the namespace, despite being named internal, and does not appear to be configurable via helm chart.

The current workaround appears to be to configure these services separately via k8s manifest.

[1] config to create this setup

eck-elasticsearch:
  version: 8.13.1
  http:
    service:
      spec:
        selector:
          elasticsearch.k8s.elastic.co/node-data: "true"
  nodeSets:
  - name: master
    count: 3
    config:
      node.roles: ["master"]
      node.store.allow_mmap: false
    podTemplate:
      spec:
        containers:
        - name: elasticsearch
          resources:
            limits:
              memory: 2Gi
              cpu: 250m
    volumeClaimTemplates:
    - metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        storageClassName: "standard"
        resources:
          requests:
            storage: 20Gi
  - name: data
    count: 2
    config:
      node.roles: ["data", "data_hot", "data_warm", "data_cold", "data_content", "ingest"]
      node.store.allow_mmap: false
    podTemplate:
      spec:
        containers:
        - name: elasticsearch
          resources:
            limits:
              memory: 4Gi
              cpu: 500m
    volumeClaimTemplates:
    - metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        storageClassName: "standard"
        resources:
          requests:
            storage: 100Gi
@botelastic botelastic bot added the triage label May 16, 2024
@kvalliyurnatt kvalliyurnatt added the >feature Adds or discusses adding a feature to the product label May 23, 2024
@botelastic botelastic bot removed the triage label May 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>feature Adds or discusses adding a feature to the product
Projects
None yet
Development

No branches or pull requests

2 participants