Skip to main content

Openshift/K8S : Get routes hostnames and learn their reachability

 

Undoubtedly, route have a key role to accessing your pods and their applications inside. 

You may want to learn your whole Kubernetes or Openshift routes and their hostnames. Also you want to learn reachability of them. Here comes a shortcut!


First step is creating a variable :

hosts=$(oc get route -A \
  -o jsonpath='{.items[*].spec.host}')

You can ensure that just getting the hostnames,  rather than any other info by running :

echo $hosts

After this point we need a series of shell command to get names and HTTP status of our routes. For this task, write out the codes shown below : 

for host in $hosts ; do \
  curl https://$host -k -w "%{url_effective} %{http_code}\n" -o /dev/null -s ; \
  done
https://oauth-openshift.apps.ocp4.ozgurkkisa.com/ 403
https://console-openshift-console.apps.ocp4.ozgurkkisa.com/ 200
https://downloads-openshift-console.apps.ocp4.ozgurkkisa.com/ 200
https://alertmanager-main-openshift-monitoring.apps.ocp4.ozgurkkisa.com/ 403
https://grafana-openshift-monitoring.apps.ocp4.ozgurkkisa.com/ 403
https://prometheus-k8s-openshift-monitoring.apps.ocp4.ozgurkkisa.com/ 403
https://thanos-querier-openshift-monitoring.apps.ocp4.ozgurkkisa.com/ 403
As you see above, you are viewing the hostnames, url's and HTTP service status of all routes.

Alternatively you can save this code as a shell script file (.sh) and run whenever you want.

Note: I use the / character to code visibility and easy reading. You can remove the "/" and run individual commands successive.

Hope this helps! Have a nice day :)

Comments

Popular posts from this blog

K8S/OPENSHIFT: POD CRASHING,SECURITY CONTEXT CONTRAINTS PROBLEM?

  Your new daily given task is creating a new app in a new namespace. You investigated and found your image. Then you started to create your app. After app created you checked and realized that the your new apps pod is not starting! Here look at this example. I Used gitlab here as an instance. [ozgurk@myworkstation ~]$ oc new-app --name gitlab \ > --docker-image quay.io/redhattraining/gitlab-ce:8.4.3-ce.0 --> Creating resources ... imagestream.image.openshift.io "gitlab" created deployment.apps "gitlab" created service "gitlab" created --> Success  Until here, everything looking normal. Check your pod status :  [ozgurk@myworkstation ~]$ oc get pods NAME READY STATUS RESTARTS AGE gitlab-6d61db3479-yyjl 0/1 Error 1 43s As seen above, our pod is in a trouble. It's better to start investigation from pod logs. [ozgurk@myworkstation ~]$ oc logs pod/ gitlab-6d61db3479-yyjl ===========...

Openshift : Display the expiry date of the OpenShift Console TLS certificate

Hello from openshift! I have a question for you. When will expires your Openshift Router TLS (console) certificate? Here is a short solution to learn this info. Let's start! At first, login to your Openshift cluster. Then, create a variable for router tls certificate hostname : console=$(oc get route -n openshift-console console \ > -o jsonpath='{.spec.host}') After defining router hostname variable, check it : echo $console console-openshift-console.apps.ocp4.ozgurkkisa.com   And finally we are gonna learn what is the expiration of  our beloved Router TLS certificate by running curl https://$console -k -v 2>&1 | grep 'expire date' * expire date: Jun 22 16:43:53 2022 GMT Therefore, we have learned our OpenShift Router TLS certificate expiration date. By this you can write a to-do and  prepare yourself to replacing this certificate. Thats it!