openshift / origin

Conformance test suite for OpenShift
http://www.openshift.org
Apache License 2.0
8.47k stars 4.69k forks source link

Cannot scale-up openshift-router pods when adding new worker nodes to OKD 4.4 #25139

Closed khodayard closed 4 years ago

khodayard commented 4 years ago

I have a 5 node cluster of OKD 4.4 working just fine, I need to add a worker node to be able to use glusterfs and ceph as dynamic storage provisioning (another long story in OKD 4!). The new node is added without any problem, and it can host pods, everything's fine and there's also no errors. But number of router pods is still the old 2, and when I change it on 3 it gets back automatically to 2! I cannot use only two nodes with router, it does not matter which node but it accepts only two nodes. I have tried:

[root@okd4-services ~]# oc get po -n openshift-ingress NAME READY STATUS RESTARTS AGE router-default-54fc68c669-sdpgj 1/1 Running 0 2d3h router-default-54fc68c669-z99fs 1/1 Running 0 172m [root@okd4-services ~]# oc get po -n openshift-ingress NAME READY STATUS RESTARTS AGE router-default-54fc68c669-sdpgj 1/1 Running 0 2d3h router-default-54fc68c669-z99fs 1/1 Running 0 172m [root@okd4-services ~]# oc get deploy -n openshift-ingress NAME READY UP-TO-DATE AVAILABLE AGE router-default 2/2 2 2 12d [root@okd4-services ~]# oc get replicaset -n openshift-ingress

NAME DESIRED CURRENT READY AGE router-default-54fc68c669 2 2 2 12d router-default-7545bd79d5 0 0 0 12d [root@okd4-services ~]# [root@okd4-services ~]# oc scale --replicas=3 replicaset/router-default-54fc68c669 -n openshift-ingress replicaset.apps/router-default-54fc68c669 scaled [root@okd4-services ~]# oc get replicaset -n openshift-ingress NAME DESIRED CURRENT READY AGE router-default-54fc68c669 2 2 2 12d router-default-7545bd79d5 0 0 0 12d [root@okd4-services ~]# oc get po -n openshift-ingress NAME READY STATUS RESTARTS AGE router-default-54fc68c669-sdpgj 1/1 Running 0 2d3h router-default-54fc68c669-z99fs 1/1 Running 0 174m [root@okd4-services ~]# oc get deploy -n openshift-ingress NAME READY UP-TO-DATE AVAILABLE AGE router-default 2/2 2 2 12d [root@okd4-services ~]# oc scale --replicas=3 deploy/router-default -n openshift-ingress deployment.apps/router-default scaled [root@okd4-services ~]# oc get deploy -n openshift-ingress NAME READY UP-TO-DATE AVAILABLE AGE router-default 2/2 2 2 12d [root@okd4-services ~]# oc get no NAME STATUS ROLES AGE VERSION okd4-compute-1.lab.okd.local Ready worker 2d1h v1.17.1 okd4-compute-2.lab.okd.local Ready worker 47h v1.17.1 okd4-compute-3.lab.okd.local Ready worker 2d3h v1.17.1 okd4-control-plane-1.lab.okd.local Ready master 12d v1.17.1 okd4-control-plane-2.lab.okd.local Ready master 46h v1.17.1 okd4-control-plane-3.lab.okd.local Ready master 2d2h v1.17.1 [root@okd4-services ~]#

Version

Client Version: 4.4.0-0.okd-2020-05-23-055148-beta5 Server Version: 4.4.0-0.okd-2020-05-23-055148-beta5 Kubernetes Version: v1.17.1

Steps To Reproduce

add a worker node to a bare metal UPI installation of OKD 4.4 and then check openshift-router pods in it's project.

Current Result

router-default replica = 2

Expected Result

router-default replica = 3

Additional Information

output of the $ oc get all -o json -n <namespace> is attached but I don't think it can be of any use.

Thanks, Khodayar

khodayard commented 4 years ago

Problem fixed. I have a UPI and in UPIs it seems that scaling up is not as easy as in IPIs. I have to edit default instance in ingresscontrollers CRD and increase replicas to 3:

oc edit ingresscontroller default -n openshift-ingress-operator -o yaml

To verify:

oc get po -n openshift-ingress | grep router

Or in console:

In Console > Administration > Custom Resource Definition > suche “ingresscontrollers” > Instances > default > YAML > Linie: 15 > Ändere “replicas: 2" in “replicas: 3”