I can't find anywhere in documentation, but we have 2 instances/servers running magento2 behind a load balancer. Database server is separated. media folder is on a NFS share.
Should the cron jobs run on only one of the servers or both?
I can see issues arrising if the cron job runs on both. But if cron job do something with the filesystem - it should run on both i guess.. Since the codebases are on separate servers. This is the question. Do the cron jobs only interfere with shared caches and database or core file system files?
Sessions are in db, cache in elasticache etc. So the cronjobs should - in my opinion only run on ONE instance. I can see locking db table conflicts etc if e.g. you have 100 instances serving a magento 2 site and all of them runs cron every minute.
What do Magento recommend, and this might be useful to add also in the magento 2 docs for cron jobs if multinode.
run your cronjobs from one server, for example you have database server.
or create another node as admin only.