Skip to content

Commit cb31b68

Browse files
committed
docs/user/*/install_upi: Drop compute replicas zeroing
We grew this in c22d042 (docs/user/aws/install_upi: Add 'sed' call to zero compute replicas, 2019-05-02, openshift#1649) to set the stage for changing the 'replicas: 0' semantics from "we'll make you some dummy MachineSets" to "we won't make you MachineSets". But that hasn't happened yet, and since 64f96df (scheduler: Use schedulable masters if no compute hosts defined, 2019-07-16, openshift#2004) 'replicas: 0' for compute has also meant "add the 'worker' role to control-plane nodes". That leads to racy problems when ingress comes through a load balancer, because Kubernetes load balancers exclude control-plane nodes from their target set [1,2] (although this may get relaxed soonish [3]). If the router pods get scheduled on the control plane machines due to the 'worker' role, they are not reachable from the load balancer and ingress routing breaks [4]. Seth says: > pod nodeSelectors are not like taints/tolerations. They only have > effect at scheduling time. They are not continually enforced. which means that attempting to address this issue as a day-2 operation would mean removing the 'worker' role from the control-plane nodes and then manually evicting the router pods to force rescheduling. So until we get the changes from [3], it's easier to just drop this section and keep the 'worker' role off the control-plane machines entirely. [1]: https://bugzilla.redhat.com/show_bug.cgi?id=1671136#c1 [2]: kubernetes/kubernetes#65618 [3]: https://bugzilla.redhat.com/show_bug.cgi?id=1744370#c6 [4]: https://bugzilla.redhat.com/show_bug.cgi?id=1755073
1 parent f96afb9 commit cb31b68

File tree

2 files changed

+0
-26
lines changed

2 files changed

+0
-26
lines changed

docs/user/aws/install_upi.md

-13
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,6 @@ $ openshift-install create install-config
1818
? Pull Secret [? for help]
1919
```
2020

21-
### Empty Compute Pools
22-
23-
We'll be providing the control-plane and compute machines ourselves, so edit the resulting `install-config.yaml` to set `replicas` to 0 for the `compute` pool:
24-
25-
```sh
26-
python -c '
27-
import yaml;
28-
path = "install-config.yaml";
29-
data = yaml.load(open(path));
30-
data["compute"][0]["replicas"] = 0;
31-
open(path, "w").write(yaml.dump(data, default_flow_style=False))'
32-
```
33-
3421
## Edit Manifests
3522

3623
Use [a staged install](../overview.md#multiple-invocations) to make some adjustments which are not exposed via the install configuration.

docs/user/gcp/install_upi.md

-13
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,6 @@ $ openshift-install create install-config
3939
? Pull Secret [? for help]
4040
```
4141

42-
### Empty the compute pool (optional)
43-
44-
If you do not want the cluster to provision compute machines, edit the resulting `install-config.yaml` to set `replicas` to 0 for the `compute` pool.
45-
46-
```sh
47-
python -c '
48-
import yaml;
49-
path = "install-config.yaml";
50-
data = yaml.full_load(open(path));
51-
data["compute"][0]["replicas"] = 0;
52-
open(path, "w").write(yaml.dump(data, default_flow_style=False))'
53-
```
54-
5542
### Create manifests
5643

5744
Create manifest to enable customizations which are not exposed via the install configuration.

0 commit comments

Comments
 (0)