# How to install Elasticsearch on Kubernetes using Helm (3 nodes) and production SSL certificates

**URL:** <https://discuss.elastic.co/t/how-to-install-elasticsearch-on-kubernetes-using-helm-3-nodes-and-production-ssl-certificates/291433>\
**Category:** Elasticsearch\
**Tags:** elastic-stack-security\
**Created:** [December 10, 2021, 1:58pm UTC](https://discuss.elastic.co/t/how-to-install-elasticsearch-on-kubernetes-using-helm-3-nodes-and-production-ssl-certificates/291433 "2021-12-10T13:58:33Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Peter\_Schwarz](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/peter_schwarz/32/98688_2.png) [@Peter\_Schwarz](https://discuss.elastic.co/u/Peter_Schwarz)\
**Post date:** [December 10, 2021, 1:58pm UTC](https://discuss.elastic.co/t/how-to-install-elasticsearch-on-kubernetes-using-helm-3-nodes-and-production-ssl-certificates/291433/1 "2021-12-10T13:58:33Z")

</div>

Hi I am having a bad time trying to install Elasticsearch (3 nodes) on Kubernetes using HELM + Production certificates.

I am using the following config:

```auto
clusterName: "my-cluster"
nodeGroup: "master"

roles:
  master: "true"
  ingest: "true"
  data: "true"
esJavaOpts: "-Xmx1024m -Xms1024m"
resources: 
  requests:
    cpu: "100m"
    memory: "1024M"
  limits:
    cpu: "1000m"
    memory: "1500M"
volumeClaimTemplate:
  accessModes: ["ReadWriteOnce"]
  resources:
    requests:
      storage: 10G

protocol: https

esConfig: 
  elasticsearch.yml: |
    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true
    xpack.security.transport.ssl.verification_mode: certificate
    xpack.security.transport.ssl.keystore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12
    xpack.security.transport.ssl.truststore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12
    xpack.security.http.ssl.enabled: true
    xpack.security.http.ssl.truststore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12
    xpack.security.http.ssl.keystore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12
    xpack.security.authc.anonymous.username: anonymous_user
    xpack.security.authc.anonymous.roles: my_anonymous_user
    xpack.security.authc.anonymous.authz_exception: true

  roles.yml: |
    my_anonymous_user:
      indices:
        - names: ['my_index']
        privileges: ['read']
        
  my_text_file.txt: |
  
extraEnvs:
  - name: ELASTIC_USERNAME
    valueFrom:
      secretKeyRef:
        name: elastic-credentials
        key: username
  - name: ELASTIC_PASSWORD
    valueFrom:
      secretKeyRef:
        name: elastic-credentials
        key: password

secretMounts:
  - name: elastic-certificates
    secretName: elastic-certificates
    path: /usr/share/elasticsearch/config/certs

```

How can I make it work with 3 nodes and how can I [create valid production certificates](https://www.elastic.co/guide/en/elasticsearch/reference/7.16/security-basic-setup.html#generate-certificates) for each of them?

---

<div class="post-metadata">

**Author:** ![Peter\_Schwarz](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/peter_schwarz/32/98688_2.png) [@Peter\_Schwarz](https://discuss.elastic.co/u/Peter_Schwarz)\
**Post date:** [December 17, 2021, 8:05am UTC](https://discuss.elastic.co/t/how-to-install-elasticsearch-on-kubernetes-using-helm-3-nodes-and-production-ssl-certificates/291433/2 "2021-12-17T08:05:17Z")

</div>

Nobody could?

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [January 14, 2022, 8:06am UTC](https://discuss.elastic.co/t/how-to-install-elasticsearch-on-kubernetes-using-helm-3-nodes-and-production-ssl-certificates/291433/3 "2022-01-14T08:06:11Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
