Filtering by tags
editFiltering by tags
editThe GCE discovery can also filter machines to include in the cluster based on tags using discovery.gce.tags
settings.
For example, setting discovery.gce.tags
to dev
will only filter instances having a tag set to dev
. Several tags
set will require all of those tags to be set for the instance to be included.
One practical use for tag filtering is when an GCE cluster contains many nodes that are not running elasticsearch. In this case (particularly with high ping_timeout values) there is a risk that a new node’s discovery phase will end before it has found the cluster (which will result in it declaring itself master of a new cluster with the same name - highly undesirable). Adding tag on elasticsearch GCE nodes and then filtering by that tag will resolve this issue.
Add your tag when building the new instance:
gcloud compute instances create myesnode1 --project=es-cloud \ --scopes=compute-rw \ --tags=elasticsearch,dev
Then, define it in elasticsearch.yml
:
cloud: gce: project_id: es-cloud zone: europe-west1-a discovery: type: gce gce: tags: elasticsearch, dev