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:
Nama | Deskripsi | Tipe | Contoh Nilai | Wajib |
---|---|---|---|---|
region | Region environment | string | Nama region yang dibutuhkan - tergantung pada pengaturan penyedia layanan hosting. | tidak |
ishaenabled | High Availability | boolean | true, false | |
Catatan: Berlaku hanya untuk Tomcat 6/7, Jetty6, TomEE, GlassFish3 | tidak | |||
engine | Versi programming language | string | java6, java7, java8, php5.3, php5.4, php5.5, dll. | ya (kecuali environment berbasis Docker) |
displayName | Alias environment | string | my-env-alias | tidak |
sslstate | Built-In SSL | boolean | true, false | tidak |
shortdomain | Nama untuk environment yang akan dibuat | string | my-cli-env | ya |
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:
Nama | Deskripsi | Tipe | Contoh Nilai | Wajib |
---|---|---|---|---|
extip | Public IP | boolean | true, false | tidak |
count | Jumlah nodes | integer | 1, 2, 3, … | tidak |
fixedCloudlets | Jumlah cloudlet tetap | integer | 1, 2, 3, … | ya |
flexibleCloudlets | Jumlah cloudlet fleksibel | integer | 1, 2, 3, … tetapi tidak bisa kurang dari fixedCloudlets | ya |
displayName | Nama alias Node | string | my-node-alias | tidak |
nodeType | Jenis stack | string | docker, tomcat6, tomcat7, tomee, mysql5, apache2, nginxphp, dll. (lihat daftar lengkap nilai yang tersedia di sini) | ya |
docker | Daftar pengaturan container Docker | array | cek bagian yang sesuai di bawah | hanya 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.
Nama | Deskripsi | Tipe | Contoh Nilai | Wajib |
---|---|---|---|---|
cmd | Konfigurasi Run command | string | run.sh | tidak |
image | Nama image Docker dengan versi tag (opsional) | string | ubuntu, tutum/apache-php, jelastic/tomcat8:latest, dll. | ya |
nodeGroup | Layer environment tempat image seharusnya ditempatkan | string | cp - application server | |
bl - load balancer | ||||
nosqldb - noSQL database | ||||
sqldb - SQl database | ||||
cache - cache node | ||||
storage - storage node | tidak (jika tidak ditentukan, image akan ditambahkan ke layer Extra) | |||
links | Parameter Linking | array | dijelaskan dalam daftar expandable di bawah ini | tidak |
env | Daftar environment variables | objek | dijelaskan dalam daftar expandable di bawah ini | tidak |
registry | Kredensial untuk registri pribadi | array | dijelaskan dalam daftar expandable di bawah ini | tidak |
volumes | Daftar volumes lokal | array | dijelaskan dalam daftar expandable di bawah ini | tidak |
volumeMounts | Daftar direktori data mounted | array | dijelaskan dalam daftar expandable di bawah ini | tidak |
volumesFrom | Daftar node untuk menyalin pengaturan volume dari | array | dijelaskan dalam daftar expandable di bawah ini | tidak |
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
Nama | Deskripsi | Tipe | Contoh Nilai | Wajib |
---|---|---|---|---|
- | mendefinisikan layer/node yang seharusnya dihubungkan dengan instance saat ini dan menetapkan alias untuk bundel ini | string | sqldb:DB, cp:alias | tidak |
Contoh:
"links": ["cp:alias", "sqldb:DB"]
- environment variables configuration - untuk menetapkan environment variables dalam container Docker
Nama | Deskripsi | Tipe | Contoh Nilai | Wajib |
---|---|---|---|---|
custom_variable_name | Menetapkan environment variables | string | var1 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
Nama | Deskripsi | Tipe | Contoh Nilai | Wajib |
---|---|---|---|---|
password | Password untuk registri pribadi | string | passw0rd | hanya jika Anda menggunakan registri pribadi |
user | Nama pengguna dari registri pribadi | string | admin | hanya jika Anda menggunakan registri pribadi |
url | URL ke registri pribadi | string | http://example.com/private-registry | hanya 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
Nama | Deskripsi | Tipe | Contoh Nilai | Wajib |
---|---|---|---|---|
custom_path | Jalur volume lokal | string | /my_custom_volume | tidak |
Contoh:
"volumes": ["/volume1", "/volume2", "/volume3"]
- mount points - serangkaian parameter yang menentukan folder dengan data yang diperlukan untuk dilampirkan dari server lain
Nama | Deskripsi | Tipe | Contoh Nilai | Wajib |
---|---|---|---|---|
local_path | Jalur lokal yang dirujuk data yang dipasang | array | /mounted_data | ya |
sourcePath | Jalur ke direktori data yang diperlukan di server jarak jauh | string | /required_data | |
jika tidak ditentukan, dinyatakan sama dengan local_path (untuk server penyimpanan jarak jauh) | tidak | |||
sourceNodeId | Node ID dari container penyimpanan | integer | 459315 | ya dalam hal tidak ada yang sourceNodeGroup atau sourceHost yang ditentukan |
sourceNodeGroup | Layer environment tertentu dalam environment saat ini | string | cp - application server | |
bl - load balancer | ||||
nosqldb - noSQL database | ||||
sqldb - SQl database | ||||
cache - cache node | ||||
storage - storage node | ya dalam hal tidak ada yang sourceNodeId atau sourceHost yang ditentukan | |||
sourceHost | IP Publik atau domain dari server Penyimpanan Data eksternal | string | 195.67.231.39 | ya dalam hal tidak ada yang sourceNodeGroup atau sourceNodeId yang ditentukan |
readOnly | Menentukan hak read only atau read & write untuk client node | boolean | true adalah false secara default | tidak |
Contoh:
"volumeMaunts": {"/data": {"sourcePath": "/exported", "sourceNodeId": "693215", "readOnly": "true"}}
- account volumes - daftar node di akun saat ini untuk volume yang akan diimpor
Nama | Deskripsi | Tipe | Contoh Nilai | Wajib |
---|---|---|---|---|
sourceNodeId | ID dari container penyimpanan | integer | 81725 | ya, jika tidak ada yang sourceNodeGroup yang ditentukan |
sourceNodeGroup | Layer environment tertentu dalam environment saat ini | string | cp - application server | |
bl - load balancer | ||||
nosqldb - noSQL database | ||||
sqldb - SQl database | ||||
cache - cache node | ||||
storage - storage node | ya, jika tidak ada yang sourceNodeId yang ditentukan | |||
volumes | Daftar volume untuk diekspor | string | /volume | |
Jika tidak ditentukan, semua volume pada node akan diekspor | tidak | |||
readOnly | Menentukan hak read only atau read & write untuk client node | boolean | true (ditetapkan menjadi false secara default) | tidak |
Contoh:
"volumesFrom": [{"sourceNodeGroup": "cp", "volumes": ["/master", "/local"], "readOnly": "true"}]