Search code examples
kuberneteskubernetes-helmelasticsearch-curator

elasticsearch-curator k8s Helm chart cannot connect to HTTPS


I am using the following Helm chart: https://github.com/kubernetes/charts/tree/master/incubator/elasticsearch-curator and passing the following in my values.yaml file:

config:
  elasticsearch:
    hosts:
      - my-es-aws-endpoint
    port: 443
    ssl: True

In the pods logs I see the following exception:

Preparing Action ID: 1, "delete_indices"
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 601, in urlopen
    chunked=chunked)
  File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 387, in _make_request
    six.raise_from(e, None)
  File "<string>", line 2, in raise_from
  File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 383, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/local/lib/python3.6/http/client.py", line 1331, in getresponse
    response.begin()
  File "/usr/local/lib/python3.6/http/client.py", line 297, in begin
    version, status, reason = self._read_status()
  File "/usr/local/lib/python3.6/http/client.py", line 266, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response

It seems like it is trying to connect to HTTP, not HTTPS. I have tested the connection from my k8s cluster to es:443 and it works.

Do you know if HTTPS is not supported or am I doing something wrong?

...


Solution

  • It looks like I was passing the config in the wrong section and it was not picking it up properly. I passed it here and it works:

      # Having config_yaml WILL override the other config
      config_yml: |-
        ---
        client:
          hosts:
            - my-es-aws-endpoint
          port: 443
          use_ssl: True