Parameters for CreateEnvironment API

ການສ້າງ 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ຂໍ້ບັງຄັບ
regionEnvironment regionstringຊື່ region ທີ່ຕ້ອງການ – ຂຶ້ນຢູ່ກັບການຕັ້ງຄ່າຂອງຜູ້ໃຫ້ບໍລິການno
ishaenabledHigh Availabilitybooleantrue, false
ໝາຍເຫດ: ໃຊ້ໄດ້ກັບ Tomcat 6/7, Jetty6, TomEE, GlassFish3 ເທົ່ານັ້ນ
no
engineເວີຊັ່ນຂອງພາສາໂປຣແກຣມstringjava6, java7, java8, php5.3, php5.4, php5.5, etc.yes (ຍົກເວັ້ນ Docker-based environments)
displayNameEnvironment aliasstringmy-env-aliasno
sslstateSSLbooleantrue, falseno
shortdomainຊື່ environment ທີ່ຈະສ້າງstringmy-cli-envyes

ຍົກຕົວຢ່າງເຊັ່ນ: –env ‘{“region”: “default_hn_group”, “ishaenabled”: “false”, “engine”: “java7”, “displayName”: “my-env-alias”, “sslstate”: “true”, “shortdomain”: “my-cli-env”}’

ການກໍານົດຄ່າໂໜດ

ใໃນສ່ວນຂອງ nodes ສາມາດປັບການຕັ້ງຄ່າໃຫ້ລະອຽດຫຼາຍຂຶ້ນເພື່ອກໍານົດພາຣາມິເຕີຂອງເຊີບເວີທີ່ປະກອບດ້ວຍ ປະເພດ ຈໍານວນ ຈໍານວນ reserved/dynamic cloudlets ທີ່ກໍານົດໄວ້ ແລະ ອື່ນໆ

ຊື່ຄໍາອະທິບາຍປະເພດຕົວຢ່າງ Valueຂໍ້ບັງຄັບ
extipPublic IPbooleantrue, falseno
countຈໍານວນຂອງໂໜດinteger1, 2, 3, …no
fixedCloudletsຈໍານວນຂອງ cloudlets ທີ່ກໍານົດinteger1, 2, 3, …yes
flexibleCloudletsຈໍານວນຂອງ cloudlets ທີ່ປ່ຽນແປງໄດ້integer1, 2, 3, … ແຕ່ບໍ່ສາມາດໜ້ອຍກວ່າ fixedCloudletsyes
displayNameໂໜດຂອງຊື່ສົມມຸດstringmy-node-aliasno
nodeTypeປະເພດຂອງສະແຕັກstringdocker, tomcat6, tomcat7, tomee, mysql5, apache2, nginxphp, etc. (ເບິ່ງລາຍການທີ່ມີຢູ່ທັງໝົດທີ່ນີ້)yes
dockerລາຍການຂອງການຕັ້ງຄ່າ Docker Containerarrayກວດສອບສ່ວນທີ່ກ່ຽວຂ້ອງດ້ານລຸ່ມນີ້ສໍາລັບ 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ຂໍ້ບັງຄັບ
cmdRun command configurationstringrun.shno
imageຊື່ Docker image ພ້ອມກັບ tag version (ບໍ່ບັງຄັບ)stringubuntu, tutum/apache-php, jelastic/tomcat8:latest, etc.yes
nodeGroupEnvironment layer ທີ່ image ຄວນວາງໄວ້stringcp – application server
bl – load balancer
nosqldb – noSQL database
sqldb – SQl database
cache – cache node
storage – storage node
no (ຫາກບໍ່ລະບຸ image ຈະຖືກເພີ່ມໄປທີ່ Extra layer)
linksLinking parametersarrayອະທິບາຍໃນລາຍການດ້ານລຸ່ມno
envລາຍການຂອງ environment variablesobjectອະທິບາຍໃນລາຍການດ້ານລຸ່ມno
registryຂໍ້ມູນສ່ວນຕົວສໍາລັບ private registryarrayອະທິບາຍໃນລາຍການດ້ານລຸ່ມno
volumesລາຍການຂອງ volumesarrayອະທິບາຍໃນລາຍການດ້ານລຸ່ມno
volumeMountsລາຍການຂອງໄດເຣັກທໍຣີ mounted dataarrayອະທິບາຍໃນລາຍການດ້ານລຸ່ມ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ຂໍ້ບັງຄັບ
ກໍານົດເລເຢີ/ໂໜດ ອິນສະແຕນປະຈຸບັນທີ່ຄວນເຊື່ອມໂຍງ ແລະ ຕັ້ງຄ່ານາມສົມມຸດສໍາລັບບັນໂດນີ້stringsqldb:DB, cp:aliasno

ຍົກຕົວຢ່າງເຊັ່ນ “links”: [“cp:alias”, “sqldb:DB”]

  • ການກໍານົດ environment variables – ສໍາລັບລະບຸຕົວແປ environment ໃນ Docker container
ຊື່ຄໍາອະທິບາຍປະເພດຕົວຢ່າງ Valueຂໍ້ບັງຄັບ
custom_variable_nameຕັ້ງຄ່າ environment variablesstringvar1 value1 (ສະຕຣິງທັງໝົດຫຼັງຈາກຊ່ອງວ່າງທໍາອິດຈະເປັນ value) ລວມເຖິງການເວັ້ນວັກ ແລະ ເຄື່ອງໝາຍຄໍາເວົ້າ) var2=value1 \value2 \value3 (ສໍາລັບການຕັ້ງຄ່າຫຼາຍຄ່າ array ໃນທີ່ນີ້ຈະໃຊ້ເຄື່ອງໝາຍແທນຄໍາເວົ້າ ແລະ backslashes ເປັນຕົວຂັ້ນ)no

ຍົກຕົວຢ່າງເຊັ່ນ “env”: [{“var1”: “value1”}, {“var2”: “value1 \value2 \value3”}]

  • ການກໍານົດຄ່າ registry – ສໍາລັບການເຊື່ອມຕໍ່ໄປທີ່ private registry
ຊື່ຄໍາອະທິບາຍປະເພດຕົວຢ່າງ Valueຂໍ້ບັງຄັບ
passwordລະຫັດຜ່ານໄປທີ່ private registrystringpasswordສະເພາະກໍລະນີທີ່ທ່ານໃຊ້ private registry
userຊື່ຜູ້ນໍາໃຊ້ private registrystringadminສະເພາະກໍລະນີທີ່ທ່ານໃຊ້ private registry
urlURLໄປທີ່ private registrystringhttp://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_pathLocal volume pathstring/my_custom_volumeno

ຍົກຕົວຢ່າງເຊັ່ນ “volumes”: [“/volume1”, “/volume2”, “/volume3”**]

  • mount points – ກຸ່ມຂອງພາຣາມິເຕີທີ່ກໍານົດໂຟລເດີພ້ອມຂໍ້ມູນທີ່ຕ້ອງແນບຈາກເຊີບເວີອື່ນ
ຊື່ຄໍາອະທິບາຍປະເພດຕົວຢ່າງ Valueຂໍ້ບັງຄັບ
local_pathເສັ້ນທາງຂອງ mounted data ທີ່ຈະອ້າງອີງarray/mounted_datayes
sourcePathເສັ້ນທາງໄປທີ່ໄດເຣັກທໍຣີຂອງຂໍ້ມູນທີ່ຈໍາເປັນໃນ remote serverstring*/required_data
*if not defined, is stated equal to local_path (for remote storage server)
no
sourceNodeIdNode ID ສໍາລັບ storage containerinteger459315yes ໃນກໍລະນີທີ່ບໍ່ໄດ້ລະບຸ sourceNodeGroup ຫຼື sourceHost
sourceNodeGroupEnvironment layer ສະເພາະພາຍໃນ environment ປະຈຸບັນstringcp – application server
bl – load balancer
nosqldb – noSQL database
sqldb – SQl database
cache – cache node
storage – storage node
yes ໃນກໍລະນີທີ່ບໍ່ໄດ້ລະບຸ sourceNodeId ຫຼື sourceHost
sourceHostPublic IP ຫຼືໂດເມນຂອງ Data Storage server ພາຍນອກstring195.67.231.39yes ໃນກໍລະນີທີ່ບໍ່ໄດ້ລະບຸ sourceNodeGroup ຫຼື sourceNodeId
readOnlyກໍານົດສິດ read only or read & write ສໍາລັບໂໜດ clientbooleantrue is false by defaultno

ຍົກຕົວຢ່າງເຊັ່ນ “volumeMaunts”: {“/data”: {“sourcePath”: “/exported”, “sourceNodeId”: “693215”, “readOnly”: “true”}}

  • account volumes – ລາຍການໂໜດໃນບັນຊີປະຈຸບັນສໍາລັບ volumes ທີ່ນໍາເຂົ້າຈາກ
ຊື່ຄໍາອະທິບາຍປະເພດຕົວຢ່າງ Valueຂໍ້ບັງຄັບ
sourceNodeIdID ຂອງ storage containerinteger81725yes ໃນກໍລະນີທີ່ບໍ່ໄດ້ລະບຸ sourceNodeGroup
sourceNodeGroupEnvironment layer ສະເພາະພາຍໃນ environment ປະຈຸບັນstringcp – application server
bl – load balancer
nosqldb – noSQL database
sqldb – SQl database
cache – cache node
storage – storage node
yes ໃນກໍລະນີທີ່ບໍ່ໄດ້ລະບຸ sourceNodeId
volumesລາຍການ volumes ທີ່ຈະexportstring*/volume
*If not specified, all volumes on a node will be exported
no
readOnlyກໍານົດສິດ read only or read & write ສໍາລັບໂໜດ clientbooleantrue(states in false by default)no

ຍົກຕົວຢ່າງເຊັ່ນ “volumesFrom”: [{“sourceNodeGroup”: “cp”, “volumes”: [“/master”, “/local”], “readOnly”: “true”}]