Learn about clustering and differences with high availability.
GitHub Enterprise Server clustering allows services that make up GitHub Enterprise Server to be scaled out across multiple nodes.
Differences between clustering and high availability (HA)
GitHub Enterprise Server High Availability Configuration (HA) is a primary/secondary failover configuration that provides redundancy while Clustering provides redundancy and scalability by distributing read and write load across multiple nodes.
About cluster nodes
Nodes are GitHub Enterprise Server instances that operate in a cluster. Each node runs a set of services that are provided to the cluster, and ultimately to the users.
Cluster network configuration
GitHub Enterprise Server clustering relies on proper DNS name resolution, load balancing, and communication between nodes to operate properly.
Initializing the cluster
A GitHub Enterprise Server cluster must be set up with a license and initialized using the administrative shell (SSH).
Upgrading a cluster
Use the administrative shell (SSH) to upgrade a GitHub Enterprise Server cluster to the latest release.
Monitoring cluster nodes
A GitHub Enterprise Server cluster is comprised of redundant services that are distributed across two or more nodes. If an individual service or an entire node were to fail, it should not be immediately apparent to users of the cluster. However since performance and redundancy are affected, it is important to monitor the health of a GitHub Enterprise Server cluster.
Replacing a cluster node
To replace a GitHub Enterprise Server node, you must mark the affected nodes offline in the cluster configuration file (
cluster.conf) and add the replacement nodes. This might be necessary if a node were to fail, or to add a node with more resources to increase performance.
Evacuating a cluster node running data services
If a node in your cluster runs services that store distributed data, you can ensure redundancy as you prepare to replace the node by evacuating the node's data.