ການສ້າງ environment ໃໝ່ພາຍໃນ Huk-Com Cloud PaaS ສາມາດເຮັດໄດ້ໂດຍອັດຕະໂນມັດ ເຊິ່ງມີຫຼາຍວິທີທີ່ແຕກຕ່າງກັນເຊັ່ນການໃຊ້ CLI ໂດຍກົງຜ່ານ API request ຫຼືປະກາດພາຣາມິເຕີທີ່ເໝາະສົມຜ່ານ JPS manifest ເຖິງແມ່ນວ່າຈະເປັນການດໍາເນີນການທີ່ຂ້ອນຂ້າງງ່າຍແຕ່ສາມາດລວມພາຣາມິເຕີຕ່າງໆໄດ້ຫຼວງຫຼາຍສໍາລັບການກໍານົດໂທໂພໂລຢີທີ່ຖືກຕ້ອງ
ດັ່ງນັ້ນດ້ານລຸ່ມນີ້ເຮົາຈະອະທິບາຍການຕິດຕັ້ງທັງໝົດ ແລະ ຍົກຕົວຢ່າງການນໍາໃຊ້ CLI ໂດຍແບ່ງອອກເປັນ 3 ສ່ວນຫຼັກໆຕາມ array ຂອງເມທອດ ~/jelastic/environment/control/createenvironment ໂດຍຕັ້ງຊື່ຕາມປະເພດຂອງ array ທີ່ເໝາະສົມ – ສອງລາຍການທົ່ວໄປ ແລະ ລາຍການພາຣາມິເຕີສະເພາະສໍາລັບການສ້າງຄອນເທັນເນີ Docker:
ການກໍານົດຄ່າທົ່ວໄປສໍາລັບ Environment
ພາຣາມິເຕີດ້ານລຸ່ມ ຕ້ອງລະບຸພາຍໃນອາເຣ env (CLI command ຫຼືໄຟລ JSON) ແລະ ກໍານົດຄ່າ environment ທໄ່ວໄປເຊັ່ນພາສາໂປຣແກຣມ ຊື່ພູມພາກ ແລະ ອື່ນໆ:
ຊື່ | ຄໍາອະທິບາຍ | ປະເພດ | ຕົວຢ່າງ Value | ຂໍ້ບັງຄັບ |
---|---|---|---|---|
region | Environment region | string | ຊື່ region ທີ່ຕ້ອງການ – ຂຶ້ນຢູ່ກັບການຕັ້ງຄ່າຂອງຜູ້ໃຫ້ບໍລິການ | no |
ishaenabled | High Availability | boolean | true, false ໝາຍເຫດ: ໃຊ້ໄດ້ກັບ Tomcat 6/7, Jetty6, TomEE, GlassFish3 ເທົ່ານັ້ນ | no |
engine | ເວີຊັ່ນຂອງພາສາໂປຣແກຣມ | string | java6, java7, java8, php5.3, php5.4, php5.5, etc. | yes (ຍົກເວັ້ນ Docker-based environments) |
displayName | Environment alias | string | my-env-alias | no |
sslstate | SSL | boolean | true, false | no |
shortdomain | ຊື່ environment ທີ່ຈະສ້າງ | string | my-cli-env | yes |
ຍົກຕົວຢ່າງເຊັ່ນ: –env ‘{“region”: “default_hn_group”, “ishaenabled”: “false”, “engine”: “java7”, “displayName”: “my-env-alias”, “sslstate”: “true”, “shortdomain”: “my-cli-env”}’
ການກໍານົດຄ່າໂໜດ
ใໃນສ່ວນຂອງ nodes ສາມາດປັບການຕັ້ງຄ່າໃຫ້ລະອຽດຫຼາຍຂຶ້ນເພື່ອກໍານົດພາຣາມິເຕີຂອງເຊີບເວີທີ່ປະກອບດ້ວຍ ປະເພດ ຈໍານວນ ຈໍານວນ reserved/dynamic cloudlets ທີ່ກໍານົດໄວ້ ແລະ ອື່ນໆ
ຊື່ | ຄໍາອະທິບາຍ | ປະເພດ | ຕົວຢ່າງ Value | ຂໍ້ບັງຄັບ |
---|---|---|---|---|
extip | Public IP | boolean | true, false | no |
count | ຈໍານວນຂອງໂໜດ | integer | 1, 2, 3, … | no |
fixedCloudlets | ຈໍານວນຂອງ cloudlets ທີ່ກໍານົດ | integer | 1, 2, 3, … | yes |
flexibleCloudlets | ຈໍານວນຂອງ cloudlets ທີ່ປ່ຽນແປງໄດ້ | integer | 1, 2, 3, … ແຕ່ບໍ່ສາມາດໜ້ອຍກວ່າ fixedCloudlets | yes |
displayName | ໂໜດຂອງຊື່ສົມມຸດ | string | my-node-alias | no |
nodeType | ປະເພດຂອງສະແຕັກ | string | docker, tomcat6, tomcat7, tomee, mysql5, apache2, nginxphp, etc. (ເບິ່ງລາຍການທີ່ມີຢູ່ທັງໝົດທີ່ນີ້) | yes |
docker | ລາຍການຂອງການຕັ້ງຄ່າ Docker Container | array | ກວດສອບສ່ວນທີ່ກ່ຽວຂ້ອງດ້ານລຸ່ມນີ້ | ສໍາລັບ docker nodeType ໂດຍສະເພາະ |
ຍົກຕົວຢ່າງເຊັ່ນ nodes ‘[{“extip”: “true”, “count”: “2”, “fixedCloudlets”: “16”, “flexibleCloudlets”: “32”, “displayName”: “my-node-alias”, “nodeType”: “docker”, “docker”: {…}}]’
ການກໍານົດຄ່າ Docker-Based Environment
ໃນສ່ວນຂອງ docker ມີຈຸດປະສົງເພື່ອລະບຸພາຣາມິເຕີ docker ຄອນເທັນເນີແບບພິເສດເຊິ່ງຈໍາເປັນສໍາລັບການ deploy
ຊື່ | ຄໍາອະທິບາຍ | ປະເພດ | ຕົວຢ່າງ Value | ຂໍ້ບັງຄັບ |
---|---|---|---|---|
cmd | Run command configuration | string | run.sh | no |
image | ຊື່ Docker image ພ້ອມກັບ tag version (ບໍ່ບັງຄັບ) | string | ubuntu, tutum/apache-php, jelastic/tomcat8:latest, etc. | yes |
nodeGroup | Environment layer ທີ່ image ຄວນວາງໄວ້ | string | cp – application server bl – load balancer nosqldb – noSQL database sqldb – SQl database cache – cache node storage – storage node | no (ຫາກບໍ່ລະບຸ image ຈະຖືກເພີ່ມໄປທີ່ Extra layer) |
links | Linking parameters | array | ອະທິບາຍໃນລາຍການດ້ານລຸ່ມ | no |
env | ລາຍການຂອງ environment variables | object | ອະທິບາຍໃນລາຍການດ້ານລຸ່ມ | no |
registry | ຂໍ້ມູນສ່ວນຕົວສໍາລັບ private registry | array | ອະທິບາຍໃນລາຍການດ້ານລຸ່ມ | no |
volumes | ລາຍການຂອງ volumes | array | ອະທິບາຍໃນລາຍການດ້ານລຸ່ມ | no |
volumeMounts | ລາຍການຂອງໄດເຣັກທໍຣີ mounted data | array | ອະທິບາຍໃນລາຍການດ້ານລຸ່ມ | no |
volumesFrom | ລາຍການໂໜດທີ່ຈະຄັດລອກການຕັ້ງຕ່າ volume ຈາກ | array | ອະທິບາຍໃນລາຍການດ້ານລຸ່ມ | no |
ຍົກຕົວຢ່າງເຊັ່ນ docker”: {“cmd”: “run.sh”, “image”: “jelastic/tomcat8:latest”, “nodeGroup”: “cp”, “links”: […], “env”: {…}, “registry”: {…}, “volumes”: […], “volumeMounts”: {…}, “volumesFrom”: [{…}]}
- ການກໍານົດຄ່າ linking – ສໍາລັບສ້າງການເຊື່ອມຕໍ່ລະຫວ່າງ Docker container ໃນຂອບເຂດຂອງ environment ດຽວ
ຊື່ | ຄໍາອະທິບາຍ | ປະເພດ | ຕົວຢ່າງ Value | ຂໍ້ບັງຄັບ |
---|---|---|---|---|
– | ກໍານົດເລເຢີ/ໂໜດ ອິນສະແຕນປະຈຸບັນທີ່ຄວນເຊື່ອມໂຍງ ແລະ ຕັ້ງຄ່ານາມສົມມຸດສໍາລັບບັນໂດນີ້ | string | sqldb:DB, cp:alias | no |
ຍົກຕົວຢ່າງເຊັ່ນ “links”: [“cp:alias”, “sqldb:DB”]
- ການກໍານົດ environment variables – ສໍາລັບລະບຸຕົວແປ environment ໃນ Docker container
ຊື່ | ຄໍາອະທິບາຍ | ປະເພດ | ຕົວຢ່າງ Value | ຂໍ້ບັງຄັບ |
---|---|---|---|---|
custom_variable_name | ຕັ້ງຄ່າ environment variables | string | var1 value1 (ສະຕຣິງທັງໝົດຫຼັງຈາກຊ່ອງວ່າງທໍາອິດຈະເປັນ value) ລວມເຖິງການເວັ້ນວັກ ແລະ ເຄື່ອງໝາຍຄໍາເວົ້າ) var2=value1 \value2 \value3 (ສໍາລັບການຕັ້ງຄ່າຫຼາຍຄ່າ array ໃນທີ່ນີ້ຈະໃຊ້ເຄື່ອງໝາຍແທນຄໍາເວົ້າ ແລະ backslashes ເປັນຕົວຂັ້ນ) | no |
ຍົກຕົວຢ່າງເຊັ່ນ “env”: [{“var1”: “value1”}, {“var2”: “value1 \value2 \value3”}]
- ການກໍານົດຄ່າ registry – ສໍາລັບການເຊື່ອມຕໍ່ໄປທີ່ private registry
ຊື່ | ຄໍາອະທິບາຍ | ປະເພດ | ຕົວຢ່າງ Value | ຂໍ້ບັງຄັບ |
---|---|---|---|---|
password | ລະຫັດຜ່ານໄປທີ່ private registry | string | password | ສະເພາະກໍລະນີທີ່ທ່ານໃຊ້ private registry |
user | ຊື່ຜູ້ນໍາໃຊ້ private registry | string | admin | ສະເພາະກໍລະນີທີ່ທ່ານໃຊ້ private registry |
url | URLໄປທີ່ private registry | string | http://example.com/private-registry | ສະເພາະກໍລະນີທີ່ທ່ານໃຊ້ private registry |
ຍົກຕົວຢ່າງເຊັ່ນ“env”: [{“var1”: “value1”}, {“var2”: “value1 \value2 \value3”}]“registry”: {“password”: “passw0rd”, “user”: “admin”, “url”: “http://example.com/private-registry”}
- local volumes – ລາຍການ volumes ທີ່ຈະສ້າງລະບົບໄຟລໃນເຄື່ອງ docker container
ຊື່ | ຄໍາອະທິບາຍ | ປະເພດ | ຕົວຢ່າງ Value | ຂໍ້ບັງຄັບ |
---|---|---|---|---|
custom_path | Local volume path | string | /my_custom_volume | no |
ຍົກຕົວຢ່າງເຊັ່ນ “volumes”: [“/volume1”, “/volume2”, “/volume3”**]
- mount points – ກຸ່ມຂອງພາຣາມິເຕີທີ່ກໍານົດໂຟລເດີພ້ອມຂໍ້ມູນທີ່ຕ້ອງແນບຈາກເຊີບເວີອື່ນ
ຊື່ | ຄໍາອະທິບາຍ | ປະເພດ | ຕົວຢ່າງ Value | ຂໍ້ບັງຄັບ |
---|---|---|---|---|
local_path | ເສັ້ນທາງຂອງ mounted data ທີ່ຈະອ້າງອີງ | array | /mounted_data | yes |
sourcePath | ເສັ້ນທາງໄປທີ່ໄດເຣັກທໍຣີຂອງຂໍ້ມູນທີ່ຈໍາເປັນໃນ remote server | string | */required_data *if not defined, is stated equal to local_path (for remote storage server) | no |
sourceNodeId | Node ID ສໍາລັບ storage container | integer | 459315 | yes ໃນກໍລະນີທີ່ບໍ່ໄດ້ລະບຸ sourceNodeGroup ຫຼື sourceHost |
sourceNodeGroup | Environment layer ສະເພາະພາຍໃນ environment ປະຈຸບັນ | string | cp – application server bl – load balancer nosqldb – noSQL database sqldb – SQl database cache – cache node storage – storage node | yes ໃນກໍລະນີທີ່ບໍ່ໄດ້ລະບຸ sourceNodeId ຫຼື sourceHost |
sourceHost | Public IP ຫຼືໂດເມນຂອງ Data Storage server ພາຍນອກ | string | 195.67.231.39 | yes ໃນກໍລະນີທີ່ບໍ່ໄດ້ລະບຸ sourceNodeGroup ຫຼື sourceNodeId |
readOnly | ກໍານົດສິດ read only or read & write ສໍາລັບໂໜດ client | boolean | true is false by default | no |
ຍົກຕົວຢ່າງເຊັ່ນ “volumeMaunts”: {“/data”: {“sourcePath”: “/exported”, “sourceNodeId”: “693215”, “readOnly”: “true”}}
- account volumes – ລາຍການໂໜດໃນບັນຊີປະຈຸບັນສໍາລັບ volumes ທີ່ນໍາເຂົ້າຈາກ
ຊື່ | ຄໍາອະທິບາຍ | ປະເພດ | ຕົວຢ່າງ Value | ຂໍ້ບັງຄັບ |
---|---|---|---|---|
sourceNodeId | ID ຂອງ storage container | integer | 81725 | yes ໃນກໍລະນີທີ່ບໍ່ໄດ້ລະບຸ sourceNodeGroup |
sourceNodeGroup | Environment layer ສະເພາະພາຍໃນ environment ປະຈຸບັນ | string | cp – application server bl – load balancer nosqldb – noSQL database sqldb – SQl database cache – cache node storage – storage node | yes ໃນກໍລະນີທີ່ບໍ່ໄດ້ລະບຸ sourceNodeId |
volumes | ລາຍການ volumes ທີ່ຈະexport | string | */volume *If not specified, all volumes on a node will be exported | no |
readOnly | ກໍານົດສິດ read only or read & write ສໍາລັບໂໜດ client | boolean | true(states in false by default) | no |
ຍົກຕົວຢ່າງເຊັ່ນ “volumesFrom”: [{“sourceNodeGroup”: “cp”, “volumes”: [“/master”, “/local”], “readOnly”: “true”}]