Halo semua, pada kesempatan kali ini kami akan berbagi tutorial tentang overlay network tanpa docker swarm. Seperti kita tahu bahwa swarm ini adalah orchestration tool, yang memungkinkan kita untuk deploy container di multihost. Jadi memang satu tipe dengan kubernetes. Tapi pada kesempatan kali ini kita tidak akan menggunakan swarm, dalam menggunakan overlay network. Pertama mari kita samakan persepsi dulu, overlay network pada pembahasan ini mengacu pada menghubungkan antar container yang berada pada host/node yang berbeda satu sama lain. Untuk environment lab kali ini kita akan menggunakan lebih dari satu host/node, mengaju pada lab berikut, Dengan tambahan 1 host/node lagi, jadi detailnya sebagai berikut :
- pod0-docker ( IP : 10.20.21.254 )
- pod1-docker ( IP : 10.20.21.253 )
- pod2-docker ( IP : 10.20.21.252 )
Dengan masing-masing host/node sudah terinstall docker, berikut adalah langkah-langkahnya :
1. Di pod0-docker, jalankan key-value store consul
```bash $ sudo docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap ```
2. Di pod1-docker dan pod2-docker, matikan service docker dan jalankan docker dari CLI
```bash $ sudo systemctl stop docker $ sudo systemctl status docker $ sudo /usr/bin/docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-advertise ens3:2375 --cluster-store consul://10.20.21.254:8500 & ```
3. Di pod1-docker atau pod2-docker, buat overlay network
```bash # pad contoh ini saya buat di pod2-docker $ sudo docker network create -d overlay --subnet=10.0.0.0/24 my-overlay $ sudo docker network ls ```
4. Di pod1-docker, buat container alpine1 terhubung ke network my-overlay
```bash $ sudo docker run -dit --name alpine1 --network my-overlay alpine ash ```
5. Di pod2-docker, buat container alpine2 terhubung ke network my-overlay
```bash $ sudo docker run -dit --name alpine2 --network my-overlay alpine ash ```
6. Di pod2-docker, tampilkan detil network my-overlay
```bash $ sudo docker network inspect my-overlay ```
7. Di pod2-docker, masuk ke container alpine2 dan uji ping ke alamat ip dan nama container alpine1 (sukses)
```bash $ sudo docker attach alpine2 $ ping -c 3 10.0.0.x $ ping -c 3 alpine1 # x pada IP di atas, sesuai dengan ip pada alpine1 ```
Sampai di sini jika berhasil(sukses), berarti kita sudah mencapai tujuan untuk menggunakan overlay network tanpa swarm. Dan langkah berikut digunakan Membersihkan hasil lab dan mengembalikan ke kondisi awal.
8. Di pod1-docker, hapus container alpine1, matikan command docker dan nyalakan service docker
```bash $ sudo docker container rm -f alpine1 $ sudo ps -aux | grep docker | head -1 $ sudo kill [PID COMMAND DOCKER] $ sudo systemctl start docker $ sudo systemctl status docker ```
9. Di pod2-docker, hapus container alpine2, hapus network my-overlay, matikan command docker dan nyalakan service docker
```bash $ sudo docker container rm -f alpine2 $ sudo docker network rm my-overlay $ sudo ps -aux | grep docker | head -1 $ sudo kill [PID COMMAND DOCKER] $ sudo systemctl start docker $ sudo systemctl status docker ```
10. Di pod0-docker, hapus key-value store consul
```bash $ sudo docker rm -f consul ```
Yaps, sekian dan sampai jumpa di tutorial berikutnya!
0 comments:
Post a Comment