##// END OF EJS Templates
docs(upgrade): explain how to avoid scale 2x on upgrade
super-admin -
Show More
@@ -1,55 +1,84 b''
1 .. _upgrade:
1 .. _upgrade:
2
2
3 Upgrade rcstack
3 Upgrade rcstack
4 ===============
4 ===============
5
5
6
6
7 It's usually recommended to start with updating the installer itself by running:
7 It's usually recommended to start with updating the installer itself by running:
8
8
9 .. code-block:: bash
9 .. code-block:: bash
10
10
11 ./rcstack self-update
11 ./rcstack self-update
12
12
13
13
14 Then upgrade each stack based on instructions provided from the help output:
14 Then upgrade each stack based on instructions provided from the help output:
15
15
16 .. code-block:: bash
16 .. code-block:: bash
17
17
18 ./rcstack stack-upgrade <STACK_NAME>
18 ./rcstack stack-upgrade <STACK_NAME>
19
19
20
20
21 .. note::
21 .. note::
22
22
23 ./rcstack stack-upgrade rhodecode is a 0 downtime upgrade procedure.
23 ./rcstack stack-upgrade rhodecode is a 0 downtime upgrade procedure.
24 This will spawn 2x more nodes to perform the upgrade and then remove the old instances. This way all incoming traffic
24 This will spawn 2x more nodes to perform the upgrade and then remove the old instances.
25 will be handled continuously without any interruptions on upgrade
25 This way all incoming traffic will be handled continuously without any interruptions on upgrade
26
27
28 Example for full upgrade procedure:
29
30
31 .. code-block:: bash
32
33 ./rcstack self-update
34 ./rcstack stack-upgrade router
35 ./rcstack stack-upgrade services
36 ./rcstack stack-upgrade rhodecode
37 ./rcstack stack-upgrade metrics
38
39
40 .. note::
41
42 ./rcstack stack-upgrade does scaling of services which might use more RAM to handle the double instance amount.
43 To avoid that stop each stack before running stack upgrade. This way services get upgraded without 2x scaling.
44 This method however would cause a downtime.
45
46 .. code-block:: bash
47
48 ./rcstack self-update
49 ./rcstack stack router down && ./rcstack stack-upgrade router
50 ./rcstack stack services down && ./rcstack stack-upgrade services
51 ./rcstack stack rhodecode down && ./rcstack stack-upgrade rhodecode
52 ./rcstack stack metrics down && ./rcstack stack-upgrade metrics
53
26
54
27 The above upgrade uses default timeouts to wait for any currently ongoing traffic to stop to kill the workers.
55 The above upgrade uses default timeouts to wait for any currently ongoing traffic to stop to kill the workers.
28 There are two additional flags that can be used for a faster upgrade that could let to end users errors, or small downtime
56 There are two additional flags that can be used for a faster upgrade that could let to end users errors, or small downtime
29 but will enforce the upgrade to be performed as fast as possible.
57 but will enforce the upgrade to be performed as fast as possible.
30
58
31
59
32 Fast upgrade with max 30s wait time after new upgraded containers start, and wait 5s before force killing old
60 Fast upgrade with max 65s wait time after new upgraded containers start, and wait 5s before force killing old
33 containers
61 containers. This is still 0 downtime upgrade, but stoping existing containers is forced to 5s
62 which might result in killed ongoing connections
34
63
35
64
36 .. code-block:: bash
65 .. code-block:: bash
37
66
38 ./rcstack stack-upgrade rhodecode --stop-wait 30 --docker-stop-wait 5
67 ./rcstack stack-upgrade rhodecode --stop-wait 65 --docker-stop-wait 5
39
68
40
69
41
70
42 Install specific version
71 Install specific version
43 ++++++++++++++++++++++++
72 ++++++++++++++++++++++++
44
73
45
74
46 In order to run a specific version of RhodeCode stack simply follow this:
75 In order to run a specific version of RhodeCode stack simply follow this:
47
76
48
77
49 .. code-block:: bash
78 .. code-block:: bash
50
79
51
80
52 ./rcstack cli set-runtime-image 5.0.0
81 ./rcstack cli set-runtime-image 5.0.0
53 ./rcstack stack all down
82 ./rcstack stack all down
54 ./rcstack stack all up -d
83 ./rcstack stack all up -d
55
84
General Comments 0
You need to be logged in to leave comments. Login now