Container DNS Hostnames
4 min read
DNS Hostnames for Direct Connection to Containers #
Kemudahan dalam menghubungkan layanan ke Cloud adalah hal yang sangat penting bagi semua developer. Di Jagoan Cloud, setiap node yang baru dibuat akan langsung mendapatkan beberapa hostname yang dihasilkan secara otomatis, dan diarahkan ke IP internal atau eksternal dari server yang sesuai.
Tergantung pada jenis node yang dibuat, kumpulan hostname-nya bisa berbeda-beda. Berikut ini adalah beberapa cara yang bisa digunakan untuk merujuk ke suatu node di platform, baik dari dalam Cloud (misalnya melalui SSH Gate) maupun dari luar Cloud :
1. Hostname untuk Container Tertentu
- Hostname Tambahan untuk Jenis Node Tertentu
- Hostname untuk Layer Spesifik
- Hostname Singkat untuk Container dalam Satu Environment
- Hostname untuk Container yang Saling Terhubung (Linked Containers)
Hostname for Specific Containers #
Setiap container di Jagoan Cloud dapat diakses melalui alamat IP internalnya dengan URL dalam format berikut :
- env-node${nodeId}.jh-beon.cloud
Keterangan:
- ${nodeId} adalah ID unik berbentuk angka yang otomatis diberikan ke setiap container dalam platform.

URL tersebut bisa digunakan untuk merujuk ke node, baik dari dalam platform maupun dari luar (artinya bisa digunakan untuk koneksi internal maupun eksternal).
Supplementary Hostnames for Particular Node Types #
Beberapa stack bersertifikat dari platform disediakan dengan prefix hostname tambahan (yaitu, menggunakan nama stack yang sesuai alih-alih string node) untuk mempermudah manajemennya.
đ NOTE
Prefix tambahan seperti itu hanya berlaku dalam domain yang menggunakan tanda hubung (hyphen) sebagai pemisah.

Semua string domain alternatif yang ditampilkan dalam tabel di atas dapat digunakan dengan cara yang sama seperti hostname untuk kontainer tertentu.
Hostnames for Specific Layers #
Untuk environment baru, Kamu bisa mendapatkan semua alamat IP internal dari container dalam satu node layer menggunakan hostname berikut:
${nodeGroup}.${envName}.${platformDomain}
Di sini, placeholder ${nodeGroup} adalah nama dari layer tertentu tempat kontainer yang dibutuhkan berada. Secara default, layer dinamai sesuai dengan peran spesifik dari nodeGroup tersebut.
đ NOTE
Grup node yang ditambahkan melalui extra layers di Topology Wizard akan dinamai dengan cara yang sama, tetapi ditambahkan indeks ${N} yang sesuai.Adapun layer default di Topology Wizard (misalnya: bl, cp, sqldb, dll.) dianggap sebagai indeks pertama, sehingga penomoran pada extra layers dimulai dari indeks kedua, contohnya cp2, cp3, cp4, ⌠(Kecuali untuk layer dengan nama extra, extra2, extra3, dan seterusnya, yang memiliki pola penamaan berbeda.)
Contoh :

Sebagai contoh, perintah berikut dapat digunakan untuk mendapatkan daftar application server dari suatu environment di dalam platform:

Setiap kali container baru dibuat (atau dihapus) dalam sistem, catatan yang sesuai secara otomatis ditambahkan ke (atau dihapus dari) DNS untuk hostname layer tersebut.
Short Hostnames for Containers within One Environment #
Semua container Docker yang baru dibuat serta stack yang dikelola platform dengan Docker disediakan dengan aturan DNS khusus, yang memungkinkan penggunaan hostname yang lebih sederhana :
- node${nodeId} â alias untuk merujuk ke sebuah container dalam satu environment
- ${nodeGroup} â alias untuk merujuk ke satu layer dalam satu environment
Menggunakan hostname singkat seperti ini dalam file konfigurasi server, application source code, dan konsol SSH (dalam perintah umum seperti ping, host, dig, dll.) membuat pengoperasian stack Docker di jaringan internal Jagoan Cloud menjadi jauh lebih nyaman.Â
Hostnames for Linked Containers #
Saat dua layer environment berbasis Docker di-link, serangkaian catatan DNS khusus akan otomatis ditambahkan ke database global platform. Hal ini memungkinkan untuk merujuk ke node dalam layer target dari layer sumber (tapi tidak sebaliknya), dengan menggunakan alias hostname berikut:
- ${linkAlias} â untuk merujuk ke node acak dalam layer target; node yang merespons akan dipilih menggunakan algoritma Round-Robin, yang memastikan distribusi beban merata
- ${linkAlias}_${N} â untuk mengakses container tertentu dalam layer target
Placeholder berikut harus diganti dengan nilai yang sesuai:
- ${linkAlias} â nama link yang ditentukan saat pengaturannya (misalnya: tomcat dalam contoh gambar)
(((gambar)))
- ${N} â nomor indeks nominal (dalam rentang 1âŚN) dari container tertentu di dalam layer target yang telah di-link (contoh: tomcat_1, tomcat_2, dll). Di sini, container master selalu dianggap sebagai instance pertama (_1), sedangkan sisa node dalam layer akan diberi nomor berdasarkan nilai nodeID mereka, diurutkan secara menaik dimulai dari indeks _2, _3, _4, dan seterusnya.
Contoh:
Jika ada tiga container dalam satu layer, dengan ID: 123, 124 (master), 125. Maka, berdasarkan aturan di atas, alias akan ditetapkan sebagai berikut:
- alias_1 â mengarah ke container dengan ID 124 sebagai master node
- alias_2 â menunjuk ke instance dengan ID 123, karena ini ID terkecil di antara sisanya
- alias_3 â mengarah ke container 125 sebagai node berikutnya dengan ID terkecil selanjutnya
đĄ TIP
Dengan menambahkan domain environment ke alias ${linkAlias}.${envName}.${platformDomain}, nama layer yang ter-link dapat di-resolve dan diakses secara eksternal, yaitu dari mana saja melalui Internet.Sedangkan dengan ${linkAlias}_${N}, container tertentu dari layer yang ter-link hanya bisa di-resolve secara internal, yaitu hanya bisa diakses di dalam jaringan antar layer yang telah di-link.
Sekarang, Kamu sudah mengetahui semua detail dan pintasan yang bisa digunakan untuk merujuk ke node-mu. Ini akan sangat membantu dalam mengatur koneksi antar instance aplikasi dengan cepat dan efisien.
Powered by BetterDocs
