How to update the GeoIP Databases for Elastic Ingest Pipelines

Thanks for the quick response @stephenb .

I spun up a test instance like yours and, like you, it worked.
Working my way back to my production cluster to see what went wrong, I realized something.

When I perform a pipeline/_simulate in the Kibana Dev console, it performs that simulation on the elasticsearch node it is currently connected to, in my case that was a dedicated master node, which I had not updated the GeoIP DB for, because it doesn't ingest anything.

As soon as I realized that, I started using curl commands directed at a specific node, to test whether the node itself is updated and very easily showed that the data nodes were successfully updated and the master node was not.
curl -XPOST "https://data001.domain.com:9200/_ingest/pipeline/geoip-test-pipeline/_simulate" -H 'Content-Type: application/json' -d'{"docs":[{"_index":"test","_source":{"source":{"ip":"79.116.78.121"}}}]}'

Hmmm, just realizing that I also had trouble putting a geoIP pipeline into Kibana console, when specifying a custom database file. It would give an error about not finding the custom database file. Since the pipeline is PUT for the whole cluster, I'd have to guess that ALL nodes must have the custom database file, including master-only nodes in order for the pipeline to successfully PUT. Everything is making so much sense now...