Page History
Table of Contents |
---|
Introduction
- JS7 can be set up for use with a Kubernetes cluster. Using the Linux based JS7 images for Docker® containers which ship with a current Alpine base image and OpenJDK.
- Docker® images for JS7 are publicly available from https://hub.docker.com/r/sosberlin/js7.
- Instructions on how to run containers for JS7 components can be found from the JS7 - Installation for Docker Containers article series.
- Users can run JS7 components by creating a Kubernetes deployment object, and can describe the deployment in a YAML file.
- To this purpose users have to first install and set up the Kubernetes Cluster see JS7 - How to install a Kubernetes Cluster.
- With the Kubernetes Cluster being up and running users can use the deployment YAML files to deploy JS7 components.
Deployment Files
The sample YAML files for use with Kubernetes are attached to the article.
...
js7-deployment.yaml – This file is the deployment file for JS7 components.
Code Block language yml title Example for js7-deployment.yaml linenumbers true collapse true apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: js7joc name: js7joc spec: volumes: - name: hibernate-config configMap: name: hibernate-config containers: - image: sosberlin/js7:joc-2-5-1 name: js7joc ports: - containerPort: 4446 volumeMounts: - name: hibernate-config mountPath: /var/sos-berlin.com/js7/joc/resources/joc/ env: - name: RUN_JS_JAVA_OPTIONS value: "-Xmx256m" - name: RUN_JS_USER_ID value: "0:0" - name: RUN_JS_ID value: "jobscheduler" - image: sosberlin/js7:controller-2-5-1 name: js7con ports: - containerPort: 4444 env: - name: RUN_JS_JAVA_OPTIONS value: "-Xmx256m" - name: RUN_JS_USER_ID value: "0:0" - name: RUN_JS_ID value: "jobscheduler" - image: sosberlin/js7:agent-2-5-1 name: js7agent ports: - containerPort: 4445
js7-service.yaml – This file includes the configuration for port forwarding.
Code Block language yml title Example for js7-service.yaml linenumbers true collapse true apiVersion: v1 kind: Service metadata: creationTimestamp: null labels: run: js7joc name: js7joc spec: ports: - name: js7joc port: 4446 protocol: TCP targetPort: 4446 - name: js7agent port: 4445 protocol: TCP targetPort: 4445 - name: js7controller port: 4444 protocol: TCP targetPort: 4444 selector: run: js7joc type: LoadBalancer status: loadBalancer: {}
hibernate.cfg.xml – This file includes the Hibernate configuration for connections to the JS7 - Database. Find the following example for use with a MySQL® database.
Code Block language yml title Example for js7-service.yaml linenumbers true collapse true <?xml version="1.0" encoding="UTF-8" standalone="no"?> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">org.mysql.jdbc.Driver</property> <property name="hibernate.connection.password">jobscheduler</property> <property name="hibernate.connection.url">jdbc:mysql://mysqlsrv:3306/jobscheduler</property> <property name="hibernate.connection.username">jobscheduler</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> <property name="hibernate.show_sql">false</property> <property name="hibernate.connection.autocommit">false</property> <property name="hibernate.format_sql">true</property> <property name="hibernate.temp.use_jdbc_metadata_defaults">false</property> <property name="hibernate.connection.provider_class">org.hibernate.hikaricp.internal.HikariCPConnectionProvider</property> <property name="hibernate.hikari.maximumPoolSize">10</property> </session-factory> </hibernate-configuration>
Step-by-Step Instructions
To operate JOC Cockpit in a Kubernetes cluster with the JS7 database users adjust the hibernate.cfg.xml
file that specifies the database connection and holds credentials for database access. Find further examples from the JS7 - Database article.
...