Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. js7-deployment.yaml – This file is the deployment file for JS7 components.

    Code Block
    languageyml
    titleExample for js7-deployment.yaml
    linenumberstrue
    collapsetrue
    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

    This YAML file describes a Pod in Kubernetes, which is a group of one or more containers and a config map.

      1. The
    1. Pod has three containers: The
      1. js7joc container runs the joc-2-5-1 image and exposes port 4446. It also uses a ConfigMap named hibernate-config as a volume, mounted at /var/sos-berlin.com/js7/joc/resources/joc/. The container sets several environment variables, including RUN_JS_JAVA_OPTIONS, RUN_JS_USER_ID, and RUN_JS_ID.
      2. The js7con container runs the controller-2-5-1 image and exposes port 4444. It sets the environment variables RUN_JS_JAVA_OPTIONS, RUN_JS_USER_ID, and RUN_JS_ID.
      3. The js7agent container runs the agent-2-5-1 image and exposes port 4445. It sets the environment variables RUN_JS_JAVA_OPTIONS, RUN_JS_USER_ID, and RUN_JS_ID.
    2. The Pod has three containers:
      1. Each container runs a different image from the sosberlin/js7 repository and is assigned a unique port.
    3. Each container has environment variables defined, which control various runtime parameters for the application such as:

      • RUN_JS_JAVA_OPTIONS 
      • RUN_JS_USER_ID
      • RUN_JS_ID
    4. A volumeMounts to the configMap is used named hibernate-config which is mounted to the /var/sos-berlin.com/js7/joc/resources/joc/ directory in the js7joc container.

  2. js7-service.yaml – This file includes the configuration for port forwarding.

    Code Block
    languageyml
    titleExample for js7-service.yaml
    linenumberstrue
    collapsetrue
    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: {}



  3. 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
    languageyml
    titleExample for js7-service.yaml
    linenumberstrue
    collapsetrue
    <?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>

...