Creare le risorse per il broker AMQP e MongoDB sul OpenShift

Iniziamo creando il broker AMQP partendo dall’immagine Docker di Apache ActiveMQ Artemis. Per
fare ciò è sufficiente utilizzare il comando oc new-app
specificando
l’immagine Docker di Apache ActiveMQ Artemis.
# Creazione del broker AMQP Apache ActiveMQ Artemis
oc new-app apache/activemq-artemis:2.33.0
# Output del comando oc new-app
--> Found container image 1714b7a (3 weeks old) from Docker Hub for "apache/activemq-artemis:2.33.0"
* An image stream tag will be created as "activemq-artemis:2.33.0" that will track this image
--> Creating resources ...
imagestream.image.openshift.io "activemq-artemis" created
deployment.apps "activemq-artemis" created
service "activemq-artemis" created
--> Success
Application is not exposed. You can expose services to the outside world by executing one or more of the commands below:
'oc expose service/activemq-artemis'
Run 'oc status' to view your app.
Se tutto è andato per il verso giusto, dovreste ottenere un output
simile a quello a seguire che indica il pod dell’Apache ActiveMQ Artemis
in stato Running
e il servizio activemq-artemis
attivo con in
evidenza le porte in binding. A seguire l’output del comando
oc get pods
e oc get services
.
oc get pods && oc get svc
NAME READY STATUS RESTARTS AGE
pod/activemq-artemis-f9584d88c-pgf68 1/1 Running 0 45m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/activemq-artemis ClusterIP 172.30.35.104 <none> 1883/TCP,.. 45m
Adesso passiamo alla creazione delle risorse per il database NoSQL
MongoDB. Per fare ciò è sufficiente utilizzare il comando oc new-app
specificando l’immagine Docker di
MongoDB.
# Creazione di MongoDB
oc new-app mongo:7.0.8
# Output del comando oc new-app
--> Found image fb4debd (11 days old) in image stream "antonio-musarra-dev/mongo" under tag "7.0.8" for "mongo:7.0.8"
--> Creating resources ...
deployment.apps "mongo" created
service "mongo" created
--> Success
Application is not exposed. You can expose services to the outside world by executing one or more of the commands below:
'oc expose service/mongo'
Run 'oc status' to view your app.
Per verificare che le risorse per il database NoSQL MongoDB siano state
create correttamente, è possibile utilizzare il comando oc get pods
e
oc get services
che restituiranno l’output mostrato a seguire.
NAME READY STATUS RESTARTS AGE
pod/mongo-dc76d7f8d-p7dv7 1/1 Running 0 9m40s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/mongo ClusterIP 172.30.248.66 <none> 27017/TCP 9m40s
Abbiamo creato con successo le risorse per il broker AMQP Apache ActiveMQ Artemis e per il database NoSQL MongoDB sul cluster OpenShift. Ora è necessario configurare l’applicazione Quarkus per connettersi a queste risorse e quindi essere pronta per ricevere il traffico.
Nota: per la creazione delle risorse abbiamo usato la via più semplice e immediata ma non quella consigliata per un ambiente di collaudo, validazione e produzione dove è necessario configurare le risorse in modo più dettagliato e sicuro, come per esempio attraverso l’uso di Helm Charts o Operator e all’interno di un progetto di GitOps