Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added border to figure 1. Resized images for readability.

...

  1. A Kubernetes cluster consists of one or more nodes. Nodes are machines (VMs, physical servers, etc) that run the applications.

    Thai

    คลัสเตอร์ Kubernetes ประกอบด้วยหนึ่งโหนดขึ้นไป Nodes คือเครื่อง (VM, ฟิสิคัลเซิร์ฟเวอร์ ฯลฯ ) ที่รันแอ็พพลิเคชัน

  2. Pod is the smallest Kubernetes object that contains one or more containers, storage resources, network IP and other configuration.

    Thai

    Pod เป็นวัตถุ Kubernetes ที่เล็กที่สุดที่มีหนึ่งคอนเทนเนอร์ขึ้นไปทรัพยากรหน่วยเก็บข้อมูล IP เครือข่ายและการกำหนดค่าอื่น ๆ

  3. Service defines a set of Pods and how they are accessed.

    Thai

    ไดรฟ์ข้อมูล Service เป็นที่เก็บข้อมูลที่ใช้ร่วมกันสำหรับตู้คอนเทนเนอร์และรองรับหลายประเภท

  4. Volume is a shared storage for containers, and many different types are supported.

    Thai

    ไดรฟ์ข้อมูล Volume เป็นที่เก็บข้อมูลที่ใช้ร่วมกันสำหรับตู้คอนเทนเนอร์และรองรับหลายประเภท

  5. These Kubernetes objects are defined in YAML format in .yaml files

    Thai

    วัตถุ Kubernetes เหล่านี้ถูกกำหนดในรูปแบบ YAML ในไฟล์. yaml

  6. A command line interface tool, kubectl, is used to manage these objects via the Kubernetes API.

    Thai

    เครื่องมืออินเตอร์เฟสบรรทัดคำสั่ง kubectl, ใช้เพื่อจัดการวัตถุเหล่านี้ผ่าน Kubernetes API.


Simplified view of Kubernetes objectsImage Modified

Simplified view of Kubernetes objects

...

5. Access the Joget DX URL and in the Database Setup page, key in the database configuration of the database deployed earlier, and click on the Save button.
Image Modified

    1. Database Type: MySQL
    2. Database Host: the service name of the database e.g. mysql
    3. Database Port: 3306
    4. Database Name: jwdb
    5. Database User: root
    6. Database Password: the configured password e.g. password


Image Modified

You now have a running installation of Joget, and you’ll be able to visually build a full app in 30 minutes without coding.

...

  1. Launch Joget from your browser and login as admin.
  2. Navigate to Settings > License.
  3. Your system key should contains dashes as the following. 
    Image Modified
    If the system key matches any of the nodes listed at the bottom, then it is wrong.
  4. If it does not, chances are that you did not assign the service account cluster view permission for Joget to retrieve the deployment info.
    Check the logs to look for "io.kubernetes.client.openapi.ApiException: Forbidden".
    ERROR 14 Apr 2021 12:35:03 org.joget.apps.license.LicenseManager  - Forbidden
    io.kubernetes.client.openapi.ApiException: Forbidden
    	at io.kubernetes.client.openapi.ApiClient.handleResponse(ApiClient.java:971)
    	at io.kubernetes.client.openapi.ApiClient.execute(ApiClient.java:883)
    	at io.kubernetes.client.openapi.apis.CoreV1Api.readNamespacedPodWithHttpInfo(CoreV1Api.java:45995)
    	at io.kubernetes.client.openapi.apis.CoreV1Api.readNamespacedPod(CoreV1Api.java:45965)
    	at org.joget.apps.license.LicenseManager.generateK8sDeploymentSystemKey(LicenseManager.java:934)
    	at org.joget.apps.license.LicenseManager.generateClusterSystemKey(LicenseManager.java:854)
    	at org.joget.apps.license.LicenseManager.checkClusterLicense(LicenseManager.java:1055)
    	at org.joget.apps.license.LicenseManager$4.run(LicenseManager.java:1029)


  5. The "io.kubernetes.client.openapi.ApiExceptionForbidden"exception shows this permission is missing. You may need to change namespace value if they are not using the default namespace. Once that you have resolved this error, then only the system key would change back to using the deployment ID.

  6. The following in the YAML file.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: joget-dx7-tomcat9-clusterrolebinding
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: view
    subjects:
      - kind: ServiceAccount
        name: default
        namespace: default

    is to assign the service account cluster view permission to retrieve Deployment info for the license system key.

...