Closed hach-que closed 7 years ago
Could u provider any 'README' help me configure a cluster environment with latest docker version? I have try step by step with the introduction of the URL, but it does not work. I am so tired... https://secure.phabricator.com/book/phabricator/article/cluster/
This container doesn't support cluster / high availability configurations.
If you require a HA setup, I recommend just using Phacility. Single node Phabricator is hard enough to get running, cluster mode is a nightmare (as someone who has actually done it before).
On Tue, May 14, 2019, 8:14 AM ruiyunli notifications@github.com wrote:
Could u provider any 'README' help me configure a cluster environment with latest docker version? I have try step by step with the introduction of the URL, but it does not work. I am so tired... https://secure.phabricator.com/book/phabricator/article/cluster/
— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/RedpointGames/phabricator/issues/45?email_source=notifications&email_token=AAD3H6TIUUQJIRYTU6UYQITPVLJNFA5CNFSM4CO6DWP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVLZ5PQ#issuecomment-492281534, or mute the thread https://github.com/notifications/unsubscribe-auth/AAD3H6QNIBLVRAO7R6YYVVTPVLJNFANCNFSM4CO6DWPQ .
@hach-que thank you so much! It is so kind of you.
After a week of work, I finally build a docker image, and I treat it as cluster environment. Actually, I am not sure. The main reason is that two phabricator container are linked to the same mysql container. I think it needs more time to test and verify the details.
I intend to add support for High Availability clustering of Phabricator Docker containers.
This will roughly require adding a:
CLUSTER_NODE_TYPE
environment variable with optionsnone
,web
,ssh
,aphlict
,storage
anddbupgrade
.CLUSTER_NODE_STORAGE_ID
environment variable forstorage
nodes. This is a unique identifier that identifies this particular storage node in the cluster. The storage identifier should be associated with the repository storage volume attached to the Docker container (i.e. even if you delete the container, if you re-create a newstorage
node with the repository storage volume attached, you should give it the same storage ID).Users of the high availability configuration will need to build out the cluster like so:
dbupgrade
first, which connects to the database and applies the initial migration script. These nodes will automatically shutdown after they finish performing the database migration.web
, which offer a web interface.At this point, users should have a basically functioning Phabricator system, without any repository storage, SSH access or real-time notifications.
Users can then:
storage
to start adding repository storage to the cluster.ssh
to add external SSH repository access to the cluster.aphlict
to gain real-time notifications in the cluster.Each of these types of nodes should signal in the cluster that they're offering these particular functionalities, so we can tailor information in the cluster (such as the SSH URLs displayed in Diffusion) with the relevant access information.