On Docker website it is being written:
The
MANAGER STATUS
column shows node participation in the Raft consensus:
- No value indicates a worker node that does not participate in swarm management.
Leader
means the node is the primary manager node that makes all swarm management and orchestration decisions for the swarm.Reachable
means the node is a manager node participating in the Raft consensus quorum. If the leader node becomes unavailable, the node is eligible for election as the new leader.Unavailable
means the node is a manager that can’t communicate with other managers. If a manager node becomes unavailable, you should either join a new manager node to the swarm or promote a worker node to be a manager.
So the manager leader makes all swarm management and orchestration decisions.
But what are those decisions ?
I can create new service from any of the manager, I don't need to do it from the manager leader.
UPDATE:
It was mentioned in this article, like @Yunakun mentioned, that everything is going through:
Among the managers, the leader node is the one that logs all the actions that are done in the cluster (node added/removed, creation of a service, …). Swarm then ensures that the leader’s logs are replicated within each manager so one of them can take the leader role in case the current one becomes unavailable.
Swarm manager nodes use the Raft Consensus Algorithm to manage the swarm state.
Raft is leader-based, which means only the leader node has the ability to change the state of the swarm. If you send a request that requires a state change to a follower node, this request will be forwarded to the leader node.
Those decisions are decisions that can change the swarm state, such as, on which node to deploy a new service or should a running service be scaled.
And the decisions are handled internally by Raft. They should be transparent to users.