Runtime aplikasi adalah lingkungan tempat aplikasi dijalankan.
Aplikasi Buildpack | Aplikasi Image Container | |
---|---|---|
Library sistem | Disediakan oleh Stack | Disediakan dalam penampung |
Akses jaringan | Akses penuh melalui sidecar Envoy | Akses penuh melalui sidecar Envoy |
Sistem file | Penyimpanan efemeral | Penyimpanan efemeral |
Runtime bahasa | Disediakan oleh Stack atau Buildpack | Di-build ke dalam penampung |
Pengguna | Ditentukan oleh Stack | Ditentukan di penampung |
Mekanisme isolasi | Pod Kubernetes | Pod Kubernetes |
DNS | Disediakan oleh Kubernetes | Disediakan oleh Kubernetes |
Variabel lingkungan
Variabel lingkungan dimasukkan ke dalam aplikasi saat runtime oleh Kubernetes. Variabel ditambahkan berdasarkan urutan berikut, dengan nilai berikutnya menggantikan nilai sebelumnya dengan nama yang sama:
- Ruang (ditetapkan oleh administrator)
- Aplikasi (ditetapkan oleh developer)
- Sistem (ditetapkan oleh Kf)
Kf menyediakan variabel lingkungan sistem berikut:
Variabel | Tujuan |
---|---|
CF_INSTANCE_ADDR |
IP:PORT instance Aplikasi yang terlihat cluster. |
CF_INSTANCE_GUID |
UUID instance Aplikasi. |
INSTANCE_GUID |
Alias dari CF_INSTANCE_GUID . |
CF_INSTANCE_INDEX |
Nomor indeks instance Aplikasi, ini AKAN SELALU 0. |
INSTANCE_INDEX |
Alias dari CF_INSTANCE_INDEX . |
CF_INSTANCE_IP |
IP instance Aplikasi yang terlihat cluster. |
CF_INSTANCE_INTERNAL_IP |
Alias CF_INSTANCE_IP |
VCAP_APP_HOST |
Alias CF_INSTANCE_IP |
CF_INSTANCE_PORT |
Port instance Aplikasi yang terlihat cluster. Di Kf, ini sama dengan PORT . |
DATABASE_URL |
URI pertama yang ditemukan dalam kredensial VCAP_SERVICES . |
LANG |
Diperlukan oleh Buildpack untuk memastikan urutan pemuatan skrip yang konsisten. |
MEMORY_LIMIT |
Jumlah maksimum memori dalam MB yang dapat digunakan Aplikasi. |
PORT |
Port yang akan diproses oleh Aplikasi untuk permintaan. |
VCAP_APP_PORT |
Alias dari PORT . |
VCAP_APPLICATION |
Struktur JSON yang berisi metadata Aplikasi. |
VCAP_SERVICES |
Struktur JSON yang menentukan layanan terikat. |
Kredensial layanan dari layanan terikat dimasukkan ke dalam Aplikasi melalui variabel lingkungan VCAP_SERVICES
. Variabel ini adalah objek JSON yang valid dengan
struktur berikut.
VCAPServices
Objek JSON dengan kunci berupa Label layanan dan nilainya adalah array
VCAPService
. Array mewakili setiap layanan
terikat dengan label tersebut.
Layanan yang disediakan pengguna
ditempatkan di bawah label user-provided
.
Contoh
{
"mysql": [...],
"postgresql": [...],
"user-provided": [...]
}
VCAPService
Jenis ini mewakili satu instance layanan terikat.
Contoh
{
"binding_name": string,
"instance_name": string,
"name": string,
"label": string,
"tags": string[],
"plan": string,
"credentials": object
}
Kolom
Kolom | Jenis | Deskripsi |
---|---|---|
binding_name |
string |
Nama yang ditetapkan ke binding layanan oleh pengguna. |
instance_name |
string |
Nama yang ditetapkan ke instance layanan oleh pengguna. |
name |
string |
binding_name jika ada; jika tidak, instance_name . |
label |
string |
Nama penawaran layanan. |
tags |
string[] |
Array string yang dapat digunakan aplikasi untuk mengidentifikasi instance layanan. |
plan |
string[] |
Paket layanan yang dipilih saat instance layanan dibuat. |
credentials |
object |
Kredensial khusus layanan yang diperlukan untuk mengakses instance layanan. |
VCAP_APPLICATION
Variabel lingkunganVCAP_APPLICATION
adalah objek JSON yang berisi metadata tentang Aplikasi.
Contoh
{
"application_id": "12345",
"application_name": "my-app",
"application_uris": ["my-app.example.com"],
"limits": {
"disk": 1024,
"mem": 256
},
"name": "my-app",
"process_id": "12345",
"process_type": "web",
"space_name": "my-ns",
"uris": ["my-app.example.com"]
}
Kolom
Kolom | Jenis | Deskripsi |
---|---|---|
application_id |
string |
GUID yang mengidentifikasi Aplikasi. |
application_name |
string |
Nama yang ditetapkan ke Aplikasi saat di-push. |
application_uris |
string[] |
URI yang ditetapkan ke Aplikasi. |
limits |
object |
Batas kapasitas disk dan memori yang diizinkan untuk Aplikasi. Batas memori dan kapasitas disk disediakan saat Aplikasi di-deploy, baik di command line maupun di manifes Aplikasi. Batas disk dan memori direpresentasikan sebagai bilangan bulat, dengan asumsi satuan MB. |
name |
string |
Sama dengan application_name . |
process_id |
string |
UID yang mengidentifikasi proses. Hanya ada di penampung Aplikasi yang berjalan. |
process_type |
string |
Jenis proses. Hanya ada di penampung Aplikasi yang berjalan. |
space_name |
string |
Nama Ruang yang dapat dibaca manusia tempat Aplikasi di-deploy. |
uris |
string[] |
Sama dengan application_uris . |
Kolom Tidak Ada
Beberapa kolom di VCAP_APPLICATION
yang ada di Cloud Foundry saat ini tidak didukung di Kf.
Selain kolom khusus CF dan kolom yang tidak digunakan lagi (cf_api
, host
, users
), kolom yang tidak didukung di Kf adalah:
application_version
(identik denganversion
)organization_id
organization_name
space_id
start
(identik denganstarted_at
)started_at_timestamp
(identik denganstate_timestamp
)