|
1 | 1 | = Pod disruptions
|
2 | 2 |
|
3 |
| -Downtime of our products are generally considered bad. |
4 |
| -Although downtime can't be prevent 100% of the time - especially if the product does not support High Availability - we can try to do our best to reduce them to an absolute minimum. |
| 3 | +Any downtime of our products is generally considered to be bad. |
| 4 | +Although downtime can't be prevented 100% of the time - especially if the product does not support High Availability - we can try to do our best to reduce it to an absolute minimum. |
5 | 5 |
|
6 | 6 | Kubernetes has mechanisms to ensure minimal *planned* downtime.
|
7 | 7 | Please keep in mind, that this only affects planned (voluntary) downtime of Pods - multiple simulations Kubernetes node crashes can always occur!
|
8 | 8 |
|
9 |
| -Our product operator will always deploy so-called https://kubernetes.io/docs/tasks/run-application/configure-pdb/[PodDisruptionBudget (PDB)] alongside the products. |
10 |
| -For every role that you specify (e.g. HDFS namenodes or Trino workers) a PDB get's created. |
| 9 | +Our product operator will always deploy so-called https://kubernetes.io/docs/tasks/run-application/configure-pdb/[PodDisruptionBudget (PDB)] resources alongside the products. |
| 10 | +For every role that you specify (e.g. HDFS namenodes or Trino workers) a PDB is created. |
11 | 11 |
|
12 | 12 | == Default values
|
13 |
| -The defaults depend on the individual product and can be find below the "Operations" usage guide. |
| 13 | +The defaults depend on the individual product and can be found below the "Operations" usage guide. |
14 | 14 |
|
15 |
| -They are based upon our knowledge about the products fault tolerance. |
16 |
| -In some case they can be a bit pessimistic, thus they can be adjusted as documented in the following sections. |
| 15 | +They are based on our knowledge of each product's fault tolerance. |
| 16 | +In some cases they may be a little pessimistic, but they can be adjusted as documented in the following sections. |
17 | 17 |
|
18 | 18 | == Influencing and disabling PDBs
|
19 | 19 |
|
20 | 20 | You can configure
|
21 | 21 |
|
22 |
| -1. Wether PDBs are written at all |
| 22 | +1. Whether PDBs are written at all |
23 | 23 | 2. The `maxUnavailable` replicas for this role PDB
|
24 | 24 |
|
25 | 25 | The following example
|
|
60 | 60 | ----
|
61 | 61 |
|
62 | 62 | == Using you own custom PDBs
|
63 |
| -In case you are not satisfied with the PDBs that are written by the operators, you can deploy you own ones. |
| 63 | +In case you are not satisfied with the PDBs that are written by the operators, you can deploy your own. |
64 | 64 |
|
65 | 65 | WARNING: In case you write custom PDBs, it is your responsibility to take care of the availability of the products
|
66 | 66 |
|
|
88 | 88 | - namenode
|
89 | 89 | ----
|
90 | 90 |
|
91 |
| -This PDB allows only on Pod out of all the Namenodes and Journalnodes to be down at a time. |
| 91 | +This PDB allows only one Pod out of all the Namenodes and Journalnodes to be down at one time. |
92 | 92 |
|
93 | 93 | == Details
|
94 | 94 | Have a look at <<< TODO: link ADR on Pod Disruptions once merged >>> for the implementation details.
|
0 commit comments