Installing Elasticsearch
Install the Elasticsearch offering of the Component Pack forHCL Connections™.
Before you begin
There are two options for deploying Elasticsearch:
- Deploy the open source stand-alone version of Elasticsearch as explained in Setting up stand-alone Elasticsearch
- Follow the steps in this topic to deploy the Kubernetes Elasticsearch solution that comes as part of the Component Pack.
About this task
Before attempting to install Elasticsearch verify that the following tasks were successfully completed:
Procedure
-
Install the Elasticsearch Helm chart by running the following command:
Note:
- The flag
nodeAffinityRequired=true
forces Elasticsearch pods to deploy to the labeled and tainted worker nodes for Elasticsearch (see Labeling and tainting worker nodes for Elasticsearch). If a worker node without the label and taint does not exist, the pods will not deploy at all. If you remove this flag from the helm installation, the deployment process will first try to deploy to the worker nodes with the label and taint, but if that is not possible (for example, because the node doesn't exist or has insufficient resources), the Elasticsearch pods will be deployed to another available worker. - By default, a privileged init container will run as part of the Elasticsearch install in order to set the vm.max_map_count to 262144 on all Elasicsearch worker nodes. You can use the helm value common.allowPrivilegedContainers=false if you do not want a privileged container to run, however you will have to manually make this change on all worker nodes that will host elasticsearch pods in order for elasticsearch to run. You can do this by updating the vm.max_map_count setting in /etc/sysctl.conf to be 262144.
- When deploying Elasticsearch in AWS, you will need to set the network ethernet interface in the
helm install command. For example, for eth0 set
common.networkHost="_eth0_"
. - By default, deployment is done to the connections namespace. If you created a namespace with a different name and would like to deploy there, the following extra value must be included in the helm install command: namespace=namespace.
In the command, replace extractedFolder with the location of the directory where you extracted the Component Pack installation package. Replace the value of
image.repository
with the name of your Docker registry.helm install \ --name=elasticsearch extractedFolder/microservices_connections/hybridcloud/helmbuilds/elasticsearch-0.1.0-20191121-222549.tgz \ --set \ image.repository=Docker_registry/connections,\ nodeAffinityRequired=true
- The flag
-
Verify that Elasticsearch was successfully deployed.