kembali lagi dengan saya, kali ini saya sendiri akan memposting hasil oprekan saya selama kurun waktu 2 minggu lebih dan baru work akhir akhir ini, ya saya akan memposting sebuah tutorial yaitu cluster pada docker, karena masih anget-anget nya ni docker baru 3 tahunan lebih, saya berusaha mempelajari nya meskipun saya baru berhasil untuk cluster ini, dan juga proses nya agak sedikit membingung kan dari segala masalah yang terjadi ketika konfig. 


nah saya akan jelaskan menurut yang saya ketahui: apakah itu cluster dan juga teman teman yang bersangkutan dengan nya: 
Di buat nya cluster ini bertujuan untuk mengimbangkan beban yang ada pada sebuah virtualisasi, kenapa saya bila mengimbangkan karena, si  cluster ini membuat beberapa server visik yang berbeda, bergabung menjadi satu secara logika, nah dengan ini server virtualisasi akan mempunyai power yang lebih baik ketimbang satu, karena proses di seimbangkan dengan server yang lain nya, si cluster ini juga menjadi salah satu syarat untuk membuat sebuah manager docker, apakah pake shipyard dan juga yang lain nya, jadi dengan membuat sebuah cluster ini otomatis sudah menyelesaikan syarat membuat sebuah manager nantinya, ya docker cluster ini selama saya oprek kemarin, menggunakan tiga port yang sering di jumpai yaitu, 2375, 4000, 8500, tiga port ini dominan di gunakan untuk mendaftarkan sebuah node ke server yang mengatur cluster tersebut, saya asumsikan port ini berfungsi sebagai mempermuadh masuk nya data ke jaringan yang dnat dengan tujuan port nya langsung. 

Hal-hal yang harus di persiapkan dan juga yang lain nya: 
1. Membuat 3 server (bisa menggunakan simulasi=virtual) 
2. Masing-masing server sudah terinstall docker engine
3. Buat 1 server sebagai manager dan 2 server sebagai node yang ingin kita gabungkan 
4. Teliti dan jangan mudah menyerah (karena saya dua minggu lebih baru jadi wkwk) 
5. Koneksi internet karena nanti ada beberapa tahap kita harus mendownload sebuah kontainer/images
6. Saya sendiri menggunakan ip dari rentan 192.168.80.200 s/d 202.
7. Sedia Cemilan supaya enggak kelaperan. 

Beberapa persiapan sudah saya sebutkan di situ, sekarang kita masuk pada tahap tahap konfigurasi. 

1. Sekarang kita buka directory /etc/default/docker di situ kita akan seting supaya node ini secara default mengarah pada manager

2. Untuk node yang kedua juga sama caranya, hanya sesusaikan dengan address nya jangan sampai salah, karena nanti node nya enggak mau ingklude.

3. ya setelah itu masukkan perintah sebagai berikut (sudah saya tandai)
DOCKER _OPTS=" -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
--cluster-store=consul://192.168.80.200:8500
--cluster-advertise=192.168.168.80.202:2375
saya akan jelaskan masih masing fungsi perintah semampu saya dan juga singkat:
DOCKER_OPTS=" -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock = docker_opts adalah jenis perintah apa yang digunakan, -H menyatakan host, tcp adalah protokol yang di gunakan, 2375 jenis port yang di gunakan, ///var/run/docker.sock  direktory yang di tuju.
--cluster-store=consul://192.168.80.200:8500 = --cluster-store merupakan sebuah perintah yang menyatakan tujuan cluster bergabung nya kemana, //192.168.80.200:2375 merupakah tujuan dari cluster berlabuh dan 2375 port yang ingin di gunakan. 
--cluster-advertise=192.168.80.202:2375 = kalo yang tadi berlabuh, nah kalo sekarang perintah tersebut ini untuk memberikan permintaan ke tempat berlabuh bahwa 202 ini mau malakukan join dan juga status join nya tersebut.
Nah itu lah penjelasan versi saya hehee: semoga dapat menjawab rasa penasaran pembaca atas perintah-perintah tersebut.

4. Untuk langkah ke 4 ini caranya sama tetapi untuk address nya di sesuaikan.

5. Setelah kita mengedit directory docker yang berada pada /etc/default, sekarang kita restart service docker nya, supaya konfigurasi yang tadi kita tambahkan dapat terupdate, untuk perintah nya anda bisa menggunakan perintah service docker restart. 

6. Sekarang kita beralih ke server tempat berlabuh alias manager (dicovery backend), nah server ini lah yang menjadi pengatur lah istilah nya (pusat/central), jadi node node tersebut akan bergabung melalui media manager ini, untuk menerima dan mengatur node node yang lain nya, kita butuh container yang bernama progrium/consul, nah untuk konfigurasi nya dan juga mendapatkan container progrium ini anda bisa menggunakan perintah di bawah ini. 
run -d --restart=always  --name=consul -h consul -p 8500:8500 progrium/consul -server -bootstrap
setelah menjalankan perintah ini bagi anda yang sebelum nya belum oprek alias fress nanti akan ada proses download sebuah image/container, itu alasan nya saya menyarankan anda memakai internet untuk oprek cluster ini, tetapi ada cara lain sebagai catatan saya belum mecoba yaitu: anda bisa mengunduh kontainer tersebut secara terpisah dengan menggunakan perintah docker pull progrium/consul itu cara lain nya dan belum saya coba. 
beberapa perintah yang saya tau maksud nya :
--restart=always : maksud dari perintah tersebut kurang lebih seperti ini, perintah tersebut di gunakan supaya pada saat kita melakukan restart di container ini akan berjalan secara otomatis. 
--name=consul : perintah ini di gunakan untuk memberikan nama image tersebut. 
8500:8500 : itu adalah jenis port yang digunakan
progrium/consul itu adalah nama container yang digunakan atau yang ingin di jalankan (kalau belum ada nanti dia akan melakukan proses pencarian container tersebut dan nanti akan di download) 

7. Nah kalo tadi progrium/consul, kalo sekarang swarm manage/manager, fungsi nya si swarm-manage ini untuk mengatur swarm nantinya (node yang akan masuk), untuk mengatur tersebut dia menggunakan bantuan port 4000 nanti pas pengecekan node nya undah masuk atau enggak juga menggunakan port ini, berikut perintah anda bisa lihat ss dan juga tulisan saya 
docker run -d --restart=always --name swarm-manager -h swarm-manager -p 4000:4000 swarm manage -H :4000 --replication --advertise 192.168.80.200:4000 consul://192.168.80.200:8500

8. Sekarang kita daftarkan node-node ke dalam swarm cluster nya, untuk perintah nya sedikit bila di bandingka tahap yang lain, tetapi di sini sepengalaman saya, yang paling banyak kendalanya itu disini, dari mulai nanti enggak ke daftar, pending status dll, untuk perintah nya anda dapat melihat nya di bawah ini. 
Pembahasan perintah : untuk perintah baris pertama relatif sama fungsi nya seperti yang lain nya, yang membedakan nya itu mulai dari bari kedua dari perintah tersebut "swarm join --advertise=192.168.80.202:2375 consul://192.168.80.200:8500 " maksud dari perintah ini yang mebedakan perintah yang satu ini dengan yang lain nya, jadi isi perintah versi manusiawi nya seperti ini, node1 ini ingin gabung "alamat saya 192.168.80.202 menggunakan port 2375 nah untuk tujuan nya saya ingin gabung ke alamat 192.168.80.200 dengan port 8500 
9. Nah untuk node 2 yang ingin gabung, tinggal sesuaikan saja addressnya.

10. Nah tahap ini adalah tahap verifikasi, di sinilah awal anda akan pusing dan menulusuri jejak perintah yang anda masukkan bila sewaktu verifikasi tak sesuai yang di harapkan,  ini adalah contoh bahwa node ini udah gabung (join ke swarm manager nya)
hal hal yang harus di perhatikan dalam tahap verifikasi awal ini
1. Status dari node yang bergabung: nah jadi untuk node yang tergabung harus berstatus healt, karena kalo pending itu tandanya ada problem, nah itu anda bisa cek lagi urutan perintah nya atau enggak coba terus sampai bisa. 
2. Cek Nama host dari node tersebut harus sesuai dengan node yang anda daftartkan dan juga alamat ip nya juga harus sesuai. 
3. Pembuatan cluster ini kan untuk menyeimbangkan sekaligus menggabungkan kedua komputer fisik secara logika, jadi kedua node dengan hardware yang berbeda mesti harus gabung menjadi satu, conto node 1 ram 2 gb an dan cpu 2 lah node 2 ram 3 gb an cpu 2, seharus nya mereka itu status nya akan bergabung menjadi satu yaitu 4 cpu dan ram 5 gb an (ditandai dengan warna biru pada ss)
4. Kasus keempat ini pengalaman saya yang paling bikin bingung dan belum saya temui jawaban pastinya, pada ubuntu 16.04 swap support, tetapi pada saat di bergabung pada swarm aneh nya dia enggak nampilin status apa-apa padahal sudah terdaftar (ini mungkin pr bagi para pembaca yang penasaran pengen coba, atau saya sendiri.
11. Setelah kita lihat status yang pertama normal-normal saja, sekaran kita coba jalankan salah satu kontainer yang anda miliki.

12. Setelah dijalankan lihat lah dimana container ini bersanda, contoh kontainer saya masuk di jempolan01.

Catatan: Bagi yang udah mencoba dan main di cluster ini, saya saran kan bila anda enggak berhasil oprek nya dalam satu hari saya harap jangan putus asa dan marah2 gan, karena saya sendiri yang nulis postingan docker cluster ini pas oprek makan waktu 2 minggu lebih baru berhasil, itu pun sebenarnya enggak cukup hehe, pusing karena bingung dan juga enggak bisa bisa gabung cluster sudah saya alami, mungkin bikin cluster ini enggak apa apa nya kalo di bandingkan oprek openstack, saya belum nyoba tetapi sekedar tahap proses nya saya udah sedikit tahu dan jujur lebih ruet dari pada ini swaktu oprek teman blog saya alhudsf sudah merasakan nya di nyoba 1 bulanan baru bisa,, jadi saya tekan kan kalo belum berhasil coba lagi dan lagi, salam dari saya jempolan01 

Sekian tutorial kali ini semoga dapat bermanfaat, mohon maaf bila ada kesalahan dalam proses penulisan postingan. 
terimakasih.