Lewati ke konten utama

Parameter untuk API CreateEnvironment

Pembuatan environment baru pada platform dapat diotomatisasi dengan berbagai cara, misalnya dengan bantuan platform CLI, melalui permintaan API langsung atau dengan menyatakan parameter yang sesuai melalui manifest JPS. Dalam hal ini, meskipun mewakili operasi yang cukup sederhana, ini dapat mencakup sejumlah parameter berbeda untuk definisi topologi yang tepat.

Berikut ini kami memberikan deskripsi untuk semua pengaturan tersebut dengan contoh penggunaannya melalui CLI. Mereka dibagi menjadi 3 bagian utama sebagai array dari metode ~/jelastic/environment/control/createenvironment, dinamai sesuai dengan denominasi array yang sesuai - dua yang umum dan daftar parameter khusus untuk pembuatan container Docker:

Konfigurasi Common Environment

Parameter di bawah ini harus ditentukan dalam array env (dari perintah CLI atau file JSON) dan mendefinisikan konfigurasi environment yang paling umum, seperti programming language, name, region, dan lainnya:

NamaDeskripsiTipeContoh NilaiWajib
regionRegion environmentstringNama region yang dibutuhkan - tergantung pada pengaturan penyedia layanan hosting.tidak
ishaenabledHigh Availabilitybooleantrue, false
Catatan: Berlaku hanya untuk Tomcat 6/7, Jetty6, TomEE, GlassFish3tidak
engineVersi programming languagestringjava6, java7, java8, php5.3, php5.4, php5.5, dll.ya (kecuali environment berbasis Docker)
displayNameAlias environmentstringmy-env-aliastidak
sslstateBuilt-In SSLbooleantrue, falsetidak
shortdomainNama untuk environment yang akan dibuatstringmy-cli-envya

Contoh:

env '{"region": "default_hn_group", "ishaenabled": "false", "engine": "java7", "displayName": "my-env-alias", "sslstate": "true", "shortdomain": "my-cli-env"}'   

Konfigurasi Nodes

Dalam bagian nodes, penyesuaian yang lebih halus dapat dilakukan untuk mendefinisikan parameter server yang terdiri, seperti type, amount, jumlah cloudlet reserved/dynamic yang dialokasikan, dan lainnya:

NamaDeskripsiTipeContoh NilaiWajib
extipPublic IPbooleantrue, falsetidak
countJumlah nodesinteger1, 2, 3, …tidak
fixedCloudletsJumlah cloudlet tetapinteger1, 2, 3, …ya
flexibleCloudletsJumlah cloudlet fleksibelinteger1, 2, 3, … tetapi tidak bisa kurang dari fixedCloudletsya
displayNameNama alias Nodestringmy-node-aliastidak
nodeTypeJenis stackstringdocker, tomcat6, tomcat7, tomee, mysql5, apache2, nginxphp, dll. (lihat daftar lengkap nilai yang tersedia di sini)ya
dockerDaftar pengaturan container Dockerarraycek bagian yang sesuai di bawahhanya untuk docker nodeType

Contoh:

nodes '[{"extip": "true", "count": "2", "fixedCloudlets": "16", "flexibleCloudlets": "32", "displayName": "my-node-alias", "nodeType": "docker", "docker": {...}}]'   

Konfigurasi Docker-Based Environment

Subbagian docker dimaksudkan untuk menyatakan parameter khusus container Docker yang diperlukan untuk deployment-nya.

NamaDeskripsiTipeContoh NilaiWajib
cmdKonfigurasi Run commandstringrun.shtidak
imageNama image Docker dengan versi tag (opsional)stringubuntu, tutum/apache-php, jelastic/tomcat8:latest, dll.ya
nodeGroupLayer environment tempat image seharusnya ditempatkanstringcp - application server
bl - load balancer
nosqldb - noSQL database
sqldb - SQl database
cache - cache node
storage - storage nodetidak (jika tidak ditentukan, image akan ditambahkan ke layer Extra)
linksParameter Linkingarraydijelaskan dalam daftar expandable di bawah initidak
envDaftar environment variablesobjekdijelaskan dalam daftar expandable di bawah initidak
registryKredensial untuk registri pribadiarraydijelaskan dalam daftar expandable di bawah initidak
volumesDaftar volumes lokalarraydijelaskan dalam daftar expandable di bawah initidak
volumeMountsDaftar direktori data mountedarraydijelaskan dalam daftar expandable di bawah initidak
volumesFromDaftar node untuk menyalin pengaturan volume dariarraydijelaskan dalam daftar expandable di bawah initidak

Contoh:

"docker": {"cmd": "run.sh", "image": "jelastic/tomcat8:latest", "nodeGroup": "cp", "links": [...], "env": {...}, "registry": {...}, "volumes": [...], "volumeMounts": {...}, "volumesFrom": [{...}]}   
  • linking configuration - untuk membangun koneksi antara container Docker dalam batasan satu environment
NamaDeskripsiTipeContoh NilaiWajib
-mendefinisikan layer/node yang seharusnya dihubungkan dengan instance saat ini dan menetapkan alias untuk bundel inistringsqldb:DB, cp:aliastidak

Contoh:

"links": ["cp:alias", "sqldb:DB"]   
  • environment variables configuration - untuk menetapkan environment variables dalam container Docker
NamaDeskripsiTipeContoh NilaiWajib
custom_variable_nameMenetapkan environment variablesstringvar1 value1 (seluruh string setelah spasi pertama akan dianggap sebagai nilai, termasuk spasi dan tanda kutip) var2=value1\value2\value3 (untuk menetapkan beberapa nilai sekaligus, yaitu untuk membuat array; di sini, tanda kutip dan garis miring digunakan sebagai pemisah)tidak

Contoh:

"env": {"var1": "value1", "var2": "value1\value2\value3"}   
  • registry configuration - untuk koneksi ke registri pribadi
NamaDeskripsiTipeContoh NilaiWajib
passwordPassword untuk registri pribadistringpassw0rdhanya jika Anda menggunakan registri pribadi
userNama pengguna dari registri pribadistringadminhanya jika Anda menggunakan registri pribadi
urlURL ke registri pribadistringhttp://example.com/private-registryhanya jika Anda menggunakan registri pribadi

Contoh:

"registry": {"password": "passw0rd", "user": "admin", "url": "http://example.com/private-registry"}   
  • local volumes - daftar volume yang akan dibuat dalam sistem file lokal dari container Docker
NamaDeskripsiTipeContoh NilaiWajib
custom_pathJalur volume lokalstring/my_custom_volumetidak

Contoh:

"volumes": ["/volume1", "/volume2", "/volume3"]   
  • mount points - serangkaian parameter yang menentukan folder dengan data yang diperlukan untuk dilampirkan dari server lain
NamaDeskripsiTipeContoh NilaiWajib
local_pathJalur lokal yang dirujuk data yang dipasangarray/mounted_dataya
sourcePathJalur ke direktori data yang diperlukan di server jarak jauhstring/required_data
jika tidak ditentukan, dinyatakan sama dengan local_path (untuk server penyimpanan jarak jauh)tidak
sourceNodeIdNode ID dari container penyimpananinteger459315ya dalam hal tidak ada yang sourceNodeGroup atau sourceHost yang ditentukan
sourceNodeGroupLayer environment tertentu dalam environment saat inistringcp - application server
bl - load balancer
nosqldb - noSQL database
sqldb - SQl database
cache - cache node
storage - storage nodeya dalam hal tidak ada yang sourceNodeId atau sourceHost yang ditentukan
sourceHostIP Publik atau domain dari server Penyimpanan Data eksternalstring195.67.231.39ya dalam hal tidak ada yang sourceNodeGroup atau sourceNodeId yang ditentukan
readOnlyMenentukan hak read only atau read & write untuk client nodebooleantrue adalah false secara defaulttidak

Contoh:

"volumeMaunts": {"/data": {"sourcePath": "/exported", "sourceNodeId": "693215", "readOnly": "true"}}   
  • account volumes - daftar node di akun saat ini untuk volume yang akan diimpor
NamaDeskripsiTipeContoh NilaiWajib
sourceNodeIdID dari container penyimpananinteger81725ya, jika tidak ada yang sourceNodeGroup yang ditentukan
sourceNodeGroupLayer environment tertentu dalam environment saat inistringcp - application server
bl - load balancer
nosqldb - noSQL database
sqldb - SQl database
cache - cache node
storage - storage nodeya, jika tidak ada yang sourceNodeId yang ditentukan
volumesDaftar volume untuk dieksporstring/volume
Jika tidak ditentukan, semua volume pada node akan dieksportidak
readOnlyMenentukan hak read only atau read & write untuk client nodebooleantrue (ditetapkan menjadi false secara default)tidak

Contoh:

"volumesFrom": [{"sourceNodeGroup": "cp", "volumes": ["/master", "/local"], "readOnly": "true"}]   

Baca Juga