containerizing middleware applications · base-jdk base jws 3.0 eap 6.4 eap7.o amq 6.2 amq 6.3 eap...

11
Containerizing Middleware Applications [email protected] 2018-03-23

Upload: others

Post on 13-Mar-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Containerizing Middleware Applications · base-jdk base JWS 3.0 EAP 6.4 EAP7.O AMQ 6.2 AMQ 6.3 EAP 6.4 OpenShift EAP 7.0 OpenShift AMQ 6.2 OpenShift AMQ 6.3 OpenShift JWS 3.0 Tomcat

Containerizing Middleware [email protected]

Page 2: Containerizing Middleware Applications · base-jdk base JWS 3.0 EAP 6.4 EAP7.O AMQ 6.2 AMQ 6.3 EAP 6.4 OpenShift EAP 7.0 OpenShift AMQ 6.2 OpenShift AMQ 6.3 OpenShift JWS 3.0 Tomcat

Definitions & Technologies

• Container • Docker• Middleware• Orchestration • Kubernetes • OpenShift

Page 3: Containerizing Middleware Applications · base-jdk base JWS 3.0 EAP 6.4 EAP7.O AMQ 6.2 AMQ 6.3 EAP 6.4 OpenShift EAP 7.0 OpenShift AMQ 6.2 OpenShift AMQ 6.3 OpenShift JWS 3.0 Tomcat

First Steps: Inheritance heirarchy

RHEL ↳ base ↳ base JDK ↳ standalone ↳ OpenShift

Page 4: Containerizing Middleware Applications · base-jdk base JWS 3.0 EAP 6.4 EAP7.O AMQ 6.2 AMQ 6.3 EAP 6.4 OpenShift EAP 7.0 OpenShift AMQ 6.2 OpenShift AMQ 6.3 OpenShift JWS 3.0 Tomcat

Dockerfile example

FROM jboss-base-7/jdk8:1.2 ENV JBOSS_IMAGE_VERSION=1.2 … ADD some-script.sh /tmp USER 0 RUN chmod +x /tmp/some-script.sh \ && /tmp/some-script.sh \ && rm /tmp/some-script.sh \ USER jboss …

Page 5: Containerizing Middleware Applications · base-jdk base JWS 3.0 EAP 6.4 EAP7.O AMQ 6.2 AMQ 6.3 EAP 6.4 OpenShift EAP 7.0 OpenShift AMQ 6.2 OpenShift AMQ 6.3 OpenShift JWS 3.0 Tomcat

OpenShift Integration

• turning features off• integrating features• runtime configuration

Page 6: Containerizing Middleware Applications · base-jdk base JWS 3.0 EAP 6.4 EAP7.O AMQ 6.2 AMQ 6.3 EAP 6.4 OpenShift EAP 7.0 OpenShift AMQ 6.2 OpenShift AMQ 6.3 OpenShift JWS 3.0 Tomcat

Sharing scripts via inheritance

Page 7: Containerizing Middleware Applications · base-jdk base JWS 3.0 EAP 6.4 EAP7.O AMQ 6.2 AMQ 6.3 EAP 6.4 OpenShift EAP 7.0 OpenShift AMQ 6.2 OpenShift AMQ 6.3 OpenShift JWS 3.0 Tomcat

Artefacts and private URIs

ADD http://private.url/jboss-eap-7.0.0.GA.zip…

Page 8: Containerizing Middleware Applications · base-jdk base JWS 3.0 EAP 6.4 EAP7.O AMQ 6.2 AMQ 6.3 EAP 6.4 OpenShift EAP 7.0 OpenShift AMQ 6.2 OpenShift AMQ 6.3 OpenShift JWS 3.0 Tomcat

Cekit

• Dockerfile pre-processor

image.yaml → cekit ⇒ Dockerfile, artefacts, shared scripts

https://github.com/cekit/cekit

Page 9: Containerizing Middleware Applications · base-jdk base JWS 3.0 EAP 6.4 EAP7.O AMQ 6.2 AMQ 6.3 EAP 6.4 OpenShift EAP 7.0 OpenShift AMQ 6.2 OpenShift AMQ 6.3 OpenShift JWS 3.0 Tomcat

Cekit YAML example

name: "jboss-eap-7/eap71-openshiftdescription: "Red Hat JBoss Enterpversion: "1.2"from: "jboss-eap-7/eap71:latest"labels: - name: "com.redhat.component" value: "jboss-eap-7-eap71-op - name: "io.k8s.description" value: "Platform for buildin

Page 10: Containerizing Middleware Applications · base-jdk base JWS 3.0 EAP 6.4 EAP7.O AMQ 6.2 AMQ 6.3 EAP 6.4 OpenShift EAP 7.0 OpenShift AMQ 6.2 OpenShift AMQ 6.3 OpenShift JWS 3.0 Tomcat

Alternatives

• Ansible Container

https://docs.ansible.com/ansible-container/

Page 11: Containerizing Middleware Applications · base-jdk base JWS 3.0 EAP 6.4 EAP7.O AMQ 6.2 AMQ 6.3 EAP 6.4 OpenShift EAP 7.0 OpenShift AMQ 6.2 OpenShift AMQ 6.3 OpenShift JWS 3.0 Tomcat