Hero Microservice
Create a ConfigMap object to store application configurations
Click on
icon located at top right corner of web console.
Copy this YAML snippet to the editor and click Create button.
YAML snippet:
apiVersion: v1 kind: ConfigMap metadata: labels: app: rest-heroes application: heroes-service system: quarkus-super-heroes name: rest-heroes-config data: quarkus.hibernate-orm.database.generation: validate quarkus.hibernate-orm.sql-load-script: no-file quarkus.datasource.reactive.url: postgresql://heroes-db:5432/heroes_database quarkus.opentelemetry.tracer.exporter.otlp.endpoint: http://otel-collector:4317 quarkus.http.access-log.enabled: "false" quarkus.http.access-log.pattern: > %h %l %u %t "%r" %s %b "User-Agent: %{i,User-Agent}" "x-request-id: %{i,x-request-id}" "x-b3-traceid: %{i,x-b3-traceid}" " Referer: %{i,Referer}"
Create a ConfigMap object A rest-heroes-config ConfigMap object should be created.
Create a ConfigMap object
Create a Secret object to store the secret configurations
Click on
icon located at top right corner of web console.
Copy this YAML snippet to the editor and click Create button.
YAML snippet:
apiVersion: v1 kind: Secret metadata: labels: app: rest-heroes application: heroes-service system: quarkus-super-heroes name: rest-heroes-config-creds data: quarkus.datasource.username: c3VwZXJtYW4= quarkus.datasource.password: c3VwZXJtYW4= type: Opaque
Create a Secret object A rest-heroes-config-creds Secret object should be created.
Create a Secret object
Deploy application with existing container image
Go to Topology menu, right click on view area then select Add to Project -> Container Image menu.
Create a Secret object Enter following inputs:
Image name from external registry:
quay.io/asuksunt/rest-heroes:1.0
Runtime icon:
quarkus
Application:
heroes-service
Name:
rest-heroes
Deploy application container Scroll down to the bottom of the page, select 8080 option for Target port, uncheck the Create a route checkbox, and then click Health checks link.
Deploy application container Click Add Readiness probe link.
Deploy application container Enter following inputs then click ✔️ icon.
Path:
/q/health/ready
Port:
8080
Period:
30
Timeout:
10
Deploy application container Click Add Liveness probe link.
Deploy application container Enter following inputs then click ✔️ icon.
Path:
/q/health/live
Port:
8080
Period:
30
Timeout:
10
Deploy application container Click Deployment link.
Deploy application container Enter following environment variable. Then click Resource limits link.
Name:
KUBERNETES_NAMESPACE
Value:
userX-super-heroes
whereX
is your user number.
Deploy application container Enter following memory request and limit. Then click Labels link.
Request:
256
Limit:
768
Deploy application container Enter
system=quarkus-super-heroes
then click Create button.Deploy application container
Add application configurations in ConfigMap and Secret objects to application container
Click on rest-heroes entity in view area. A panel will show up, then click rest-heroes link.
Deploy application container Go to Environment tab to add environment variables to application container. Then click Add all from ConfigMap or Secret link.
Deploy application container Select rest-heroes-config ConfigMap and rest-heroes-config-creds Secret objects, then click Save button. And then go to Topology menu.
Deploy application container Hover mouse pointer over the rest-heroes entity, a bubble should show up and say 1 Running which means there is 1 pod running.
Deploy application container
What have you learnt?
How to create ConfigMap object with YAML to keep all application configurations.
How to create Secret object with YAML to keep all secret application configurations.
How to deploy application using existing container image with following additional configurations:
Application health checks e.g. liveness and readiness probes
Require and limit resource i.e. memory for application.
Environment variable for application container
User-defined label
Bind configurations from ConfigMap and Secret objects to application container via environment variables.
Last updated