Red Hat Certified OpenShift Application Developer Exam (EX288) - Red Hat Certifications

Exam Questions

94%

Students found the real exam almost the same

1,057

Students passed this exam after ExamsQA Prep

95.1%

Average score during Real Exams at the Testing Centre

πŸ’‘

Browse at least 50% questions to maximize your chances of passing

Free Preview Questions

Sample EX288 Exam Questions & Explanations

Practice with real question formats, multiple choice options, and detailed answer explanations for Red Hat Certifications EX288.

Question #1 Verified Q&A
<p>Using the source code from <a target="_blank" rel="noopener noreferrer nofollow" href="http://git.domin2.example.com/git/pastebin.git">http://git.domin2.example.com/git/pastebin.git</a>. Deploy an application that meets the following requirements</p><p>● The application is part of a project numed: crdmson</p><p>● The application is named: pastebin</p><p>● Once deployed. the application is running and available at <a target="_blank" rel="noopener noreferrer nofollow" href="http://pastebin-">http://pastebin-</a></p><p><a target="_blank" rel="noopener noreferrer nofollow" href="http://crdmson.apps.domain2.example.com">crdmson.apps.domain2.example.com</a></p><p>● You have used the application to create and save a pastebin entry containing the text</p><p> β€œPer aspera ad astra”</p><p>Note that application dependencies are available from the registry located at</p><p><a target="_blank" rel="noopener noreferrer nofollow" href="http://nexus-domain2.example.com:8081/nexus/content/groups/node.js/">http://nexus-domain2.example.com:8081/nexus/content/groups/node.js/</a></p><p></p>
Explanation:
<p>#oc new-project crdmson</p><p># git clone <a target="_blank" rel="noopener noreferrer nofollow" href="http://git.domin2.example.com/git/pastebin.git">http://git.domin2.example.com/git/pastebin.git</a></p><p># cd pastebin</p><p># ls</p><p># python -m json.tool package.json &lt;&lt;- check for error, in line 6 (,) delimiter</p><p>will be missing</p><p># vi package.json</p><p> key: &quot;value&quot; οƒŸ 3rd/4th line in the file. Add quotes.</p><p>:wq!</p><p># git add .</p><p># git commit –m β€œfsd”</p><p># git push origin master</p><p># oc new-app --name=pastebin <a target="_blank" rel="noopener noreferrer nofollow" href="http://git.domin2.example.com/git/pastebin.git">http://git.domin2.example.com/git/pastebin.git</a> -- build-env npm_config_registry=<a target="_blank" rel="noopener noreferrer nofollow" href="http://nexus-domain2.example.com:8081/nexus/content/">http://nexus-domain2.example.com:8081/nexus/content/</a>groups/node.js/</p><p># oc expose servicepastebin --hostname=<a target="_blank" rel="noopener noreferrer nofollow" href="http://pastebin-crdmson.apps.domain2.example.com">pastebin-crdmson.apps.domain2.example.com</a></p><p></p>
Question #2 Verified Q&A
<p>Open the internal image registry</p><p>Use your Openshift user to meet the following requirements</p><p>● The internal OpenShift image registry should be accessible from outside the cluster</p><p>● podman has been used to pull the image</p><p>chartre user</p><p>from the project</p><p>minzeoui</p><p>Note that your OpenShift user has been granted all the necessary roles to complete these tasks</p>
Explanation:
<p>oc patch config.imageregistry cluster -n openshift-image-registry --type merge -p</p><p>&#039;{&quot;spec&quot;:{&quot;defaultRoute&quot;:true}}&#039;</p><p># oc get route -n openshift-image-registry&lt;- get route name</p><p># podman login -u ocpdevop -p ocwhoami -t &lt;registry_route_name&gt;</p><p># podman pull &lt;registry_route_name&gt;/&lt;project_name&gt;/&lt;image_name&gt; --tls-verify=false</p>
Question #3 Verified Q&A
<p>There is an OpenShift template available for download to your workstation in either JSON or YAML format.</p><p>Choose one of the following as a starting point:</p><p><a target="_blank" rel="noopener noreferrer nofollow" href="http://rhgla.domain2.example.com/materials/php.app.json">http://rhgla.domain2.example.com/materials/php.app.json</a></p><p><a target="_blank" rel="noopener noreferrer nofollow" href="http://rhgla.domain2.example.com/materials/php.app.yaml">http://rhgla.domain2.example.com/materials/php.app.yaml</a></p><p>Customize the template to meet the following requirements:</p><p>- The template exists in the project &quot;tindy&quot; and is named &quot;ex288-php-mysql&quot;.</p><p>- All resources created from the template can be deleted using a single label selector.</p><p>- The template uses the latest available versions of PHP and MySQL.</p><p>- The template uses the Git repository:</p><p> <a target="_blank" rel="noopener noreferrer nofollow" href="http://git.domain6.example.com/ex288">http://git.domain6.example.com/ex288</a></p><p>- The template has a custom parameter that defaults to &quot;Engineers&quot;.</p><p>- The following command fails:</p><p> oc new-app ex288-php-mysql</p><p>- The following command succeeds:</p><p> oc new-app ex288-php-mysql \</p><p> -p APPLICATION_DOMAIN=<a target="_blank" rel="noopener noreferrer nofollow" href="http://php-app-indy.apps.domain2.example.com">php-app-indy.apps.domain2.example.com</a></p><p>- The application runs at:</p><p> <a target="_blank" rel="noopener noreferrer nofollow" href="http://php-app-indy.apps.domain2.example.com">http://php-app-indy.apps.domain2.example.com</a></p><p> and displays:</p><p> Bonjour Engineers</p><p>- The following command also succeeds:</p><p> oc new-app ex288-php-mysql \</p><p> -p APPLICATION_DOMAIN=<a target="_blank" rel="noopener noreferrer nofollow" href="http://php-app-indy.apps.domain2.example.com">php-app-indy.apps.domain2.example.com</a> \</p><p> -p HELLO_AUDIENCE=&lt;value&gt;</p><p>- The application displays the supplied HELLO_AUDIENCE value.</p>
Explanation:
<p>1. Download the template:</p><p> wget <a target="_blank" rel="noopener noreferrer nofollow" href="http://rhgla.domain2.example.com/materials/php.app.yaml">http://rhgla.domain2.example.com/materials/php.app.yaml</a></p><p>2. Edit the template:</p><p> - Set <a target="_blank" rel="noopener noreferrer nofollow" href="http://metadata.name">metadata.name</a> to: ex288-php-mysql</p><p> - Set metadata.namespace to: tindy</p><p>3. Update image streams:</p><p> image: php:latest</p><p> image: mysql:latest</p><p>4. Configure the Git repository parameter:</p><p> - name: GIT_REPOSITORY</p><p> value: <a target="_blank" rel="noopener noreferrer nofollow" href="http://git.domain6.example.com/ex288">http://git.domain6.example.com/ex288</a></p><p>5. Add a custom parameter:</p><p> - name: HELLO_AUDIENCE</p><p> value: Engineers</p><p> required: false</p><p>6. Make APPLICATION_DOMAIN a required parameter so that:</p><p> oc new-app ex288-php-mysql</p><p> fails unless the parameter is provided.</p><p>7. Add a common label to all resources, for example:</p><p> app.kubernetes.io/instance=ex288-php-mysql</p><p> This allows deletion using:</p><p> oc delete all -l app.kubernetes.io/instance=ex288-php-mysql</p><p>8. Create the template:</p><p> oc apply -f <a target="_blank" rel="noopener noreferrer nofollow" href="http://php.app">php.app</a>.yaml -n tindy</p><p>9. Test:</p><p> oc new-app ex288-php-mysql \</p><p> -p APPLICATION_DOMAIN=<a target="_blank" rel="noopener noreferrer nofollow" href="http://php-app-indy.apps.domain2.example.com">php-app-indy.apps.domain2.example.com</a></p>
Question #4 Verified Q&A
<p>In concert with the source code from <a target="_blank" rel="noopener noreferrer nofollow" href="http://git.domin2.example.com/git/exy.git">http://git.domin2.example.com/git/exy.git</a>.</p><p>Customize the behavior of the existing rhscl/httpd-24-rhel7 builder image scripts to deploy an application that meets the following requirements.</p><p>● The applicalson is part of a project named: toain</p><p>● The application is named: oxy</p><p>● During the build of the image, as part of the assemble script :/tmp/src/*.html ./ files are copied into.</p><p>● Once deployed. the application is running and available at <a target="_blank" rel="noopener noreferrer nofollow" href="http://oxy">http://oxy</a><a target="_blank" rel="noopener noreferrer nofollow" href="http://tocin.apps.domin2.example.com">tocin.apps.domin2.example.com</a>. displaying the following text: Amor vinoit omnia</p><p>● Browsing to <a target="_blank" rel="noopener noreferrer nofollow" href="http://http://oxy-tocin.apps.domin2.example.com/info.html.html">http://http://oxy-tocin.apps.domin2.example.com/info.html.html </a>displays an information page with the date</p><p> when the application was build (YYY-mm-dd format) as well as the text</p>
Explanation:
<p># oc new-project totain</p><p>#podman login -u regdevop -p starkmen17 <a target="_blank" rel="noopener noreferrer nofollow" href="http://registry7.domain.example.com">registry7.domain.example.com</a> (Testing)</p><p># oc create secret docker-registry regsec --docker<br>server=<a target="_blank" rel="noopener noreferrer nofollow" href="http://registry7.domain.example.com">registry7.domain.example.com</a> --docker-username=regdevop --dockerpassword=starkmen17 &lt;&lt;- must create secret coz image stream looks for secret within the project to pull the image. ( create secret for image registry)</p><p># oc secrets link default regsec --for pull ( link to default service account)</p><p># oc import-image httpd --from=private.eaxmple.com/rhscl/httpd:latest -- confirm--reference-policy=&#039;local&#039;</p><p># git clone <a target="_blank" rel="noopener noreferrer nofollow" href="http://git.domin2.example.com/git/oxy.git">http://git.domin2.example.com/git/oxy.git</a></p><p># cd oxy</p><p># ls</p><p>Index.html</p><p># ls –a</p><p># vi .s2i/bin/assemble</p><p>####### CHANGES ADDED HERE#####</p><p>cp -Rf /tmp/src/*.html ./</p><p>DATE<code>date &quot;+%F&quot;</code></p><p>echo &quot;$DATE Hello world&quot; &gt;&gt; ./info.html</p><p>################################</p><p># git add .</p><p># git commit –m β€œfdfd”</p><p># git push origin master</p><p># oc new-app --name=oxy</p><p>httpd:latest~<a target="_blank" rel="noopener noreferrer nofollow" href="https://git.domin2.example.com/git/oxy.git&lt;&lt;-">https://git.domin2.example.com/git/oxy.git&lt;&lt;-</a> ~ indicated builder image.</p><p># oc expose svc oxy</p><p># curlhttp://url &lt;&lt;- verify the response</p><p># curlhttp://<a target="_blank" rel="noopener noreferrer nofollow" href="http://url.info">url.info</a>.html&lt;&lt;- verify the response</p>
Question #5 Verified Q&A
<p>A Python 3 application named &quot;blog&quot; has been deployed in the project &quot;octane&quot;.</p><p>The application includes a script named:</p><p><a target="_blank" rel="noopener noreferrer nofollow" href="http://mailer.py">mailer.py</a></p><p>Customize the application so that:</p><p>- The application is available at:</p><p> <a target="_blank" rel="noopener noreferrer nofollow" href="http://blog-octane.apps.domain2.example.com">http://blog-octane.apps.domain2.example.com</a></p><p>- The script automatically executes after each build completes.</p><p>- The most recent build successfully triggered the script.</p><p>- Future builds also trigger the script.</p><p>- The original Git repository remains unchanged.</p>
Explanation:
<p>1. Switch to the project:</p><p> oc project octane</p><p>2. Identify the build configuration:</p><p> oc get bc</p><p>3. Determine the Python path:</p><p> oc rsh &lt;running-pod&gt;</p><p> which python3</p><p>4. Configure a post-commit build hook:</p><p> oc set build-hook bc/blog \</p><p> --post-commit \</p><p> --command \</p><p> -- /usr/bin/python3 <a target="_blank" rel="noopener noreferrer nofollow" href="http://mailer.py">mailer.py</a></p><p> Note: Use the actual python3 path from step 3.</p><p>5. Start a new build:</p><p> oc start-build blog --follow</p><p>6. Expose the application if necessary:</p><p> oc expose svc blog</p><p>7. Verify that the hook executed successfully in the build logs.</p>

Want to practice all 7 questions?

Practice under real exam conditions with instant grading, timed simulations, and community insights.

Start Full EX288 Practice Test

Frequently Asked Questions

Common questions about the Red Hat Certifications EX288 certification practice test

How many questions are in the Red Hat Certifications EX288 practice exam on ExamsQA?
Our EX288 (Red Hat Certified OpenShift Application Developer Exam) practice question bank currently includes 7 verified questions with comprehensive explanations.
Are the EX288 exam practice questions up to date for 2026?
Yes, all Red Hat Certifications EX288 practice questions are regularly updated and verified against current exam objectives.
Will the EX288 practice questions help me pass on my first attempt?
The EX288 (Red Hat Certified OpenShift Application Developer Exam) question bank is built to mirror the real exam's format and topics, with detailed explanations for every answer so you understand the reasoning β€” not just memorize responses.
Is there a free demo available for EX288 Red Hat Certified OpenShift Application Developer Exam?
Yes, ExamsQA offers free demo questions for the EX288 exam so you can test the interface and question quality before purchasing full access.