IBM/minishift101 - step 3
After creating an OpenShift application as instructed in the previous lab (Step 2), the next step is ensuring it is up and running and finding out how to access it.
1. Monitoring builds
When we run oc new-app
a build is triggered similar to a docker build
. Unlike docker build
however, the build happens in the background and we don't get the output of what is happening.
To see this output, we can run:
Assuming we were building the ruby template we would run:
$ oc new-app https://github.com/sclorg/nodejs-ex
Then to check the status:
$ oc status
In project nodejs (nodejs-echo) on server https://192.168.64.11:8443
svc/nodejs-ex - 172.30.6.48:8080
dc/nodejs-ex deploys istag/nodejs-ex:latest <-
bc/nodejs-ex source builds https://github.com/sclorg/nodejs-ex on openshift/nodejs:10
build #1 running for 36 hours
deployment #1 waiting on image or update
2 infos identified, use 'oc status --suggest' to see details.
Looking at the output, we can see that we have a service endpoint to access our node app at 172.30.6.48:8080
. We can also see the build type used to create our application: openshift/nodejs:10
. Finally, we can see in the last line that our application is not actually ready for usage as it is waiting for thr image to be deployed. In the line above, we can use the build number to get a more comprehensive idea of what is happening in the build.
If you wanted to check the build progress of a application, it would follow this format:
$ oc logs build/<app-name>-<build-no>
In this example, we would use the application name nodejs-ex
and the build number 1
:
$ oc logs build/nodejs-ex-1
2. Monitoring deployments
In Kubernetes, we are able to the status of all our running applications. OpenShift has the same capability using the oc
command:
$ oc get pod
NAME READY STATUS RESTARTS AGE
nodejs-ex-1-build 0/1 Completed 0 13m
nodejs-ex-1-hx6v9 1/1 Running 0 12m
Here we can see that a pod (nodejs-ex-1-build
) was created with the sole purpose to run the build and then was cleaned up after completing successfully. We are then left with our running pod (nodejs-ex-1-hx6v9
) containing our node application.
If we actually just wanted to see the deployments, the actual application and not the assoicated pods, we can run:
$ oc get dc
NAME REVISION DESIRED CURRENT TRIGGERED BY
nodejs-ex 1 1 1 config,image(nodejs-ex:latest)
Another useful command in Kubernetes is the ability to check the services associated with our applications if any. We do this in Kubernetes by running kubectl get svc
and can do a similar thing in OpenShift:
$ oc get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nodejs-ex ClusterIP 172.30.6.48 <none> 8080/TCP 14m
As with Kubernetes, each application can be given an internal IP in which we can access our services but unless stated otherwise, this will only be available within the cluster.
Congratulations! You have learnt how to monitor your application builds and deployments within your cluster! To see how we can expose our applications outside of the OpenShift cluster, let's continue on to the final Lab (Lab 4)
Last updated
Was this helpful?