Skip to content

Investigate adding routes from apps.ci.centos.org

Spike: Investigate adding routes from apps.ci.centos.org

The Ingress Operator[1] manages IngressController resources which will allow us to achieve[3] this on Openshift 4.

Resources
  • [1] https://docs.openshift.com/container-platform/4.4/networking/ingress-operator.html
  • [2] https://rcarrata.com/openshift/ocp4_route_sharding/
  • [3] https://projects.engineering.redhat.com/browse/CPE-764
POC

Performed the following steps to achieve goal:

-rw-rw-r--. 1 dkirwan dkirwan 1060 Jul  6 18:12 deployment.yaml
-rw-rw-r--. 1 dkirwan dkirwan  286 Jul  6 17:13 ingresscontroller.yaml
-rw-rw-r--. 1 dkirwan dkirwan  336 Jul  6 17:53 route.yaml
-rw-rw-r--. 1 dkirwan dkirwan  273 Jul  6 17:58 service.yaml
  • Created an IngressController which creates 2 router replicas and configured to manage Routes which point at *.apps.ci.centos.org. It also has a routeSelector to match labels type: sharded
  routeSelector:
    matchLabels:
      type: sharded
  • Created a Deployment with simple app.
  • Created Service and Route to expose the app externally at ingress-controller-test.apps.ci.centos.org.
  • Route has been given a label: type: sharded
  • Used dig to retrieve the public IP address of the cluster
dig console-openshift-console.apps.ocp.stg.ci.centos.org

; <<>> DiG 9.11.18-RedHat-9.11.18-1.fc32 <<>> console-openshift-console.apps.ocp.stg.ci.centos.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21722
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;console-openshift-console.apps.ocp.stg.ci.centos.org. IN A

;; ANSWER SECTION:
console-openshift-console.apps.ocp.stg.ci.centos.org. 600 IN A 8.43.84.237

;; Query time: 77 msec
;; SERVER: 10.38.5.26#53(10.38.5.26)
;; WHEN: Mon Jul 06 18:43:35 IST 2020
;; MSG SIZE  rcvd: 97
  • Configured my /etc/hosts file accordingly:
cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
8.43.84.237 ingress-controller-test.apps.ci.centos.org
  • Visited http://ingress-controller-test.apps.ci.centos.org and was greeted with the expected content in the deployed app.
  • We should be able to achieve this spike CPE-764 using the Ingress Controller Operator.