ノート: GitHub Enterprise Server クラスタリングは HTTPS で設定しなくてはなりません。
GitHub Enterprise Serverのインストール
- 各クラスタノードで GitHub Enterprise Server をプロビジョニングしてインストールします。 詳細は「GitHub Enterprise Serverインスタンスをセットアップする」を参照してく� さい。
- 管理シェルもしくは DHCP を使い、各ノードの IP アドレスのみを設定してく� さい。 その他の設定は行わないでく� さい。
最初のノードの設定
cluster.conf
で MySQL プライマリとして指定されるノードに接続します。 For more information, see "About the cluster configuration file."- Webブラウザで
https://<ip address>:8443/setup/
にアクセスしてく� さい。 - プロンプトでライセンスファイルをアップロードし、管理コンソールのパスワードを設定してく� さい。 For more information, see "Managing your license for GitHub Enterprise."
- Management Consoleで、希望する設定を行って保存してく� さい。
- インスタンスは自動的に再起動します。
クラスタの初期化
クラスタを初期化するためには、クラスタ設定ファイル(cluster.conf
)が必要です。 For more information, see "About the cluster configuration file".
- 設定された最初のノードで、
ghe-cluster-config-init
を実行します。 実行すると、クラスタ設定ファイルに設定されていないノードがある� �合にクラスタを初期化します。 ghe-cluster-config-apply
を実行します。 これにより、cluster.conf
ファイルを検証して各ノードファイルに設定を適用し、各ノードで設定されたサービスを起動します。
動作中のクラスタのステータスをチェックするにはghe-cluster-status
コマンドを使ってく� さい。
クラスタ設定ファイルについて
クラスタ設定ファイル(cluster.conf
)は、クラスタ中のノードと、その上で動作するサービスを定義します。 For more information, see "About cluster nodes."
この例のcluster.conf
では、5ノードを持つクラスタを定義しています。
- 2つのノード(
ghe-app-node-\*
と呼ばれます)では、クライアントからのリクエストに対するレスポンスを受け持つweb-server
とjob-server
サービスが動作します。 - 3 つのノード (
ghe-data-node-\*
と呼ばれる) は、GitHub Enterprise Server データの保存と取得のサービスを実行します。
ノードの名前には、ホスト名として有効な任意の名前を選択できます。 この名前は各ノードのホスト名として設定され、各ノードの/etc/hosts
に追� され、各ノードがローカルでお互いを解決できるようにします。
設定した最初のクラスタノードを、mysql-server
および mysql-master
で MySQL のプライマリとして指定してく� さい。
[cluster]
mysql-master = ghe-data-node-1
redis-master = ghe-data-node-1
primary-datacenter = default
[cluster "ghe-app-node-1"]
hostname = ghe-app-node-1
ipv4 = 192.168.0.2
# ipv6 = fd12:3456:789a:1::2
web-server = true
job-server = true
[cluster "ghe-app-node-2"]
hostname = ghe-app-node-2
ipv4 = 192.168.0.3
# ipv6 = fd12:3456:789a:1::3
web-server = true
job-server = true
[cluster "ghe-data-node-1"]
hostname = ghe-data-node-1
ipv4 = 192.168.0.4
# ipv6 = fd12:3456:789a:1::4
consul-server = true
consul-datacenter = default
git-server = true
pages-server = true
mysql-server = true
elasticsearch-server = true
redis-server = true
memcache-server = true
metrics-server = true
storage-server = true
[cluster "ghe-data-node-2"]
hostname = ghe-data-node-2
ipv4 = 192.168.0.5
# ipv6 = fd12:3456:789a:1::5
consul-server = true
consul-datacenter = default
git-server = true
pages-server = true
mysql-server = true
elasticsearch-server = true
redis-server = true
memcache-server = true
metrics-server = true
storage-server = true
[cluster "ghe-data-node-3"]
hostname = ghe-data-node-3
ipv4 = 192.168.0.6
# ipv6 = fd12:3456:789a:1::6
consul-server = true
consul-datacenter = default
git-server = true
pages-server = true
mysql-server = true
elasticsearch-server = true
redis-server = true
memcache-server = true
metrics-server = true
storage-server = true
設定された最初のノード上で、/data/user/common/cluster.conf
ファイルを作成します。 たとえば、次のように vim
を使用します。
ghe-data-node-1:~$ sudo vim /data/user/common/cluster.conf