Runtime aplikasi adalah lingkungan tempat aplikasi dijalankan.
Aplikasi Buildpack | Aplikasi Image Container | |
---|---|---|
Library sistem | Disediakan oleh Tumpukan | Disediakan di container |
Akses jaringan | Akses penuh melalui bantuan Envoy | Akses penuh melalui bantuan Envoy |
Sistem file | Penyimpanan efemeral | Penyimpanan efemeral |
Runtime bahasa | Disediakan oleh Stack atau Buildpack | Dibangun ke dalam container |
Pengguna | Ditentukan oleh Tumpukan | Ditentukan pada 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 yang terlihat oleh cluster dari instance Aplikasi. |
CF_INSTANCE_GUID |
UUID instance Aplikasi. |
INSTANCE_GUID |
Alias dari CF_INSTANCE_GUID . |
CF_INSTANCE_INDEX |
Nomor indeks instance Aplikasi, ini SELALU 0. |
INSTANCE_INDEX |
Alias dari CF_INSTANCE_INDEX . |
CF_INSTANCE_IP |
IP yang terlihat pada cluster dari instance Aplikasi. |
CF_INSTANCE_INTERNAL_IP |
Alias dari CF_INSTANCE_IP |
VCAP_APP_HOST |
Alias dari CF_INSTANCE_IP |
CF_INSTANCE_PORT |
Port instance Aplikasi yang terlihat oleh cluster. Di Kf, ini sama dengan PORT . |
DATABASE_URL |
URI pertama ditemukan dalam kredensial VCAP_SERVICES . |
LANG |
Diperlukan oleh Buildpacks untuk memastikan urutan pemuatan skrip yang konsisten. |
MEMORY_LIMIT |
Jumlah maksimum memori dalam MB yang dapat digunakan oleh Aplikasi. |
PORT |
Port tempat Aplikasi harus memproses 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 adalah objek JSON yang valid dengan struktur berikut.
VCAPServices
Objek JSON dengan kuncinya adalah label Layanan dan nilainya adalah array dari 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 service binding 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 dipilih saat instance layanan dibuat. |
credentials |
object |
Kredensial khusus layanan yang diperlukan untuk mengakses instance layanan. |
VCAP_APPLICATION
Variabel lingkungan VCAP_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 dikirim. |
application_uris |
string[] |
URI yang ditetapkan untuk Aplikasi. |
limits |
object |
Batas kapasitas disk dan memori yang diizinkan untuk Aplikasi. Batas ruang disk dan memori diberikan saat Aplikasi di-deploy, baik pada command line atau dalam 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 container Aplikasi yang berjalan. |
process_type |
string |
Jenis proses. Hanya ada di container 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 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
)