Now I am trying to deploy Enterprise Search with the following template:
apiVersion: enterprisesearch.k8s.elastic.co/v1
kind: EnterpriseSearch
metadata:
name: enterprise-search-example
spec:
version: 7.15.1
count: 1
elasticsearchRef:
# Name of Elastic Deployment
name: elastic
I see this message when I deploy & the pods fail to start due to it:
"timestamp": "2021-11-01T22:18:57+00:00", "message": "readiness probe failed", "curl_rc": "7"
To follow up,
The logs from the service are this:
Invalid config file (/usr/share/enterprise-search/config/enterprise-search.yml):
The setting '#/Elasticsearch/host' must use https if '#/Elasticsearch/ssl/enabled' is 'true', but the given value is 'http://elastic-es-http.elastic.svc:9200'
Either the host that serves Elasticsearch needs to do so over https, or your Enterprise Search enterprise-search.yml needs to specify elasticsearch.ssl.enabled: false. Using that configuration is not advised for security reasons, but I understand that may be acceptable in some closed environments.
Elasticsearch API key service must be enabled. It is enabled automatically when you configure Elasticsearch to use TLS on the HTTP interface.
Alternatively, you can explicitly enable the setting within Elasticsearch by opening config/elasticsearch.yml and adding:
xpack.security.authc.api_key.enabled: true
Do I need to add xpack.security.authc.api_key.enabled: true
to my Elasticsearch.yml ? Something like this?
Yes, you'll want to enable that setting. I'm not able to tell if the snippet you provided is the correct way to do so in your environment, but I don't see anything wrong with it. There are a number of ways to configure Elasticsearch when running in Docker: Install Elasticsearch with Docker | Elasticsearch Guide [7.15] | Elastic.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.