first commit
						commit
						7f4b2b37a0
					
				|  | @ -0,0 +1,64 @@ | ||||||
|  | # ZOREIDE | ||||||
|  | 
 | ||||||
|  | High Availability daemon to share an IP around N servers. | ||||||
|  | 
 | ||||||
|  | Zoreide is a daemon service you can use to share an IP among N servers. If the server owning the IP is down, | ||||||
|  | another one will replace it. Differently than Keepalived, it allows N servers instead of just 2. Perfect for docker-swarm | ||||||
|  | arrays. | ||||||
|  | 
 | ||||||
|  | The daemon uses Multicast in order to elect the node which will have the IP configured. | ||||||
|  | 
 | ||||||
|  | To use it, you need: | ||||||
|  | 
 | ||||||
|  | - root access to the servers | ||||||
|  | - a valid multicast IP address in your network. (otherwise you can use the ones in zoreide.json) | ||||||
|  | - linux servers under the same router. | ||||||
|  | 
 | ||||||
|  | To compile it , you need: | ||||||
|  | 
 | ||||||
|  | - golang compiler 1.4 or superior. | ||||||
|  | - git , to download this repo. | ||||||
|  | - write "go build"  | ||||||
|  | - ./zoreide & | ||||||
|  | 
 | ||||||
|  | Configuration contains: | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | { | ||||||
|  |   "MulticastConfig": { | ||||||
|  |     "MIpAddr": "239.0.0.19", | ||||||
|  |     "MPort": "9898", | ||||||
|  |     "MaxDatagramSize": 18 | ||||||
|  |   }, | ||||||
|  |   "InterfaceConfig": { | ||||||
|  |     "ExistingInterface": "eth0", | ||||||
|  |     "BridgeIpCIDR": "10.0.1.1/24" | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Where: | ||||||
|  | 
 | ||||||
|  | - MIpAddr is the multicast address all the nodes will use to align.Must be the same on all nodes. | ||||||
|  | - Mport: Multicast port to subscribe. Must be the same on all nodes. | ||||||
|  | - MaxDataGramSize : obsolete, will be removed soon. | ||||||
|  | 
 | ||||||
|  | - ExistingInterface: the name of your ingress interface (eth0, eno0 , enps18, whatever your system is using. This may be different node by node) | ||||||
|  | - BridgeIpCidr: the IP address and mask you want to share among servers.  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # FAQ | ||||||
|  | 
 | ||||||
|  | - why? Keepalived wasn't enough?  | ||||||
|  | - VRRP is ok, but it has just two states, active and passive. I want to have as much as nodes as I want. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | - why you need more than one server to share the IP? | ||||||
|  | - because 6 is better than 2 for HA. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | - MetalLb under Kubernetes can achieve the same. | ||||||
|  | - Nobody really needs kubernetes. I want a floating , HA IP without this. | ||||||
|  | 
 | ||||||
		Loading…
	
		Reference in New Issue