{"componentChunkName":"component---src-templates-tutorial-js","path":"/en/tutorial/ApplicationFile/","result":{"data":{"markdownRemark":{"html":"<h2 id=\"make-application-files\"><a href=\"#make-application-files\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Make Application Files</h2>\n<h3 id=\"make-images\"><a href=\"#make-images\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Make Images</h3>\n<p>The traditional industry application need to be made into a Docker image first. We reconmended to make the application into Docker image by Dockerfile, please refer <a href=\"https://docs.docker.com/engine/reference/builder\" target=\"_blank\">Docker Documentation</a> to make an image.</p>\n<h3 id=\"make-yaml-files\"><a href=\"#make-yaml-files\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Make YAML Files</h3>\n<p>After making the application into Docker image, the next step is to make YAML files. The types of instance in YAML files that iManager supports to create are including Service, Deployment, Statefulset, Job, PersistentVolumeClaim, ServiceAccount, and ConfigMap.</p>\n<p>The rules of YAML please see: <a href=\"https://kubernetes.io/docs/concepts/\" target=\"_blank\">https://kubernetes.io/docs/concepts/</a></p>\n<p>Users can control the display of application by configuring the attributes ‘StatefullSet’ and ‘annotation’ in ‘Service’ instance and ‘Deployment’ instance. The supported parameters are lisetd in the <strong>Appendix</strong>.</p>\n<blockquote>\n<p>Notes:<br>\nSelect UTF-8 encoding when making YAML files.</p>\n</blockquote>\n<h3 id=\"appendix\"><a href=\"#appendix\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Appendix</h3>\n<ol>\n<li>\n<p>The attribute configuration in YAML.</p>\n<p>The annotation attribute in Service:</p>\n<table>\n<col style=\"width: 25%;\" />\n<col style=\"width: 75%;\" />\n<tr>\n<th>Name</th>\n<th>Description</th>\n</tr>\n<tr>\n<td>addressReg</td>\n<td>The format of service address, the default format is 'http://${SERVICE_IP}:${NODE_PORT}'</td>\n</tr>\n<tr>\n<td>showPorts</td>\n<td>The targetPort of the service address when a service has multiple ports</td>\n</tr>\n</table>\n<p>The labels attribute in Service:</p>\n<table>\n<col style=\"width: 25%;\" />\n<col style=\"width: 75%;\" />\n<tr class=\"t1st\">\n<th>Name</th>\n<th>Description</th>\n</tr>\n<tr>\n<td>entrance</td>\n<td>Whether to use service address as the access entrance. The service address is the access entrance when the value is true, the value is 'false' by default.</td>\n</tr>\n<tr>\n<td>entrance-port</td>\n<td>The targetPort of the access entrance when a service has multiple ports. Only works when the value of entrance is true.</td>\n</tr>\n</table>\n<p>Example:</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"gatsby-code-yaml\"><code class=\"gatsby-code-yaml\"><span class=\"token key atrule\">apiVersion</span><span class=\"token punctuation\">:</span> v1\n<span class=\"token key atrule\">kind</span><span class=\"token punctuation\">:</span> Service\n<span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> mysql\n <span class=\"token key atrule\">labels</span><span class=\"token punctuation\">:</span>\n   <span class=\"token key atrule\">entrance</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"true\"</span>\n   <span class=\"token key atrule\">entrance-port</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"3306\"</span>\n <span class=\"token key atrule\">annotations</span><span class=\"token punctuation\">:</span>\n   <span class=\"token key atrule\">addressReg</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"jdbc:mysql://mysql:3306\"</span>\n   <span class=\"token key atrule\">showPorts</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"[3306]\"</span>\n<span class=\"token key atrule\">spec</span><span class=\"token punctuation\">:</span>\n <span class=\"token key atrule\">ports</span><span class=\"token punctuation\">:</span>\n <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">port</span><span class=\"token punctuation\">:</span> <span class=\"token number\">3306</span>\n <span class=\"token key atrule\">selector</span><span class=\"token punctuation\">:</span>\n   <span class=\"token key atrule\">app</span><span class=\"token punctuation\">:</span> mysql\n <span class=\"token key atrule\">type</span><span class=\"token punctuation\">:</span> NodePort</code></pre></div>\n<p>The annotation attribute in Deployment and StatefulSet:</p>\n<table>\n<col style=\"width: 25%;\" />\n<col style=\"width: 75%;\" />\n<tr>\n<th>Name</th>\n<th>Description</th>\n</tr>\n<tr class=\"t2Row\">\n<td>scale</td>\n<td>Whether to support scaling, the value is 'yes' by default. Configure the value to 'unscalable' to hide the scaling button.</td>\n</tr>\n<tr class=\"t1Row\">\n<td>console</td>\n<td>Whether to support command pad, the value is 'yes' by default. Configure the value to 'noconsole' to hide the command pad.</td>\n</tr>\n<tr class=\"t2Row\">\n<td>description</td>\n<td>The description in the service list.</td>\n</tr>\n<tr class=\"t1Row\">\n<td>accountInfo</td>\n<td>The account information, supports html format.</td>\n</tr>\n<tr class=\"t2Row\">\n<td>topoProperty</td>\n<td>\nThe style of topological diagram, string with json format.\n<p>{<br>\n  name: the Deployment/StatefulSet name of the service.<br>\n  isPivot: whether to be the center point.<br>\n  index: sort number, ‘1’ is north side, sort by clockwise(the default is sorting by the lexicographic order of the name).<br>\n  parents: [{<br>\n    name: the Deployment/StatefulSet name of the directed service.<br>\n     description: the description of the association between services.<br>\n    }]<br>\n}</p>\n</td>\n</tr>\n</table>\n<p>Example:</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"gatsby-code-yaml\"><code class=\"gatsby-code-yaml\"><span class=\"token key atrule\">apiVersion</span><span class=\"token punctuation\">:</span> apps/v1\n<span class=\"token key atrule\">kind</span><span class=\"token punctuation\">:</span> Deployment\n<span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n <span class=\"token key atrule\">labels</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">app</span><span class=\"token punctuation\">:</span> mysql\n <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> mysql\n <span class=\"token key atrule\">annotations</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">scale</span><span class=\"token punctuation\">:</span> unscalable\n  <span class=\"token key atrule\">console</span><span class=\"token punctuation\">:</span> noconsole\n  <span class=\"token key atrule\">description</span><span class=\"token punctuation\">:</span> MySQL Database\n  <span class=\"token key atrule\">accountInfo</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"&lt;p>Username/Password:&lt;/p>&lt;p> root/supermap&lt;/p>\"</span>\n  <span class=\"token key atrule\">topoProperty</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"{'name':'mysql','isPivot':'false','index':1,'parents':[{'name':'phpmyadmin','description':'The UI of Database management}]}\"</span>\n<span class=\"token key atrule\">spec</span><span class=\"token punctuation\">:</span>\n <span class=\"token key atrule\">selector</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">matchLabels</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">app</span><span class=\"token punctuation\">:</span> mysql\n <span class=\"token key atrule\">template</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">labels</span><span class=\"token punctuation\">:</span>\n        <span class=\"token key atrule\">app</span><span class=\"token punctuation\">:</span> mysql\n  <span class=\"token key atrule\">spec</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">containers</span><span class=\"token punctuation\">:</span>\n      <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">env</span><span class=\"token punctuation\">:</span>\n        <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> MYSQL_ROOT_PASSWORD\n          <span class=\"token key atrule\">value</span><span class=\"token punctuation\">:</span> supermap\n        <span class=\"token key atrule\">image</span><span class=\"token punctuation\">:</span> registry.ispeco.com/supermap/mysql<span class=\"token punctuation\">:</span>5.7.12\n        <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> mysql\n        <span class=\"token key atrule\">imagePullPolicy</span><span class=\"token punctuation\">:</span> Always\n      <span class=\"token key atrule\">restartPolicy</span><span class=\"token punctuation\">:</span> Always</code></pre></div>\n<p>The attribute in PersistentVolumeClaim:</p>\n<table>\n<col style=\"width: 25%;\" />\n<col style=\"width: 75%;\" />\n<tr>\n<th>Name</th>\n<th>Description</th>\n</tr>\n<tr>\n<td>storageClassName</td>\n<td>The name of storageClass, the format is 'appset-storage-class-${GROUP_TYPE}'.</td>\n</tr>\n</table>\n<p>Example:</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"gatsby-code-yaml\"><code class=\"gatsby-code-yaml\"><span class=\"token key atrule\">apiVersion</span><span class=\"token punctuation\">:</span> v1\n<span class=\"token key atrule\">kind</span><span class=\"token punctuation\">:</span> PersistentVolumeClaim\n<span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n<span class=\"token key atrule\">labels</span><span class=\"token punctuation\">:</span>\n   <span class=\"token key atrule\">type</span><span class=\"token punctuation\">:</span> mysql\n<span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> pvc<span class=\"token punctuation\">-</span>nfs<span class=\"token punctuation\">-</span>mysql<span class=\"token punctuation\">-</span>data<span class=\"token punctuation\">-</span>$<span class=\"token punctuation\">{</span>appsetId<span class=\"token punctuation\">}</span>\n<span class=\"token key atrule\">spec</span><span class=\"token punctuation\">:</span>\n<span class=\"token key atrule\">storageClassName</span><span class=\"token punctuation\">:</span> appset<span class=\"token punctuation\">-</span>storage<span class=\"token punctuation\">-</span>class<span class=\"token punctuation\">-</span>$<span class=\"token punctuation\">{</span>GROUP_TYPE<span class=\"token punctuation\">}</span>\n<span class=\"token key atrule\">accessModes</span><span class=\"token punctuation\">:</span>\n  <span class=\"token punctuation\">-</span> ReadWriteMany\n<span class=\"token key atrule\">resources</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">requests</span><span class=\"token punctuation\">:</span>\n     <span class=\"token key atrule\">storage</span><span class=\"token punctuation\">:</span> 1Gi</code></pre></div>\n</li>\n<li>\n<p>Placeholder list</p>\n<p>Use the following placeholders in YAML file, the placeholders will be replaced automatically when creating applications.</p>\n<table>\n<col style=\"width: 25%;\" />\n<col style=\"width: 75%;\" />\n<tr>\n<tr class=\"t1st\">\n<th>Name</th>\n<th>Description</th>\n</tr>\n<tr class=\"t2Row\">\n<td>${appsetId}</td>\n<td>\n<p>The ID of the application  </p>\n<p>Example: the name of PersistentVolumeClaim  </p>\n<p>name: pvc-nfs-mysql-data-${appsetId}</p>\n</td>\n</tr>\n<tr class=\"t1Row\">\n<td>${SERVICE_IP}</td>\n<td>\n<p>The IP of service address  </p>\n<p>Example: add annotation in Service</p>\n<p>addressReg: “jdbc:mysql://${SERVICE_IP}:8080”</p>\n</td>\n</tr>\n<tr class=\"t2Row\">\n<td>${SERVICE_NAME}</td>\n<td>\n<p>The name of the service</p>\n<p>Example: add annotation in Service</p>\n<p>addressReg: “jdbc:mysql://${SERVICE_NAME}:8080”</p>\n</td>\n</tr>\n<tr class=\"t1Row\">\n<td>${NODE_PORT}</td>\n<td>\n<p>The nodePort of the service</p>\n<p>Example: add annotation in Service</p>\n<p>addressReg: “jdbc:mysql://127.0.0.1:${NODE_PORT}”</p>\n</td>\n</tr>\n<tr class=\"t2Row\">\n<td>${TARGET_PORT}</td>\n<td>\n<p>The targetPort of the service</p>\n<p>Example: add annotation in Service</p>\n<p>addressReg: “jdbc:mysql://127.0.0.1:${TARGET_PORT}”</p>\n</td>\n</tr>\n<tr class=\"t1Row\">\n<td>${IMAGE_PULL_POLICY}</td>\n<td>\n<p>The policy of pulling images</p>\n<p>Example: imagePullPolicy: ${IMAGE_PULL_POLICY}</p>\n</td>\n</tr>\n<td>${IMAGE_PULL_SECRET}</td>\n<td>\n<p>The image pull secret</p>\n<p>Example: imagePullSecrets:<br>\n               - name: ”${IMAGE_PULL_SECRET}”</p>\n</td>\n</tr>\n<tr class=\"t2Row\">\n<td>${REGISTRY_URL}</td>\n<td>\n<p>The registry address</p>\n<p>Example: image: ${REGISTRY_URL}supermap/mysql:5.7.12</p>\n</td>\n</tr>\n<tr class=\"t1Row\">\n<td>${GIS_APP_LIMIT_CPU}</td>\n<td>\n<p>CPU limit</p>\n<p>Example: cpu: ${GIS_APP_LIMIT_CPU}</p>\n</td>\n</tr>\n<tr class=\"t2Row\">\n<td>${GROUP_TYPE}</td>\n<td>\n<p>The group type of the application</p>\n<p>Example: storageClassName: appset-storage-class-${GROUP_TYPE}</p>\n</td>\n</tr>\n<tr class=\"t2Row\">\n<td>${NAMESPACE}</td>\n<td>\n<p>The namespace of the application</p>\n<p>Example: namespace: ${NAMESPACE}</p>\n</td>\n</tr>\n<tr class=\"t2Row\">\n<td>${custom_node_port_*}</td>\n<td>\n<p>The external port which is defined by the user, configures in nodePort in Service. After configuring the port, the user can specify the port on UI. The symbol * in the palceholder should be replaced to different names according to the different services.</p>\n</li>\n</ol>\n<p>  Example: nodePort: ${custom_node_port_mysql}</p>\n   </td>\n   </tr>\n   </table>\n<blockquote>\n<p>Notes:<br>\nIf you configure namespace in YAML file, do not write in a fixed value, please use the placeholder in the table above.</p>\n</blockquote>\n<p>   The content below is the YAML of MySQL service:</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"gatsby-code-yaml\"><code class=\"gatsby-code-yaml\"><span class=\"token key atrule\">apiVersion</span><span class=\"token punctuation\">:</span> v1\n<span class=\"token key atrule\">kind</span><span class=\"token punctuation\">:</span> PersistentVolumeClaim\n<span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">labels</span><span class=\"token punctuation\">:</span>\n       <span class=\"token key atrule\">type</span><span class=\"token punctuation\">:</span> mysql\n    <span class=\"token comment\"># the name of pvc, ${appsetId} will be replaced when creating the application</span>\n    <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> pvc<span class=\"token punctuation\">-</span>nfs<span class=\"token punctuation\">-</span>mysql<span class=\"token punctuation\">-</span>data<span class=\"token punctuation\">-</span>$<span class=\"token punctuation\">{</span>appsetId<span class=\"token punctuation\">}</span>\n<span class=\"token key atrule\">spec</span><span class=\"token punctuation\">:</span>\n   <span class=\"token comment\"># the name of storageClass, the format is appset-storage-class-${GROUP_TYPE}. ${GROUP_TYPE} will be replaced when creating the application</span>\n   <span class=\"token key atrule\">storageClassName</span><span class=\"token punctuation\">:</span> appset<span class=\"token punctuation\">-</span>storage<span class=\"token punctuation\">-</span>class<span class=\"token punctuation\">-</span>$<span class=\"token punctuation\">{</span>GROUP_TYPE<span class=\"token punctuation\">}</span>\n   <span class=\"token key atrule\">accessModes</span><span class=\"token punctuation\">:</span>\n      <span class=\"token punctuation\">-</span> ReadWriteMany\n   <span class=\"token key atrule\">resources</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">requests</span><span class=\"token punctuation\">:</span>\n         <span class=\"token key atrule\">storage</span><span class=\"token punctuation\">:</span> 1Gi\n<span class=\"token punctuation\">---</span>\n<span class=\"token key atrule\">apiVersion</span><span class=\"token punctuation\">:</span> v1\n<span class=\"token key atrule\">kind</span><span class=\"token punctuation\">:</span> Service\n<span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">labels</span><span class=\"token punctuation\">:</span>\n       <span class=\"token key atrule\">type</span><span class=\"token punctuation\">:</span> mysql\n    <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> mysql<span class=\"token punctuation\">-</span>server\n    <span class=\"token key atrule\">annotations</span><span class=\"token punctuation\">:</span>\n       <span class=\"token comment\"># The service address, ${SERVICE_IP} and ${NODE_PORT} will be replaced when creating the application</span>\n       <span class=\"token key atrule\">addressReg</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"jdbc:mysql://${SERVICE_IP}:${NODE_PORT}\"</span>\n       <span class=\"token comment\"># The targetPort of service address is 3306</span>\n       <span class=\"token key atrule\">showPorts</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"[3306]\"</span>\n<span class=\"token key atrule\">spec</span><span class=\"token punctuation\">:</span>\n   <span class=\"token key atrule\">ports</span><span class=\"token punctuation\">:</span>\n   <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">port</span><span class=\"token punctuation\">:</span> <span class=\"token number\">3307</span>\n     <span class=\"token key atrule\">targetPort</span><span class=\"token punctuation\">:</span> <span class=\"token number\">3306</span>\n     <span class=\"token key atrule\">nodePort</span><span class=\"token punctuation\">:</span> $<span class=\"token punctuation\">{</span>custom_node_port_mysql<span class=\"token punctuation\">}</span>\n   <span class=\"token key atrule\">selector</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">app</span><span class=\"token punctuation\">:</span> mysql<span class=\"token punctuation\">-</span>server\n   <span class=\"token key atrule\">type</span><span class=\"token punctuation\">:</span> NodePort\n<span class=\"token punctuation\">---</span>\n<span class=\"token key atrule\">apiVersion</span><span class=\"token punctuation\">:</span> v1\n<span class=\"token key atrule\">kind</span><span class=\"token punctuation\">:</span> Service\n<span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">labels</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">type</span><span class=\"token punctuation\">:</span> mysql\n      <span class=\"token comment\"># Use phpMyAdmin service address as the access entrance</span>\n      <span class=\"token key atrule\">entrance</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"true\"</span>\n      <span class=\"token comment\"># The targetPort of access entrance is 80</span>\n      <span class=\"token key atrule\">entrance-port</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"80\"</span>\n    <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> phpmyadmin\n<span class=\"token key atrule\">spec</span><span class=\"token punctuation\">:</span>\n   <span class=\"token key atrule\">ports</span><span class=\"token punctuation\">:</span>\n   <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">port</span><span class=\"token punctuation\">:</span> <span class=\"token number\">89</span>\n     <span class=\"token key atrule\">targetPort</span><span class=\"token punctuation\">:</span> <span class=\"token number\">80</span>\n   <span class=\"token key atrule\">selector</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">app</span><span class=\"token punctuation\">:</span> phpmyadmin\n   <span class=\"token key atrule\">type</span><span class=\"token punctuation\">:</span> NodePort\n<span class=\"token punctuation\">---</span>\n<span class=\"token key atrule\">apiVersion</span><span class=\"token punctuation\">:</span> apps/v1\n<span class=\"token key atrule\">kind</span><span class=\"token punctuation\">:</span> Deployment\n<span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n   <span class=\"token key atrule\">labels</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">app</span><span class=\"token punctuation\">:</span> mysql<span class=\"token punctuation\">-</span>server\n   <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> mysql<span class=\"token punctuation\">-</span>server\n   <span class=\"token key atrule\">annotations</span><span class=\"token punctuation\">:</span>\n      <span class=\"token comment\"># Not support scaling</span>\n      <span class=\"token key atrule\">scale</span><span class=\"token punctuation\">:</span> unscalable\n      <span class=\"token comment\"># The description of MySQL</span>\n      <span class=\"token key atrule\">description</span><span class=\"token punctuation\">:</span> MySQL Database\n      <span class=\"token comment\"># The account information of MySQL</span>\n      <span class=\"token key atrule\">accountInfo</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"&lt;p>Username/Password:&lt;/p>&lt;p> supermap/supermap&lt;/p>&lt;p> root/supermap&lt;/p>\"</span>\n      <span class=\"token comment\"># The topological diagram information</span>\n      <span class=\"token key atrule\">topoProperty</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"{'name':'mysql-server','isPivot':'false','index':1,'parents':[{'name':'phpmyadmin','description':'The UI of database management'}]}\"</span>\n<span class=\"token key atrule\">spec</span><span class=\"token punctuation\">:</span>\n   <span class=\"token key atrule\">replicas</span><span class=\"token punctuation\">:</span> <span class=\"token number\">1</span>\n   <span class=\"token key atrule\">selector</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">matchLabels</span><span class=\"token punctuation\">:</span>\n          <span class=\"token key atrule\">app</span><span class=\"token punctuation\">:</span> mysql<span class=\"token punctuation\">-</span>server\n   <span class=\"token key atrule\">template</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n          <span class=\"token key atrule\">labels</span><span class=\"token punctuation\">:</span>\n            <span class=\"token key atrule\">app</span><span class=\"token punctuation\">:</span> mysql<span class=\"token punctuation\">-</span>server\n      <span class=\"token key atrule\">spec</span><span class=\"token punctuation\">:</span>\n         <span class=\"token comment\">#The image pull secret, ${IMAGE_PULL_SECRET} will be replaced when creating the application</span>\n         <span class=\"token key atrule\">imagePullSecrets</span><span class=\"token punctuation\">:</span>\n          <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"${IMAGE_PULL_SECRET}\"</span>\n         <span class=\"token key atrule\">containers</span><span class=\"token punctuation\">:</span>\n          <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">env</span><span class=\"token punctuation\">:</span>\n            <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> MYSQL_DATABASE\n              <span class=\"token key atrule\">value</span><span class=\"token punctuation\">:</span> supermap\n            <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> MYSQL_PASSWORD\n              <span class=\"token key atrule\">value</span><span class=\"token punctuation\">:</span> supermap\n            <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> MYSQL_ROOT_PASSWORD\n              <span class=\"token key atrule\">value</span><span class=\"token punctuation\">:</span> supermap\n            <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> MYSQL_USER\n              <span class=\"token key atrule\">value</span><span class=\"token punctuation\">:</span> supermap\n            <span class=\"token comment\"># ${REGISTRY_URL} will be replaced when creating the application</span>\n            <span class=\"token key atrule\">image</span><span class=\"token punctuation\">:</span> $<span class=\"token punctuation\">{</span>REGISTRY_URL<span class=\"token punctuation\">}</span>supermap/mysql<span class=\"token punctuation\">:</span>5.7.12\n            <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> mysql<span class=\"token punctuation\">-</span>server\n            <span class=\"token comment\"># The policy of pulling images, ${IMAGE_PULL_POLICY} will be replaced when creating the application</span>\n            <span class=\"token key atrule\">imagePullPolicy</span><span class=\"token punctuation\">:</span> $<span class=\"token punctuation\">{</span>IMAGE_PULL_POLICY<span class=\"token punctuation\">}</span>\n            <span class=\"token comment\"># CPU resource limit, ${GIS_APP_LIMIT_CPU} will be replaced when creating the application</span>\n            <span class=\"token key atrule\">resources</span><span class=\"token punctuation\">:</span>\n                <span class=\"token key atrule\">limits</span><span class=\"token punctuation\">:</span>\n                   <span class=\"token key atrule\">cpu</span><span class=\"token punctuation\">:</span> $<span class=\"token punctuation\">{</span>GIS_APP_LIMIT_CPU<span class=\"token punctuation\">}</span>\n                <span class=\"token key atrule\">requests</span><span class=\"token punctuation\">:</span>\n                   <span class=\"token key atrule\">cpu</span><span class=\"token punctuation\">:</span> 300m\n            <span class=\"token key atrule\">volumeMounts</span><span class=\"token punctuation\">:</span>\n              <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">mountPath</span><span class=\"token punctuation\">:</span> /var/lib/mysql\n                <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> mysql<span class=\"token punctuation\">-</span>volume\n         <span class=\"token key atrule\">restartPolicy</span><span class=\"token punctuation\">:</span> Always\n         <span class=\"token key atrule\">volumes</span><span class=\"token punctuation\">:</span>\n            <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> mysql<span class=\"token punctuation\">-</span>volume\n              <span class=\"token key atrule\">persistentVolumeClaim</span><span class=\"token punctuation\">:</span>\n                 <span class=\"token key atrule\">claimName</span><span class=\"token punctuation\">:</span> pvc<span class=\"token punctuation\">-</span>nfs<span class=\"token punctuation\">-</span>mysql<span class=\"token punctuation\">-</span>data<span class=\"token punctuation\">-</span>$<span class=\"token punctuation\">{</span>appsetId<span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">---</span>\n<span class=\"token key atrule\">apiVersion</span><span class=\"token punctuation\">:</span> apps/v1\n<span class=\"token key atrule\">kind</span><span class=\"token punctuation\">:</span> Deployment\n<span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">labels</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">app</span><span class=\"token punctuation\">:</span> phpmyadmin\n    <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> phpmyadmin\n    <span class=\"token key atrule\">annotations</span><span class=\"token punctuation\">:</span>\n       <span class=\"token comment\"># Not support scaling</span>\n       <span class=\"token key atrule\">scale</span><span class=\"token punctuation\">:</span> unscalable\n       <span class=\"token comment\"># Not support command pad</span>\n       <span class=\"token key atrule\">console</span><span class=\"token punctuation\">:</span> noconsole\n       <span class=\"token comment\"># The description of phpMyAdmin</span>\n       <span class=\"token key atrule\">description</span><span class=\"token punctuation\">:</span> The Web client of MySQL\n       <span class=\"token comment\"># Topological diagram information</span>\n       <span class=\"token key atrule\">topoProperty</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"{'name':'phpmyadmin','isPivot':'false','index':2,'parents':[]}\"</span>\n       <span class=\"token comment\"># Account information</span>\n       <span class=\"token key atrule\">accountInfo</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"&lt;p>Username/Password:&lt;/p>&lt;p> supermap/supermap&lt;/p>&lt;p> root/supermap&lt;/p>\"</span>\n<span class=\"token key atrule\">spec</span><span class=\"token punctuation\">:</span>\n   <span class=\"token key atrule\">replicas</span><span class=\"token punctuation\">:</span> <span class=\"token number\">1</span>\n   <span class=\"token key atrule\">selector</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">matchLabels</span><span class=\"token punctuation\">:</span>\n          <span class=\"token key atrule\">app</span><span class=\"token punctuation\">:</span> phpmyadmin\n   <span class=\"token key atrule\">template</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n          <span class=\"token key atrule\">labels</span><span class=\"token punctuation\">:</span>\n            <span class=\"token key atrule\">app</span><span class=\"token punctuation\">:</span> phpmyadmin\n      <span class=\"token key atrule\">spec</span><span class=\"token punctuation\">:</span>\n         <span class=\"token key atrule\">containers</span><span class=\"token punctuation\">:</span>\n         <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">env</span><span class=\"token punctuation\">:</span>\n           <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> PMA_HOST\n             <span class=\"token key atrule\">value</span><span class=\"token punctuation\">:</span> mysql<span class=\"token punctuation\">-</span>server\n           <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> PMA_PORT\n             <span class=\"token key atrule\">value</span><span class=\"token punctuation\">:</span> <span class=\"token string\">\"3307\"</span>\n           <span class=\"token key atrule\">image</span><span class=\"token punctuation\">:</span> $<span class=\"token punctuation\">{</span>REGISTRY_URL<span class=\"token punctuation\">}</span>supermap/phpmyadmin<span class=\"token punctuation\">:</span><span class=\"token number\">4.6</span>\n           <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> phpmyadmin\n           <span class=\"token key atrule\">imagePullPolicy</span><span class=\"token punctuation\">:</span> $<span class=\"token punctuation\">{</span>IMAGE_PULL_POLICY<span class=\"token punctuation\">}</span>\n           <span class=\"token key atrule\">ports</span><span class=\"token punctuation\">:</span>\n             <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">containerPort</span><span class=\"token punctuation\">:</span> <span class=\"token number\">80</span>\n         <span class=\"token key atrule\">restartPolicy</span><span class=\"token punctuation\">:</span> Always</code></pre></div>\n<p>   \n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/iManager_K8S/1014/static/1b8678239252b3c0a6e89e7c459f4648/bb051/diyserviceListen.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 840px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 59.523809523809526%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABdklEQVQoz31SW07DMBD0VaBN/Fp7d20nTaB8cArEH9wBiV+OztgFqQjEaLuZrPflSc328Fi2c+Tmc5mnaTr+hxij956IQgjgRp/eTq8f+vy+vHxkrsHOx2myrmOeZzvPznaCtu4K84DJLFyWoGvUDcPRGC21FlUFZ5HWGg3UWkspeMWDYsRwo6Vs2y7MRHFZ2mldRSQRIWnf95RAO0evWtt62lJmWGaFmaxN13POTCnhdL87r9uO42VZ7+/PzIx6zER3LCjIrFtue253IMb66FJxITprbUiW1CZ1MWN51KCyh0PAPW2IlhhHDp4E3hyA21v8DoNd2eFmAMLg8qEDDx9HI3wU76y56O6/Eb6yPDIgD4bjlb4RYREGl2AGGSyKS7JWliLDX1RBHHIOnuHRCiHuaoksu9TVQMYsJZcGPZJUcBD4BGNNFyKFKI3Z6aJ/X4CoF0PIrvaIpXGeMeon6C/0O2MfLC8DOjAu23ocf4zawFEff+ETPCOAgLZ587IAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"diyservicelist\"\n        title=\"\"\n        src=\"/iManager_K8S/1014/static/1b8678239252b3c0a6e89e7c459f4648/1e088/diyserviceListen.png\"\n        srcset=\"/iManager_K8S/1014/static/1b8678239252b3c0a6e89e7c459f4648/65ed1/diyserviceListen.png 210w,\n/iManager_K8S/1014/static/1b8678239252b3c0a6e89e7c459f4648/d10fb/diyserviceListen.png 420w,\n/iManager_K8S/1014/static/1b8678239252b3c0a6e89e7c459f4648/1e088/diyserviceListen.png 840w,\n/iManager_K8S/1014/static/1b8678239252b3c0a6e89e7c459f4648/bb051/diyserviceListen.png 1212w\"\n        sizes=\"(max-width: 840px) 100vw, 840px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<p>   \n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/iManager_K8S/1014/static/ef4f239a53d81e189155297b6a7bc184/f09ab/diymongodben.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 840px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 66.66666666666666%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABXklEQVQoz3VSi5KDIAz0U6q2FRESgoDW+///ug1U727muhPpkgd5tVvXtZTinBvH8f4BMCzLYq2F22wMGMR71zHzvu94IioEv9CknEUk5ww9zuM4cCWisu0pF+LAIeLa4du2LSf4lxAQvDKpFQghkPJQSo4iyLywOI7Wi6U4z3M3DEPfMFT0Peo/aX+73R6PxzRNc4Mx1pjp+XzcR2NM15p520BODlttRDO4E74CZPGES4dmUCEUxELrRrLC6j3BqVXu36BQIRJUnXYKsWuNqb8kjZHo6tstg5Iqmu2CUoujBnPwQTQnyokJHElVSYx6wCHufOtqAEen29PgqGlRPIA1VImpSMoe7YRo62h+AcOx2HOoFdYnkJwjvJuU11d5HdAgv+6sjoDrEjlt2nNKSQeGtiVp8yrcxGGk+Jq1Da2iMZ12DUZ7SBvJ/wHRj8L9B/17sqwUM521XeeFT8HfGmeJjYL7FNEAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"diymysql\"\n        title=\"\"\n        src=\"/iManager_K8S/1014/static/ef4f239a53d81e189155297b6a7bc184/1e088/diymongodben.png\"\n        srcset=\"/iManager_K8S/1014/static/ef4f239a53d81e189155297b6a7bc184/65ed1/diymongodben.png 210w,\n/iManager_K8S/1014/static/ef4f239a53d81e189155297b6a7bc184/d10fb/diymongodben.png 420w,\n/iManager_K8S/1014/static/ef4f239a53d81e189155297b6a7bc184/1e088/diymongodben.png 840w,\n/iManager_K8S/1014/static/ef4f239a53d81e189155297b6a7bc184/f09ab/diymongodben.png 1250w\"\n        sizes=\"(max-width: 840px) 100vw, 840px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<p>   \n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/iManager_K8S/1014/static/945919404d5da718f20c7eb90de1aff2/d48f1/diytopoen.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 796px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 104.28571428571429%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAVCAIAAADJt1n/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABNklEQVQ4y9VUy26DMBDkPyIF8K6fYGPslAhCpBCpao4999r//4cuSYN6KFRw6witZncZkPfh5KVphmHoTqe+74mEOgCAUiqE4KwtyzLE6L03xtShLoqiqqra+xCicy7RWtMbpjCUsNaSjMSccyJSSiHESJR6ELIUVHdQMmET4G4A8A5gwAXSA2NsDE52QoK/giPLwUXtDooIziDBeXChGUr60DoxnTndp5fbcHu/pfuM3LXi7HLtXt/Oq8XfAMwztpCfFT+6TY2Z6r9O/Ojzxj//V7EisUTADRMGNNp8qVMLYi5cd7TdkUuFM92amTDBs13WfvTt5znf5eSuP7NRQgvcMiQMCqeNVbTj+Nzjn/v8h9hU0nhJNRNP0IaQmfjSYgCVmkGroTkcIiHEKpaxqWMcXbq2vgAsvLnSy4KYMgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"diytopo\"\n        title=\"\"\n        src=\"/iManager_K8S/1014/static/945919404d5da718f20c7eb90de1aff2/d48f1/diytopoen.png\"\n        srcset=\"/iManager_K8S/1014/static/945919404d5da718f20c7eb90de1aff2/65ed1/diytopoen.png 210w,\n/iManager_K8S/1014/static/945919404d5da718f20c7eb90de1aff2/d10fb/diytopoen.png 420w,\n/iManager_K8S/1014/static/945919404d5da718f20c7eb90de1aff2/d48f1/diytopoen.png 796w\"\n        sizes=\"(max-width: 796px) 100vw, 796px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>","frontmatter":{"title":"Tutorial","next":null,"prev":null},"fields":{"path":"content/tutorial/ApplicationFile.en.md","slug":"/en/tutorial/ApplicationFile/","langKey":"en"}}},"pageContext":{"slug":"/en/tutorial/ApplicationFile/"}}}