Anda di halaman 1dari 98

Acara ke :1

Pokok Bahasan : Instalasi docker


Acara Praktikum :3
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 4 X 170 menit ( Sesuai RPS )

1. Hasil Pembelajaran Mata Kuliah / Indikator Performance


Mahasiswa mampu melakukan instalasi docker container pada linux ubuntu.
2. Dasar Teori.
Kontainer adalah unit standar perangkat lunak yang mengemas kode dan semua dependensinya
sehingga aplikasi berjalan dengan cepat dan andal dari satu lingkungan komputasi ke lingkungan
komputasi lainnya. Image kontainer Docker adalah paket perangkat lunak yang ringan, mandiri,
dan dapat dieksekusi yang mencakup semua yang diperlukan untuk menjalankan aplikasi: kode,
runtime, alat sistem, pustaka sistem, dan pengaturan.

Image 1. Arsitektur docker container


Image container menjadi container saat runtime dan dalam kasus container Docker - Image
menjadi container saat dijalankan di Docker Engine. Tersedia untuk aplikasi berbasis Linux dan
Windows, perangkat lunak kemas akan selalu berjalan sama, terlepas dari infrastrukturnya.
Kontainer mengisolasi perangkat lunak dari lingkungannya dan memastikan bahwa ia bekerja
secara seragam meskipun ada perbedaan misalnya antara pengembangan dan pementasan.

Kontainer Docker yang berjalan di Docker Engine:

Standar: Docker menciptakan standar industri untuk kontainer, sehingga bisa portabel di mana
saja
Ringan: Kontainer berbagi kernel sistem OS mesin dan oleh karena itu tidak memerlukan OS
per aplikasi, mendorong efisiensi server yang lebih tinggi dan mengurangi biaya server dan lisensi
Aman: Aplikasi lebih aman dalam container dan Docker menyediakan kemampuan isolasi default
terkuat di industri
3. Alat dan Bahan.
❑ BKPM
❑ LCD
❑ Komputer
❑ Sofware Virtual Box
❑ Ubuntu Server 20.04

4. Prosedur Kerja
Install docker
1. sudo apt update
2. sudo apt install apt-transport-https ca-certificates curl software-properties-common
3. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu
focal stable"
5. apt-cache policy docker-ce
6. sudo apt install docker-ce
7. sudo systemctl status docker
8. sudo usermod -aG docker ${USER}
9. su - ${USER}
10. groups
11. docker [option] [command] [arguments]
12. docker
13. docker info
14. docker run hello-world
15. docker search ubuntu
16. docker pull ubuntu
17. docker images
18. docker run -it ubuntu
19. apt update
20. apt install nodejs
21. node -v
Managing docker container
1. docker ps
2. docker ps -a
3. docker ps -l
4. docker start 1c08a7a0d0e4
5. docker stop quizzical_mcnulty
6. docker rm youthful_curie

5. Hasil dan Pembahasan


Lembar Kerja Praktikum
a. Tuliskan perintah untuk membuat dna menjalankan docker container baru!

b. Tugas
1) Jelaskan arsitektur docker container!

Jawaban:
2) Jelaskan fungsi dari perintah run pada docker dan berikan contohnya!

Jawaban:

6. Kesimpulan

7. Rubrik Penilaian
Capaian Mata Kuliah :
Mahasiswa mampu melakukan perintah dasar linux.
No Indikator Skor*
1 Ketepatan terkait penjelasan instalasi docker container; 1 2 3 4
2 Ketepatan penyelesaian materi praktek instalasi docker 1 2 3 4
container;

3 Kemampuan/ ketepatan komunikasi . 1 2 3 4


Jumlah skor
* lingkari salah satu

Nilai Deskripsi
4 • Menguasai tentang instalasi docker container secara benar
• Menguasai materi praktek instalasi docker container dengan urutan langkah
lengkap dan benar dengan waktu sesuai standar praktek

3 • Menguasai tentang instalasi docker container secara benar


• Menguasai materi instalasi docker container dengan urutan langkah lengkap
dan benar dengan waktu melebihi standar praktek

2 • Menguasai tentang instalasi docker container secara benar


• Menguasai sebagian materi instalasi docker container dengan urutan langkah
lengkap dan benar dengan urutan langkah lengkap dan benar

1 • Belum menguasai tentang instalasi docker container secara benar


• Belum menguasai materi praktek instalasi docker container dengan urutan
langkah lengkap dan benar dengan urutan langkah lengkap dan benar

Petunjuk :

1. Skor akhir menggunakan skala1-4

2. Perhitungan skor akhir = skor yang diperoleh X 100

7.
Acara ke :2
Pokok Bahasan : Port Forwarding
Acara Praktikum :2
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 4 X 170 menit ( Sesuai RPS )

1. Hasil Pembelajaran Mata Kuliah / Indikator Performance


Mahasiswa mampu melakukan port forwarding menggunakan docker pada linux ubuntu.
2. Dasar Teori.
Image Docker adalah file yang digunakan untuk mengeksekusi kode dalam wadah
Docker. Image Docker bertindak sebagai seperangkat instruksi untuk membangun wadah Docker,
seperti template. Image Docker juga bertindak sebagai titik awal saat menggunakan Docker.
Image sebanding dengan snapshot di lingkungan mesin virtual (VM). Docker digunakan untuk
membuat, menjalankan, dan menyebarkan aplikasi dalam wadah. Image Docker berisi kode
aplikasi, pustaka, alat, dependensi, dan file lain yang diperlukan untuk menjalankan aplikasi. Saat
pengguna menjalankan Image, itu bisa menjadi satu atau banyak contoh wadah.
Image Docker memiliki beberapa lapisan, masing-masing berasal dari lapisan
sebelumnya tetapi berbeda dari itu. Lapisan mempercepat pembangunan Docker sambil
meningkatkan penggunaan kembali dan mengurangi penggunaan disk. Lapisan Image juga
merupakan file hanya-baca. Setelah wadah dibuat, lapisan yang dapat ditulis ditambahkan di atas
Image yang tidak dapat diubah, memungkinkan pengguna untuk membuat perubahan. Referensi
ke ruang disk dalam Image dan wadah Docker dapat membingungkan. Sangat penting untuk
membedakan antara ukuran dan ukuran virtual. Ukuran mengacu pada ruang disk yang digunakan
oleh lapisan wadah yang dapat ditulis, sedangkan ukuran virtual adalah ruang disk yang digunakan
untuk wadah dan lapisan yang dapat ditulis. Lapisan hanya-baca dari sebuah Image dapat
dibagikan di antara wadah apa pun yang dimulai dari Image yang sama.
3. Alat dan Bahan.
❑ BKPM
❑ LCD
❑ Komputer
❑ Sofware Virtual Box
❑ Ubuntu Server 20.04

4. Prosedur Kerja
a. Mencari image nginx pada docker hub.
$ docker search nginx

b. Download image nginx


$ docker pull nginx

c. Menampilkan daftar image docker


$ docker images
d. Menjalankan kontainer nginx dan mengatur port forwarding 8080:80.
$ docker run -d -p 8080:80

e. Menampilakn kontainer yang berjalan


$ docker ps

f. Menguji hasil kontainer nginx menggunakan web browser dan arahkan pada ip address
server linux

Install docker compose


a. Membuat direktori puglin dan mendownload plugin docker compose
$ mkdir -p ~/.docker/cli-plugins/
$ curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-
compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose

b. Set permission docker compose


$ chmod +x ~/.docker/cli-plugins/docker-compose
$ sudo chown $USER /var/run/docker.sock

c. Verifikasi instalasi docker compose


$ docker compose version

Menggunakan docker compose


a. Membuat direktori pada direktori home
mkdir ~/compose-demo
cd ~/compose-demo
b. Membuat direktori app
mkdir app
c. Membuat file index pada direktori app
nano app/index.html

d. Isikan seperti berikut


<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Docker Compose Demo</title>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/gh/kognise/water.css@latest/dist/dark.min.css">
</head>
<body>

<h1>This is a Docker Compose Demo Page.</h1>


<p>This content is being served by an Nginx container.</p>

</body>
</html>
e. Buat file docker-compose.yml
nano docker-compose.yml

f. Isikan seperti berikut


version: '3.7'
services:
web:
image: nginx:alpine
ports:
- "8000:80"
volumes:
- ./app:/usr/share/nginx/html
g. Jalankan docker compose
docker compose up -d

h. Pastikan kontainer sudah berjalan


docker compose ps
i. Uji hasil instalasi

5. Hasil dan Pembahasan


Lembar Kerja Praktikum
a. Tuliskan perintah untuk melakukan port forwarding komputer host 5560 ke
kontainer 442!

b. Tugas
1) Jelaskan apa yang dimaksud docker image!
Jawaban:
2) Jelaskan fungsi port forwarding pada docker!

Jawaban:

6. Kesimpulan

7. Rubrik Penilaian
Capaian Mata Kuliah :
Mahasiswa mampu melakukan perintah dasar linux.
No Indikator Skor*
1 Ketepatan terkait penjelasan port forwarding; 1 2 3 4
2 Ketepatan penyelesaian materi praktek port forwarding; 1 2 3 4

3 Kemampuan/ ketepatan komunikasi . 1 2 3 4


Jumlah skor
* lingkari salah satu

Nilai Deskripsi
4 • Menguasai tentang port forwarding secara benar
• Menguasai materi praktek instalasi docker container dengan urutan langkah
lengkap dan benar dengan waktu sesuai standar praktek

3 • Menguasai tentang port forwarding secara benar


• Menguasai materi instalasi docker container dengan urutan langkah lengkap
dan benar dengan waktu melebihi standar praktek

2 • Menguasai tentang port forwarding secara benar


• Menguasai sebagian materi instalasi docker container dengan urutan langkah
lengkap dan benar dengan urutan langkah lengkap dan benar

1 • Belum menguasai tentang port forwarding secara benar


• Belum menguasai materi praktek instalasi docker container dengan urutan
langkah lengkap dan benar dengan urutan langkah lengkap dan benar

Petunjuk :

1. Skor akhir menggunakan skala1-4

2. Perhitungan skor akhir = skor yang diperoleh X 100

1.
Acara ke :3
Pokok Bahasan : Docker Network
Acara Praktikum :3
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 4 X 170 menit ( Sesuai RPS )

1. Hasil Pembelajaran Mata Kuliah / Indikator Performance


Mahasiswa mampu mengkonfigurasi jaringan pada docker container.
2. Dasar Teori.
bridge: Driver jaringan default. Jika Anda tidak menentukan driver, ini adalah jenis jaringan
yang Anda buat. Jaringan bridge biasanya digunakan saat aplikasi Anda berjalan dalam wadah
mandiri yang perlu berkomunikasi.
host: Untuk container mandiri, hapus isolasi jaringan antara container dan host Docker, dan
gunakan jaringan host secara langsung.
overlay: Jaringan overlay menghubungkan beberapa daemon Docker bersama-sama dan
memungkinkan layanan swarm untuk berkomunikasi satu sama lain. Anda juga dapat
menggunakan jaringan overlay untuk memfasilitasi komunikasi antara layanan swarm dan
container standalone, atau antara dua container standalone pada daemon Docker yang berbeda.
Strategi ini menghilangkan kebutuhan untuk melakukan perutean tingkat OS di antara wadah ini.
ipvlan: Jaringan IPvlan memberi pengguna kendali penuh atas pengalamatan IPv4 dan IPv6.
Driver VLAN dibangun di atas itu dalam memberikan operator kontrol penuh atas penandaan VLAN
lapisan 2 dan bahkan perutean IPvlan L3 untuk pengguna yang tertarik dengan integrasi jaringan
yang mendasari. Lihat jaringan IPvlan.
macvlan: Jaringan Macvlan memungkinkan Anda menetapkan alamat MAC ke wadah,
membuatnya tampak sebagai perangkat fisik di jaringan Anda. Daemon Docker merutekan lalu
lintas ke kontainer dengan alamat MAC-nya. Menggunakan driver macvlan terkadang merupakan
pilihan terbaik saat berhadapan dengan aplikasi lama yang diharapkan terhubung langsung ke
jaringan fisik, daripada dirutekan melalui tumpukan jaringan host Docker. Lihat jaringan Macvlan.
none: Untuk wadah ini, nonaktifkan semua jaringan. Biasanya digunakan bersama dengan
driver jaringan khusus. tidak ada yang tidak tersedia untuk layanan swarm. Lihat menonaktifkan
jaringan penampung.
Plugin jaringan: Anda dapat menginstal dan menggunakan plugin jaringan pihak ketiga dengan
Docker. Plugin ini tersedia dari Docker Hub atau dari vendor pihak ketiga. Lihat dokumentasi
vendor untuk menginstal dan menggunakan plugin jaringan yang diberikan.
3. Alat dan Bahan.
❑ BKPM
❑ LCD
❑ Komputer
❑ Sofware Virtual Box
❑ Ubuntu Server 20.04

4. Prosedur Kerja
a. Menampilkan jenis network di docker.
$ docker network ls
b. Membuat dua container dengan nama container node1 dan node2, image nginx:stable-
alpine, dan tanpa mendefinisikan opsi network.
$ docker run -d --name node1 nginx:stable-alpine
$ docker run -d --name node2 nginx:stable-alpine
c. Menampilkan informasi detail container.
$ docker inspect node1
d. Menampilkan informasi network dengan nama bridge.
$ docker network inspect bridge
e. Container yang menggunakan bridge network dapat dilihat informasinya pada bagian
Containers. Terdapat dua container yaitu node1 dengan IP address 172.17.0.2 dan node2
dengan IP address 172.17.0.3. Uji ping dari container node1 ke node2.
$ docker exec node1 ping 172.17.0.3
CTRL+C untuk menghentikan ping.
f. Membuat bridge network.
$ docker network create net-web
g. Menampilkan network.
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
1652fc7934a6 bridge bridge local
547776771fe2 host host local
2aa8cf07ab2e net-web bridge local
a4d149a845ae none null local
h. Membuat container dan menghubungkannya ke network dengan nama net-web.
$ docker run -d --name node1 --network net-web nginx:stable-alpine
$ docker run -d --name node2 --network net-web nginx:stable-alpine
i. Uji ping dari container node1 ke node2.
$ docker exec node1 ping node2
PING node2 (172.19.0.3): 56 data bytes
64 bytes from 172.19.0.3: seq=0 ttl=64 time=0.145 ms
64 bytes from 172.19.0.3: seq=1 ttl=64 time=0.100 ms
64 bytes from 172.19.0.3: seq=2 ttl=64 time=0.117 ms
j. Menghubungkan container node1 dan node2 ke network net-web.
$ docker network connect net-web node1
$ docker network connect net-web node2
k. Menampilkan informasi network dengan nama net-web.
$ docker network inspect net-web
l. Menampilkan informasi detail container.
$ docker inspect node1

5. Hasil dan Pembahasan


Lembar Kerja Praktikum
a. Tuliskan perintah untuk membuat network bridge baru dan menghubungkan
kontainer ke network bridge baru tersebut!

b. Tugas
1) Jelaskan apa yang dimaksud network bridge!
Jawaban:
2) Jelaskan perbedaan network bridge dan host pada docker!

Jawaban:

6. Kesimpulan

7. Rubrik Penilaian
Capaian Mata Kuliah :
Mahasiswa mampu melakukan perintah dasar linux.
No Indikator Skor*
1 Ketepatan terkait penjelasan docker network; 1 2 3 4
2 Ketepatan penyelesaian materi praktek docker network; 1 2 3 4

3 Kemampuan/ ketepatan komunikasi . 1 2 3 4


Jumlah skor
* lingkari salah satu

Nilai Deskripsi
4 • Menguasai tentang docker network secara benar
• Menguasai materi praktek instalasi docker network dengan urutan langkah
lengkap dan benar dengan waktu sesuai standar praktek

3 • Menguasai tentang docker network secara benar


• Menguasai materi instalasi docker network dengan urutan langkah lengkap
dan benar dengan waktu melebihi standar praktek

2 • Menguasai tentang docker network secara benar


• Menguasai sebagian materi instalasi docker network dengan urutan langkah
lengkap dan benar dengan urutan langkah lengkap dan benar

1 • Belum menguasai tentang docker network secara benar


• Belum menguasai materi praktek instalasi docker network dengan urutan
langkah lengkap dan benar dengan urutan langkah lengkap dan benar

Petunjuk :

1. Skor akhir menggunakan skala1-4

2. Perhitungan skor akhir = skor yang diperoleh X 100

1.
Acara ke :4
Pokok Bahasan : Load Balancing
Acara Praktikum :3
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 4 X 170 menit ( Sesuai RPS )

1. Hasil Pembelajaran Mata Kuliah / Indikator Performance


Mahasiswa mampu mengkonfigurasi load balancing menggunakan docker container.
2. Dasar Teori.
Load balancing merupakan sebuah mekanisme untuk mendistribusikan beban atau trafik ke setiap
server yang ada untuk meningkatkan performa, skalibilitas, dan reliabilitas pada aplikasi. berikut
Beberapa metode load balancing yang didukung oleh nginx
round-robin – setiap request akan didistribusikan ke setiap server, dan setiap server memiliki
beban yang sama
least-connected – request ke server di tujukan ke server yang memiliki paling sedikit koneksi
aktif
ip-hash – tidak seperti round-robin dan least-connected setiap request kemungkinan akan
diarahkan pada server yang berbeda, pada ip-hash setiap request dari klien dipastikan di arahkan
ke server yang sama berdasarkan alamat ip,
contoh: pengguna dengan ip 192.168.1.23 saat pertama me-request di arahkan ke Server A
dan akan terus di arahkan ke Server A tidak akan diarahkan ke Server B terkecuali ketika Server A
down, tidak seperti pada metode round-robin dan least-connected, yang kemungkinan di arahkan
ke server yang berbeda.

Gambar 1. Topologi jaringan load balancing pada docker container


3. Alat dan Bahan.
❑ BKPM
❑ LCD
❑ Komputer
❑ Sofware Virtual Box
❑ Ubuntu Server 20.04

4. Prosedur Kerja
a. Membuat server backend1 dan server backend 2 menggunakan kontainer docker.
$ docker run -d --name backend1 -p 8081:80 nginx
$ docker run -d –name backend2 -p 8082:80 nginx
b. Masuk ke kontainer backend1.
$ docker exec -it backend1 bash
c. Update repositori kontainer backend 1
root@7fd809c6e88e:/#apt update
root@7fd809c6e88e:/#apt install net-tools nano
d. Cek ip address menggunakan perintah ifconfig.

e. Modifikasi file index.html yng terletak pada file /ush/share/nginx/html/index.html


menggunakan perintah nano dan isikan sebagai berikut.
root@7fd809c6e88e:/#nano /usr/share/nginx/html/index.html

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!Backend1</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to Backend 1</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to


<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>


</body>
</html>
f. Keluar dari shell kontainer menggunakan perintah ctrl+p diikuti ctrl+q.
g. Lakukan perintah b sampai dengan f pada kontainer backend2. Sesuaikan setiap nama
backend1 diganti dnegan backend2.
h. Install web server nginx pada komputer host.
$ sudo apt install nginx
i. Buat file konfigurasi load balancer.
$ sudo nano /etc/nginx/conf.d/loadbalancer.conf
j. Isikan pengaturan berikut pada file loadbalancer.conf.
upstream backend {
server 172.17.0.3:80; #backend1
server 172.17.0.4:80; #backend2
}

server {
listen 80;
server_name 192.168.100.252;
access_log off;
error_log /var/log/nginx/error_log;
location / {
proxy_pass http://backend;
}
}
k. Server name isikan ip address bridge dari linux hostnya gara bisa diakses dari komputer
lain selain hostnya. Ip address 172.17.0.3 dan 172.17.0.4 adalah ip address bridge untuk
kontainer docker.
l. Reload nginx.
$ sudo nginx -s reload
m. Lakukan pengujian dengan mengakses ip address linux host menggunakan browser
windows.

Ketika direload loadbalancer akan secara otomkatis mengarahkan permintaan akses web
ke server backend yang berbeda-beda.
5. Hasil dan Pembahasan
Lembar Kerja Praktikum
a. Tuliskan perintah untuk membuat load balancer menggunakan metode least
connection!

b. Tugas
1) Jelaskan apa yang dimaksud round robin pada load balancer!

Jawaban:
2) Jelaskan perbedaan round robin dan least connection pada load balancer!

Jawaban:

6. Kesimpulan

7. Rubrik Penilaian
Capaian Mata Kuliah :
Mahasiswa mampu melakukan konfigurasi load balancer pada kontainer docker.
No Indikator Skor*
1 Ketepatan terkait penjelasan konfigurasi load balancer pada 1 2 3 4
kontainer docker;
2 Ketepatan penyelesaian materi praktek konfigurasi load 1 2 3 4
balancer pada kontainer docker;

3 Kemampuan/ ketepatan komunikasi . 1 2 3 4


Jumlah skor
* lingkari salah satu

Nilai Deskripsi
4 • Menguasai tentang konfigurasi load balancer pada kontainer docker secara
benar
• Menguasai materi praktek konfigurasi load balancer pada kontainer docker
dengan urutan langkah lengkap dan benar dengan waktu sesuai standar
praktek
3 • Menguasai tentang konfigurasi load balancer pada kontainer docker secara
benar
• Menguasai materi konfigurasi load balancer pada kontainer docker dengan
urutan langkah lengkap dan benar dengan waktu melebihi standar praktek

2 • Menguasai tentang konfigurasi load balancer pada kontainer docker secara


benar
• Menguasai sebagian materi konfigurasi load balancer pada kontainer docker
dengan urutan langkah lengkap dan benar dengan urutan langkah lengkap dan
benar
1 • Belum menguasai tentang konfigurasi load balancer pada kontainer docker
secara benar
• Belum menguasai materi praktek konfigurasi load balancer pada kontainer
docker dengan urutan langkah lengkap dan benar dengan urutan langkah
lengkap dan benar

Petunjuk :

1. Skor akhir menggunakan skala1-4

2. Perhitungan skor akhir = skor yang diperoleh X 100

1.
Acara ke :5
Pokok Bahasan : Reverse Proxy
Acara Praktikum :5
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 4 X 170 menit ( Sesuai RPS )

1. Hasil Pembelajaran Mata Kuliah / Indikator Performance


Mahasiswa mampu mengkonfigurasi reverse proxy menggunakan docker container.
2. Dasar Teori.
Reverse Proxy adalah server yang berada di depan server web dan meneruskan permintaan
klien (misalnya browser web) ke server web tersebut. Reverse Proxy biasanya diterapkan untuk
membantu meningkatkan keamanan, kinerja, dan keandalan.

Biasanya semua permintaan dari D akan langsung ke F, dan F akan mengirim tanggapan
langsung ke D. Dengan reverse proxy, semua permintaan dari D akan langsung ke E, dan E akan
mengirim permintaannya ke dan menerima tanggapan dari F. E akan kemudian berikan tanggapan
yang sesuai untuk D.
3. Alat dan Bahan.
❑ BKPM
❑ LCD
❑ Komputer
❑ Sofware Virtual Box
❑ Ubuntu Server 20.04

4. Prosedur Kerja
Konfigurasi DNS Server

a. Update repository menggunakan perintah apt update.


b. Install paket bind9 menggunakan perintah apt install bind9.
c. Salin file db.local menjadi db.domain dan db.127 menjadi db.ip. File terletak di /etc/bind.
d. Ubah konfogurasi pada file db.domain menjadi seperti berikut. Sesuaikan dengan IP Address
masing-masing.

e. Ubah konfigurasi pada file db.ip menjadi seperti berikut. Sesuaikan dengan IP Address
masing-masing.
f. Ubah konfigurasi pada named.conf.

g. Ubah konfigurasi pada file named.conf.local.


h. Ubah file /etc/resolv.conf menjadi seperti berikut.

i. Tes hasil konfigurasi.

j. Lakukan pengujian dari komputer client.


Konfigurasi Docker Container

a. Membuat container web1 dan web2


$ docker run -d –name web1 -p 8080:80 httpd:2.4
$ docker run -d –name web2 -p 8081:80 httpd:2.4
b. Pada linux host install web server nginx dan buat file web1.ajk.com dan web2.ajk.com.
$ sudo nano /etc/nginx/sites-available/web1.ajk.com
$ sudo nano /etc/nginx/sites-available/web2.ajk.com
c. Isikan konfigurasi sebagai berikut pada /etc/nginx/sites-available/web1.ajk.com
server {
listen 80;
server_name web1. ajk.com;

location / {
proxy_pass http://localhost:8080;
}
}
d. Isikan konfigurasi sebagai berikut pada /etc/nginx/sites-available/web2.ajk.com
server {
listen 80;
server_name web2. ajk.com;

location / {
proxy_pass http://localhost:8081;
}
}
e. Buat symlink utk /etc/nginx/sites-available/web1.bekti.bms dan /etc/nginx/sites-
available/web2.bekti.bms.
$ sudo ln -s /etc/nginx/sites-available/web1.ajk.com /etc/nginx/sites-enabled/
$ sudo ln -s /etc/nginx/sites-available/web2.ajk.com /etc/nginx/sites-enabled/
f. Lihat website enable.
$ ls -l /etc/nginx/sites-enabled/
g. Restart nginx.
$ sudo systemctl restart nginx
h. Arahkan nameserver computer client ke server linux.
i. Pengujian menggunakan curl.

j. Lakukan pengujian website menggunakan browser.

5. Hasil dan Pembahasan


Lembar Kerja Praktikum
a. Tuliskan perintah untuk membuat sub domain pada bind9!
b. Tugas
1) Jelaskan apa yang dimaksud reverse proxy!

Jawaban:
2) Jelaskan perbedaan load balancing dan reverse proxy!

Jawaban:

6. Kesimpulan

7. Rubrik Penilaian
Capaian Mata Kuliah :
Mahasiswa mampu melakukan perintah dasar linux.
No Indikator Skor*
1 Ketepatan terkait penjelasan reverse proxy; 1 2 3 4
2 Ketepatan penyelesaian materi praktek reverse proxy; 1 2 3 4

3 Kemampuan/ ketepatan komunikasi . 1 2 3 4


Jumlah skor
* lingkari salah satu

Nilai Deskripsi
4 • Menguasai tentang reverse proxy secara benar
• Menguasai materi praktek instalasi reverse proxy dengan urutan langkah
lengkap dan benar dengan waktu sesuai standar praktek

3 • Menguasai tentang reverse proxy secara benar


• Menguasai materi instalasi reverse proxy dengan urutan langkah lengkap dan
benar dengan waktu melebihi standar praktek

2 • Menguasai tentang reverse proxy secara benar


• Menguasai sebagian materi instalasi reverse proxy dengan urutan langkah
lengkap dan benar dengan urutan langkah lengkap dan benar

1 • Belum menguasai tentang reverse proxy secara benar


• Belum menguasai materi praktek instalasi reverse proxy dengan urutan
langkah lengkap dan benar dengan urutan langkah lengkap dan benar

Petunjuk :

1. Skor akhir menggunakan skala1-4

2. Perhitungan skor akhir = skor yang diperoleh X 100

1.
Acara ke :6
Pokok Bahasan : LAMP Stack
Acara Praktikum :6
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 4 X 170 menit ( Sesuai RPS )

1. Hasil Pembelajaran Mata Kuliah / Indikator Performance


Mahasiswa mampu mengkonfigurasi LAMP Stack Docker menggunakan docker container.
2. Dasar Teori.
LAMP” stack adalah sekelompok perangkat lunak sumber terbuka yang biasanya dipasang
bersama untuk memungkinkan server menghosting situs web dinamis dan aplikasi web yang ditulis
dalam PHP. Istilah ini merupakan akronim yang mewakili sistem operasi Linux, dengan web server
Apache. Data situs disimpan dalam database MySQL, dan konten dinamis diproses oleh PHP. LAMP
adalah singkatan dari Linux, Apache, MySQL, dan PHP. Bersama-sama, mereka menyediakan
seperangkat perangkat lunak yang telah terbukti untuk menghadirkan aplikasi web berkinerja
tinggi.
• Linux: Sistem operasi. Linux adalah sistem operasi (OS) gratis dan open source yang telah
ada sejak pertengahan 1990-an. Saat ini, ia memiliki basis pengguna yang luas di seluruh
dunia yang meluas ke berbagai industri. Linux populer sebagian karena menawarkan lebih
banyak fleksibilitas dan opsi konfigurasi daripada beberapa sistem operasi lain.
• Apache: Server web. Server web Apache memproses permintaan dan menyajikan aset web
melalui HTTP sehingga aplikasi dapat diakses oleh siapa saja di domain publik melalui URL
web sederhana. Dikembangkan dan dikelola oleh komunitas terbuka, Apache adalah server
yang matang dan kaya fitur yang menjalankan sebagian besar situs web yang saat ini ada
di internet.
• MySQL: Basis datanya. MySQL adalah sistem manajemen basis data relasional open source
untuk menyimpan data aplikasi. Dengan My SQL, Anda dapat menyimpan semua informasi
Anda dalam format yang mudah ditanyakan dengan bahasa SQL. SQL adalah pilihan tepat
jika Anda berurusan dengan domain bisnis yang terstruktur dengan baik, dan Anda ingin
menerjemahkan struktur itu ke dalam backend. MySQL cocok untuk menjalankan situs
yang besar dan kompleks sekalipun. Lihat "Database SQL vs. NoSQL: Apa Perbedaannya?"
untuk informasi lebih lanjut tentang database SQL dan NoSQL.
• PHP: Bahasa pemrograman. Bahasa scripting open source PHP bekerja dengan Apache
untuk membantu Anda membuat halaman web dinamis. Anda tidak dapat menggunakan
HTML untuk melakukan proses dinamis seperti menarik data dari database. Untuk
menyediakan fungsionalitas jenis ini, Anda cukup memasukkan kode PHP ke bagian
halaman yang Anda inginkan agar dinamis.
PHP dirancang untuk efisiensi. Itu membuat pemrograman lebih mudah—dan sedikit lebih
menyenangkan—dengan memungkinkan Anda menulis kode baru, menekan refresh, dan segera
melihat perubahan yang dihasilkan tanpa perlu dikompilasi. Jika mau, Anda dapat menukar PHP
dengan Perl atau bahasa Python yang semakin populer.
.
3. Alat dan Bahan.
❑ BKPM
❑ LCD
❑ Komputer
❑ Sofware Virtual Box
❑ Ubuntu Server 20.04

4. Prosedur Kerja
a. Menjalankan image doker lamp stack.
$ docker run -it --privileged -p80:80 lamp:latest bash
b. Masuk ke root pada docker container dan menjalankan perintah untuk menginstall LAMP
stack.
apt update
apt install apache2
apt install php7.0 php7.0-mysql
apt install mysql-server
c. Jalankan apache dan mysql.
service apache2 start
service mysql start
d. Mengkonfigurasi database
mysql -uroot -p
e. Membuat database dan memberikan priviledge pada user mysql.
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON *.* TO 'wp-user'@'%' IDENTIFIED BY "wp-password";
exit;
f. Install wget untuk mendownload file wordpress.
apt install wget
g. Jalankan perintah berikut untuk mendownload file wordpress.
cd /var/www
wget https://wordpress.org/latest.tar.gz
tar -xvf latest.tar.gz
cd wordpress
mv * /var/www/html
cd ..
rm -d wordpress
rm latest.tar.gz
cd html
rm index.html
cd ..
chown -R www-data:www-data html
chmod -R 755 html
h. Menginstall text editor linux
cd / apt install nano startup.sh
i. Menjalankan ulang apache dan mysql.
service apache2 start
service mysql start
tail -f /dev/null
j. Menginstall wordpress menggunakan browser dengan mengarahkan ke host ip dan port 80.

k. Isikan parameter yg sudah dibuat sebelumnya.


5. Hasil dan Pembahasan
Lembar Kerja Praktikum
a. Tuliskan perintah untuk membuat database, user database dan memberikan
priviledge ke user database baru!

b. Tugas
1) Jelaskan apa yang dimaksud LAMP Stack Docker !

Jawaban:
2) Jelaskan fungsi dari LAMP Stack pada linux server!

Jawaban:

6. Kesimpulan

7. Rubrik Penilaian
Capaian Mata Kuliah :
Mahasiswa mampu melakukan perintah dasar linux.
No Indikator Skor*
1 Ketepatan terkait penjelasan LAMP Stack Docker ; 1 2 3 4
2 Ketepatan penyelesaian materi praktek LAMP Stack Docker ; 1 2 3 4

3 Kemampuan/ ketepatan komunikasi . 1 2 3 4


Jumlah skor
* lingkari salah satu

Nilai Deskripsi
4 • Menguasai tentang LAMP Stack Docker secara benar
• Menguasai materi praktek instalasi LAMP Stack Docker dengan urutan langkah
lengkap dan benar dengan waktu sesuai standar praktek

3 • Menguasai tentang LAMP Stack Docker secara benar


• Menguasai materi instalasi LAMP Stack Docker dengan urutan langkah lengkap
dan benar dengan waktu melebihi standar praktek

2 • Menguasai tentang LAMP Stack Docker secara benar


• Menguasai sebagian materi instalasi LAMP Stack Docker dengan urutan
langkah lengkap dan benar dengan urutan langkah lengkap dan benar

1 • Belum menguasai tentang LAMP Stack Docker secara benar


• Belum menguasai materi praktek instalasi LAMP Stack Docker dengan urutan
langkah lengkap dan benar dengan urutan langkah lengkap dan benar

Petunjuk :

1. Skor akhir menggunakan skala1-4

2. Perhitungan skor akhir = skor yang diperoleh X 100

1.
Acara ke :8
Pokok Bahasan : Instalasi Kubernetes Cluster
Acara Praktikum :8
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 4 X 170 menit ( Sesuai RPS )

1. Hasil Pembelajaran Mata Kuliah / Indikator Performance


Mahasiswa mampu menginstal kluster Kubernetes berbasis docker container.
2. Dasar Teori.
Kubernetes adalah platform open source untuk mengelola kumpulan kontainer dalam suatu
cluster server. Platform ini pertama kali dikembangkan oleh Google dan kini dikelola oleh Cloud
Native Computing Foundation (CNCF) sebagai platform manajemen kontainer yang cukup populer.
Kontainer sendiri adalah environment dengan sumber daya, CPU, dan sistem file untuk satu
aplikasi. Jadi, aplikasi tersebut akan memiliki sumber daya sendiri. Keuntungannya, aplikasi jadi
tidak mudah mengalami downtime.

Gambar 1. Perbedaan komputasi tradisional, virtual machine dan container


Kubernetes memiliki kemampuan untuk melakukan penjadwalan aplikasi, load balancing
server dan peningkatan kapasitas kontainer secara otomatis. Cluster adalah suatu kelompok berisi
server fisik atau VPS untuk menjalankan Kubernetes. Ada dua jenis server yang dibutuhkan, yaitu
master node dan worker node. Master node adalah server utama yang mengatur semua operasi
cluster menggunakan tiga komponen, yaitu kube-apiserver, kube-controller-manager, kube-
scheduler dan etcd.
Di bawah ini adalah penjelasan fungsinya:
kube-apiserver: validasi dan konfigurasi data untuk objek API, yaitu pod, services, volume,
dan lainnya.
kube- controller-manager: melakukan monitor cluster agar sesuai dengan konfigurasi data
objek di dalam node.
kube-scheduler: menambah objek baru ke node. Misalnya, menginstall pod ke node
tertentu.
Etcd: ruang penyimpanan key value konfigurasi data cluster.
Worker node adalah semua server non master yang berfungsi untuk menjalankan dua
komponen, yaitu kubelet dan kube-proxy. Begini penjelasan fungsi komponennya:
Kubelet: komponen untuk memastikan kontainer beroperasi di dalam objek Pod.
Kube-proxy: memelihara network rules dan meneruskan koneksi ke suatu host.
Docker image: file dari aplikasi Docker yang berfungsi untuk membuat kontainer.

3. Alat dan Bahan.


❑ BKPM
❑ LCD
❑ Komputer
❑ Sofware Virtual Box
❑ Minikube

4. Prosedur Kerja
Instalasi Minikube
a. Install PowerShell Windows.
b. Pastikan virtual box sudah terinstal.
c. Download dan install kubectl for windows melalui link:
https://storage.googleapis.com/kubernetes-
release/release/v1.8.0/bin/windows/amd64/kubectl.exe
d. Download dan install Minikube melalui link: https://objects.githubusercontent.com/github-
production-release-asset-2e65be/56353740/f6270822-f77f-467a-859a-ecc06ed91426?X-Amz-
Algorithm=AWS4-HMAC-SHA256&X-Amz-
Credential=AKIAIWNJYAX4CSVEH53A%2F20220324%2Fus-east-
1%2Fs3%2Faws4_request&X-Amz-Date=20220324T061834Z&X-Amz-Expires=300&X-Amz-
Signature=8507d9c41e11ef56c0318dd97654e92f6044a158009cd8f061b59f2a3468ac3a&X-
Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=56353740&response-content-
disposition=attachment%3B%20filename%3Dminikube-installer.exe&response-content-
type=application%2Foctet-stream
e. Atur lingkungan variable menggunakan PowerShell. Jalankan PowerShell sebagai
administrator. Salin dan paste kan berikut pada PowerShell selanjutnya enter.
$oldPath = [Environment]::GetEnvironmentVariable('Path',
[EnvironmentVariableTarget]::Machine)
if ($oldPath.Split(';') -inotcontains 'C:\minikube'){ `
[Environment]::SetEnvironmentVariable('Path', $('{0};C:\minikube' -f $oldPath),
[EnvironmentVariableTarget]::Machine) `
}

f. Salin file kubectl.exe pada folder C:\Program Files\Kubernetes\Minikube.


g. Jalankan pada PowerShell atau command prompt.
minikube start
h. Jika terjadi error pindah working direktori pada C:\Program Files\Kubernetes\Minikube dan
jalankan minikube start.
i. Jika terjadi error ganti dengan perintah .\minikube start pada working direktory yang sama.
j. Selanjutnya minikube akan mendownload image Kubernetes.
k. Setelah selesai Kubernetes cluster siap digunakan.

Perintah dasar Kubernetes.

a. Menampilkan versi minikube.


minikube version

Jika perintah minikube tidak dikenal ganti dengan menggunakan perintah .\minikube dan
arahkan working directory pada C:\Program Files\Kubernetes\Minikube.

b. Menjalankan dashboard Kubernetes.


minikube dashboard
c. Menampilkan jumlah node.
kubectl get node
d. Jika perintah kubectl tidak dikenal ganti menggunakan perintah .\kubectl pada working
directory C:\Program Files\Kubernetes\Minikube.
e. Menampilkan jumlah pod.
kubectl get pod
f. Menampilkan jumlah deployment.
kubectl get deployment
g. Menampilkan jumlah replicaset.
kubectl get replicaset

h. Untuk menghentikan kubernetes cluster jalankan perintah minikube stop atau .\minikube
stop.
i. Untuk menghapus vm minikube jalankan perintah minikube delete atau .\minikube delete.

5. Hasil dan Pembahasan


Lembar Kerja Praktikum
a. Tuliskan perintah untuk menampilkan jumlah node, pod deployment dan
replicaset pada kubernetes!
b. Tugas
1) Jelaskan arsitektur kubernetes!

Jawaban:
2) Jelaskan fungsi dari nodeport pada kubernetes!

Jawaban:

6. Kesimpulan

7. Rubrik Penilaian
Capaian Mata Kuliah :
Mahasiswa mampu menginstal kluster Kubernetes.
No Indikator Skor*
1 Ketepatan terkait penjelasan menginstal kluster Kubernetes; 1 2 3 4
2 Ketepatan penyelesaian materi praktek menginstal kluster 1 2 3 4
Kubernetes;

3 Kemampuan/ ketepatan komunikasi . 1 2 3 4


Jumlah skor
* lingkari salah satu

Nilai Deskripsi
4 • Menguasai tentang menginstal kluster Kubernetes secara benar
• Menguasai materi praktek menginstal kluster Kubernetes dengan urutan
langkah lengkap dan benar dengan waktu sesuai standar praktek

3 • Menguasai tentang menginstal kluster Kubernetes secara benar


• Menguasai materi menginstal kluster Kubernetes dengan urutan langkah
lengkap dan benar dengan waktu melebihi standar praktek

2 • Menguasai tentang menginstal kluster Kubernetes secara benar


• Menguasai sebagian materi menginstal kluster Kubernetes dengan urutan
langkah lengkap dan benar dengan urutan langkah lengkap dan benar

1 • Belum menguasai tentang menginstal kluster Kubernetes secara benar


• Belum menguasai materi praktek menginstal kluster Kubernetes dengan urutan
langkah lengkap dan benar dengan urutan langkah lengkap dan benar

Petunjuk :

1. Skor akhir menggunakan skala1-4

2. Perhitungan skor akhir = skor yang diperoleh X 100

1.
Acara ke : 10
Pokok Bahasan : Configuration File
Acara Praktikum : 10
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 4 X 170 menit ( Sesuai RPS )

1. Hasil Pembelajaran Mata Kuliah / Indikator Performance


Mahasiswa mampu mengelola configuration file pada kubernetes cluster.
2. Dasar Teori.
YAML singakatan dari YAML Ain't Markup Language adalah sebuah bahasa serialisasi data
yang ramah untuk manusia. YAML dibuat secara khusus untuk berbagai kasus umum, seperti
configuration files, log files, Inter-process messaging, Cross-language data sharing, Object
persistence dan complex data structure.
XML adalah pelopor dalam banyak domain. XML awalnya dirancang agar kompatibel dengan
Standard Generalized Markup Language (SGML), yang dirancang untuk mendukung dokumentasi
terstruktur. Karena itu, ada banyak kendala desain dengan XML. Tujuan desain JSON adalah
kesederhanaan dan universalitas, dengan tujuannya untuk menghasilkan dan menguraikan. Ini
telah mengurangi keterbacaan manusia, tetapi datanya dapat diproses dengan mudah oleh setiap
lingkungan pemrograman modern. Tujuan desain YAML adalah keterbacaan manusia dan model
informasi yang lebih lengkap. YAML lebih kompleks untuk dihasilkan dan diuraikan, oleh karena itu
dapat dilihat sebagai superset alami dari JSON. Setiap file JSON juga merupakan file YAML yang
valid.

Gambar 1. Penulisan struktur data XML, JSON dan YAML

Contoh berikut membantu menjelaskan pembuatan sumber pengembangan dengan


menggunakan YAML.
3. Alat dan Bahan.
❑ BKPM
❑ LCD
❑ Komputer
❑ Sofware Virtual Box
❑ Minikube
4. Prosedur Kerja
Membuat Pod
a. Buka aplikasi PowerShell pindah ke direktory C:\Program Files\Kubernetes\Minikube.
b. Jalankan minikube dengan perintah .\minikube start.
c. Buat file nginx.yml menggunakan notepad++ dan simpan di direktory C:\Users\nama-
user\project, misal C:\Users\bekti\project.
d. Edit file nginx.yml sesuai isian berikut.

e. Perhaitkan penulisan indentasi. Kesalahan dalam menuliskan indentasi akan menyebabkan file
konfigurasi eror ketika dijalankan.
f. Untuk membuat pod jalankan file yaml sesuai perintah berikut.
.\kubectl create -f ‘C:\Users\bekti\project\nginx.yml’

g. Pod nginx berhasil dibuat.


h. Untuk melihat detil pod yang dibuat menggunakan perintah .\kubectl get pod -o wide.

i. Untuk menampilkan deskripsi pod yang dibuat menggunakan perintah .\kubectl describe pod
[nama-pod].
.\kubectl describe pod nginx
j. Untuk mengakses pod jalankan perintah port forwarding dari port host ke port container.
.\kubectl port-forward [nama-pod] portHost:portContainer

k. Selanjutnya buka pada browser komputer host dan arahkan ke port 8888.
l. Untuk menghapus pod gunakan perintah .\kubectl delete pod [nama-pod]. Misal .\kubectl
delete pod nginx.
Membuat Pod dengan label
a. Buka aplikasi notepad++ dan buat file konfigurasi yaml dengan sisian sebagai berikut.

Simpan pada C:\Users\[nama-user]\project\nginx-with-label.yaml.


b. Tampilkan pod dengan labels.

5. Hasil dan Pembahasan


Lembar Kerja Praktikum
a. Tuliskan configuration file untuk membuat pod dengan nama pod nginx dari
image nginx dan container port 8080. Pod tersebut akan diakses mellaui port
80 pada komputer host!
b. Tugas
1) Jelaskan fungsi dari yaml!

Jawaban:

2) Jelaskan perbedaan yaml dan json!

Jawaban:
6. Kesimpulan

7. Rubrik Penilaian
Capaian Mata Kuliah :
Mahasiswa mampu mengelola configuration file pada kubernetes cluster.
No Indikator Skor*
1 Ketepatan terkait penjelasan mengelola configuration file pada 1 2 3 4
kubernetes cluster;
2 Ketepatan penyelesaian materi praktek mengelola 1 2 3 4
configuration file pada kubernetes cluster;

3 Kemampuan/ ketepatan komunikasi . 1 2 3 4


Jumlah skor
* lingkari salah satu

Nilai Deskripsi
4 • Menguasai tentang mengelola configuration file pada kubernetes cluster secara
benar
• Menguasai materi praktek mengelola configuration file pada kubernetes cluster
dengan urutan langkah lengkap dan benar dengan waktu sesuai standar
praktek
3 • Menguasai tentang mengelola configuration file pada kubernetes cluster secara
benar
• Menguasai materi mengelola configuration file pada kubernetes cluster dengan
urutan langkah lengkap dan benar dengan waktu melebihi standar praktek
2 • Menguasai tentang mengelola configuration file pada kubernetes cluster secara
benar
• Menguasai sebagian materi mengelola configuration file pada kubernetes
cluster dengan urutan langkah lengkap dan benar dengan urutan langkah
lengkap dan benar
1 • Belum menguasai tentang mengelola configuration file pada kubernetes cluster
benar
• Belum menguasai materi praktek mengelola configuration file pada kubernetes
cluster dengan urutan langkah lengkap dan benar dengan urutan langkah
lengkap dan benar

Petunjuk :

1. Skor akhir menggunakan skala1-4

2. Perhitungan skor akhir = skor yang diperoleh X 100

1.
Acara ke :9
Pokok Bahasan : Mengelola Pod pada Kubernetes Cluster
Acara Praktikum :9
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 4 X 170 menit ( Sesuai RPS )

1. Hasil Pembelajaran Mata Kuliah / Indikator Performance


Mahasiswa mampu menginstal kluster Kubernetes berbasis docker container.
2. Dasar Teori.
Kubernetes membuatkan sebuah Pod untuk menempatkan instans aplikasimu. Pod
merupakan sebuah abstraksi Kubernetes yang merepresentasikan sebuah grup yang terdiri dari
satu atau lebih kontainer (seperti Docker), dan beberapa sumber daya bersama untuk kontainer-
kontainer itu. Sumber daya tersebut termasuk:
• Penyimpanan bersama, disebut Volume
• Jaringan, sebagai satu alamat IP klaster unik
• Informasi tentang bagaimana mejalankan tiap kontainer, seperti versi image atau porta
spesifik yang digunakan oleh kontainer
Pod memodelkan sebuah "logical host" spesifik aplikasi dan dapat berisi beberapa kontainer
aplikasi berbeda yang relatif terkait erat. Contohnya, sebuah Pod mungkin terdiri atas kontainer
aplikasi Node.js dan juga kontainer berbeda yang bertugas menyediakan data untuk dipublikasikan
ke server web Node.js. Kontainer-kontainer dalam sebuah Pod berbagi satu alamat IP dan ruang
porta, selalu terletak bersama dan terjadwal bersama, dan berjalankan dalam satu konteks
bersama (shared context) pada Node yang sama.
Pod merupakan unit terkecil dalam platform Kubernetes. Ketika kita membuat sebuat
Deployment, Deployment tersebut membuat Pod dengan kontainer-kontainer di dalamnya
(bukannya dengan membuat kontainer secara langsung). Tiap Pod terikat langsung dengan Node
di mana dia dijadwalkan dan tetap di sana sampai diterminasi (berdasarkan restart policy) atau
penghapusan. Jika terjadi kegagalan pada sebuah Node, Pod indentik akan dijadwalkan di Node
lain dalam klaster.

Gambar 1. Pod pada sebuah node kubernetes cluster


3. Alat dan Bahan.
❑ BKPM
❑ LCD
❑ Komputer
❑ Sofware Virtual Box
❑ Minikube

4. Prosedur Kerja
Instalasi Minikube
a. Jalankan PowerShell atau windows command prompt.
b. Jalankan minikube kubernetes cluster.
minikube start
c. Jika minikube tidak dikenali ganti menggunakan perintah .\minikube start pada direktory
C:\Program Files\Kubernetes\Minikube.
d. Menampilkan sevice yang berjalan pada kubernetes cluster.
.\kubectl get services

e. Menampilkan pod.
.\kubectl get pod

f. Membuat deployment nginx.


.\kubectl create deployment nginx-depl --image=nginx

g. Menampilkan deployment pada kubernetes cluster.


.\kubectl get deployment

h. Menampilkan pod pada kubernetes cluster.


.\kubectl get pod

i. Menampilkan replicaset kubernetes cluster


.\kubectl get replicaset
j. Mengubah pod melalui deployment
.\kubectl edit deployment nginx-depl
k. Ubah versi image nginx menjadi nginx:1.16 selanjutnya simpan.

l. Menampilkan pod terbaru hasil edit deployment kubernetes cluster.


.\kubectl get pod

Ada sebuah pod baru yang dibuat berdasarkan hasil edit deployment. Pod yang lama akan
digantikan oleh pod yang baru.
m. Jalankan lagi .\kubectl get pod.

Pod baru sudah dibuat menggantikan pod lama.


n. Menampilkan replicaset kubernetes cluster.

Terlihat bahwa replicaset lama tidak memiliki pod sedangkan replicaset yang baru memiliki 1
buah pod.
o. Menampilkan logs pod kubernetes cluster
.\kubectl logs [nama-pod]
.\kubectl logs nginx-depl-7d459cf5c8-47l9v
p. Membuat deployment baru dengan nama mongo-depl dan image mongo.
q. Tampilkan pod yang berjalan pada kubernetes cluster.
r. Tampilkan logs pod menggunakan perintah .\kubectl logs [nama-pod].
s. Menampilkan informasi pod kubernetes cluster.
.\kubectl describe pod [nama-pod]
.\kubectl describe pod mongo-depl-85ddc6d66-z8h6n

t. Menampilkan logs pod mongo-depl.


.\kubectl logs mongo-depl-85ddc6d66-z8h6n
u. Login ke container.
.\kubectl exec -it [nama-pod] bin/bash.

v. Untuk menghapus pod menggunakan perintah .\kubectl delete deployment [nama-


deployment]

5. Hasil dan Pembahasan


Lembar Kerja Praktikum
a. Tuliskan perintah untuk menampilkan membuat pod, menampilkan pod,
menamilkan deployment dan menampilkan replicaset!
b. Tugas
1) Jelaskan perbedaan pod, deployment dan replicaset!

Jawaban:
2) Jelaskan fungsi dari deployment dan replicaset!

Jawaban:

6. Kesimpulan

7. Rubrik Penilaian
Capaian Mata Kuliah :
Mahasiswa mampu Mengelola Pod pada Kubernetes Cluster.
No Indikator Skor*
1 Ketepatan terkait penjelasan Mengelola Pod pada Kubernetes 1 2 3 4
Cluster;
2 Ketepatan penyelesaian materi praktek Mengelola Pod pada 1 2 3 4
Kubernetes Cluster;

3 Kemampuan/ ketepatan komunikasi . 1 2 3 4


Jumlah skor
* lingkari salah satu

Nilai Deskripsi
4 • Menguasai tentang Mengelola Pod pada Kubernetes Clustersecara benar
• Menguasai materi praktek Mengelola Pod pada Kubernetes Clusterdengan
urutan langkah lengkap dan benar dengan waktu sesuai standar praktek

3 • Menguasai tentang Mengelola Pod pada Kubernetes Clustersecara benar


• Menguasai materi Mengelola Pod pada Kubernetes Clusterdengan urutan
langkah lengkap dan benar dengan waktu melebihi standar praktek

2 • Menguasai tentang Mengelola Pod pada Kubernetes Clustersecara benar


• Menguasai sebagian materi Mengelola Pod pada Kubernetes Clusterdengan
urutan langkah lengkap dan benar dengan urutan langkah lengkap dan benar

1 • Belum menguasai tentang Mengelola Pod pada Kubernetes Clustersecara benar


• Belum menguasai materi praktek Mengelola Pod pada Kubernetes Cluster
dengan urutan langkah lengkap dan benar dengan urutan langkah lengkap dan
benar

Petunjuk :

1. Skor akhir menggunakan skala1-4

2. Perhitungan skor akhir = skor yang diperoleh X 100

1.
Acara ke : 10
Pokok Bahasan : Replication Controller
Acara Praktikum : 10
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 4 X 170 menit ( Sesuai RPS )

1. Hasil Pembelajaran Mata Kuliah / Indikator Performance


Mahasiswa mampu mengelola replication controller pada kubernetes cluster.
2. Dasar Teori.
Replication Controller adalah salah satu fitur utama Kubernetes, yang bertanggung jawab
untuk mengelola siklus hidup pod. Ia bertanggung jawab untuk memastikan bahwa jumlah replika
pod yang ditentukan berjalan kapan saja. Ini digunakan pada saat seseorang ingin memastikan
bahwa jumlah pod yang ditentukan atau setidaknya satu pod sedang berjalan. Ia memiliki
kemampuan untuk menaikkan atau menurunkan jumlah pod yang ditentukan. Ini adalah praktik
terbaik untuk menggunakan Replication Controller untuk mengelola siklus hidup pod daripada
membuat pod berulang kali.

• Kind: ReplicationController → Dalam kode di atas, kita telah mendefinisikan kind sebagai
pengontrol replikasi yang memberi tahu kubectl bahwa file yaml akan digunakan untuk
membuat pengontrol replikasi.
• name: Tomcat-ReplicationController → Ini membantu dalam mengidentifikasi nama yang
akan digunakan untuk membuat pengontrol replikasi. Jika kita menjalankan kubctl,
dapatkan rc < Tomcat-ReplicationController > ia akan menampilkan detail pengontrol
replikasi.
• replicas: 3 → Ini membantu pengontrol replikasi untuk memahami bahwa ia perlu
memelihara tiga replika pod kapan saja dalam siklus hidup pod.
• name: Tomcat → Di bagian spec, kami telah mendefinisikan nama sebagai Tomcat yang
akan memberi tahu pengontrol replikasi bahwa wadah yang ada di dalam pod adalah
Tomcat.
• containerPort: 7474 → Ini membantu memastikan bahwa semua node di cluster tempat
pod menjalankan container di dalam pod akan diekspos pada port yang sama 7474.

3. Alat dan Bahan.


❑ BKPM
❑ LCD
❑ Komputer
❑ Sofware Virtual Box
❑ Minikube

4. Prosedur Kerja
a. Buka aplikasi PowerShell for Windows dan arahkan ke direktory C:\Program
Files\Kubernetes\Minikube.
b. Jalankan minikube dengan perintah .\minikube start.
c. Buka aplikasi notepad++ dan buat file yaml baru dengan nama nginx-rc.yaml.
d. Edit file nginx-rc.yaml dengan isian berikut.

e. Buat replication controller dengan perintah .\kubectl create -f ‘C:\Users\bekti\project\nginx-


rc.yaml’.
f. Terlihat replication controller berhasil dibuat dan jumlah pod yang berjalan sesuai pengaturna
pada file yaml sebanyak 3 pod.
g. Untuk menampilkan daftar pod gunakan perintah .\kubectl get pod.

h. Terlihat bahwa pod yang dibentuk oleh replicaset nginx-rc.yaml mempunyai nama awalan yang
sama.
i. Hapus salah satu pod yang mempunyai nama awalan nginx-rc. Replication controller akan
selalu menjaga jumlah pod yang berjalan sebanyak 3 untuk pod yang mempunyai nama
awalan nginx-rc.
j. Replication controller selalu menjaga jumlah pod yang berjalan berjumlah sesuai dengan
pengaturan pada file yaml.
k. Untuk menghapus replication controller dapat menggunakan perintah:
.\kubectl delete rc [nama-replicationcontroller]

l. Penghapusan replication controller juga akan menghapus pod pada replication controller
tersebut.
5. Hasil dan Pembahasan
Lembar Kerja Praktikum
a. Tuliskan faile yaml untuk membuat replication controller dnegan jumlah replica
5 menggunakan image nginx dan port 8081!
b. Tugas
1) Jelaskan fungsi dari replication controller!

Jawaban:

2) Jelaskan apa yang dilakukan oleh replication controller jika salah satu pod pada
replication controller mengalami down!

Jawaban:
6. Kesimpulan

7. Rubrik Penilaian
Capaian Mata Kuliah :
Mahasiswa mampu mengelola Replication Controller pada kubernetes cluster.
No Indikator Skor*
1 Ketepatan terkait penjelasan mengelola Replication Controller 1 2 3 4
pada kubernetes cluster;
2 Ketepatan penyelesaian materi praktek mengelola Replication 1 2 3 4
Controller pada kubernetes cluster;

3 Kemampuan/ ketepatan komunikasi . 1 2 3 4


Jumlah skor
* lingkari salah satu

Nilai Deskripsi
4 • Menguasai tentang mengelola Replication Controller pada kubernetes cluster
secara benar
• Menguasai materi praktek mengelola Replication Controller pada kubernetes
cluster dengan urutan langkah lengkap dan benar dengan waktu sesuai
standar praktek
3 • Menguasai tentang mengelola Replication Controller pada kubernetes cluster
secara benar
• Menguasai materi mengelola Replication Controller pada kubernetes cluster
dengan urutan langkah lengkap dan benar dengan waktu melebihi standar
praktek
2 • Menguasai tentang mengelola Replication Controller pada kubernetes cluster
secara benar
• Menguasai sebagian materi mengelola Replication Controller pada kubernetes
cluster dengan urutan langkah lengkap dan benar dengan urutan langkah
lengkap dan benar
1 • Belum menguasai tentang mengelola Replication Controller pada kubernetes
cluster benar
• Belum menguasai materi praktek mengelola Replication Controller pada
kubernetes cluster dengan urutan langkah lengkap dan benar dengan urutan
langkah lengkap dan benar

Petunjuk :

1. Skor akhir menggunakan skala1-4

2. Perhitungan skor akhir = skor yang diperoleh X 100

1.
Acara ke : 11
Pokok Bahasan : Kubernetes Service
Acara Praktikum : 11
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 4 X 170 menit ( Sesuai RPS )

1. Hasil Pembelajaran Mata Kuliah / Indikator Performance


Mahasiswa mampu mengelola service pada kubernetes cluster.
2. Dasar Teori.
Kubernetes Service adalah abstraksi logis untuk grup pod yang di-deploy dalam sebuah cluster
(yang semuanya menjalankan fungsi yang sama). Karena Pod bersifat sementara, sebuah service
memungkinkan sekelompok Pod, yang menyediakan fungsi tertentu (layanan web, pemrosesan
gambar, dll.) untuk diberi nama dan alamat IP unik (clusterIP). Selama service menjalankan alamat
IP itu, tidak akan berubah. Service juga menentukan kebijakan untuk aksesnya.
Kubernetes Service menghubungkan satu set pod ke nama service dan alamat IP yang
diabstraksi. Service menyediakan penemuan dan perutean antar pod. Misalnya, layanan
menghubungkan aplikasi front-end ke backend, yang masing-masing berjalan dalam penyebaran
terpisah dalam sebuah cluster. Service menggunakan label dan selector untuk mencocokkan pod
dengan aplikasi lain. Atribut inti dari layanan Kubernetes adalah:
• Label Selectro untuk menentukan poda mana yang harus diakses
• Alamat IP clusterIP dan nomor port yang ditetapkan
• Definisi port
• Pemetaan opsional port masuk ke targetPort
Service dapat ditentukan tanpa selector pod. Misalnya, untuk mengarahkan layanan ke layanan
lain di namespace atau cluster yang berbeda.

3. Alat dan Bahan.


❑ BKPM
❑ LCD
❑ Komputer
❑ Sofware Virtual Box
❑ Minikube

4. Prosedur Kerja
ClusterIP
a. Buka aplikasi PowerShell for Windows dan arahkan ke direktory C:\Program
Files\Kubernetes\Minikube.
b. Jalankan minikube dengan perintah .\minikube start.
c. Buka aplikasi notepad++ dan buat file yaml baru dengan nama service-nginx.yaml.
d. Edit file service-nginx.yaml dengan isian berikut.

e. Buat service dengan perintah .\kubectl create -f ‘C:\Users\bekti\project\service-nginx.yaml’.


f. Terlihat belum semua pod ready.

g. Untuk menampilkan daftar pod, service dan replicaset secara bersamaan gunakan perintah
.\kubectl get all.

h. Service nginx-service tidak bisa diakses dari komputer windows host, hanya bisa diakses dari
dalam cluster kubernetes.

i. Masuk ke pod curl menggunakan perintah .\kubectl exec -it curl -- /bin/sh dan akses
http://10.97.202.230:8080 menggunakan curl.
j. Menampilkan environment variable menggunakan perintah env melalui pod curl.
k. Menampilkan environment variable yang mengandung nama NGINX_SERVICE

l. Mengakses service menggunakan nama domain menggunakan perintah curl http://nginx-


service.default.svc.cluster.local:8080.

m. Menampilkan endpoints.
NodePort
a. Buka aplikasi notepad++ dan buat file yaml dengan nama service-nginx-nodeport.yaml.
b. Edit file service-nginx-nodeport.yaml seperti berikut.

c. Jalankan file konfigurasi service-nginx-nodeport.yaml menggunakan perintah kubectl.


d. Belum semua pod dalam status ready. Untuk menampilkan seluruh pod dan service
menggunakan perintah .\kubectl get all.

e. Untuk melihat service nodeport menggunkana perintah .\minikube service --all.

f. Untuk mengakses service dari eksternal dapat menggunakan browser windows.

Service Load Balancer


a. Buka aplikasi notepad++ dan buat file yaml dengan nama service-nginx-loadbalancer.yaml.
b. Edit file service-nginx-loadbalancer.yaml seperti berikut.
c. Jalankan file konfigurasi service-nginx-loadbalancer.yaml menggunakan perintah kubectl.

d. Menampilkan semua pod dan service.

e. External IP pending karena minikube belum support service load balancer.


f. Namun kita bisa mengaksesnya menggunakan nodeport menggunakan perintah .\minikbe
service --all.

g. Mengakses service dari browser.

5. Hasil dan Pembahasan


Lembar Kerja Praktikum
a. Tuliskan isi file yam untuk membuat service nodeport nginx pada port 60000!
b. Tugas
1) Jelaskan fungsi dari nodeport!

Jawaban:

2) Jelaskan perbedaan anatara nodeport dan loadbalancer!

Jawaban:

6. Kesimpulan
7. Rubrik Penilaian
Capaian Mata Kuliah :
Mahasiswa mampu mengelola service pada kubernetes cluster.
No Indikator Skor*
1 Ketepatan terkait penjelasan mengelola service pada 1 2 3 4
kubernetes cluster;
2 Ketepatan penyelesaian materi praktek mengelola service 1 2 3 4
pada kubernetes cluster;

3 Kemampuan/ ketepatan komunikasi . 1 2 3 4


Jumlah skor
* lingkari salah satu

Nilai Deskripsi
4 • Menguasai tentang mengelola service pada kubernetes cluster secara benar
• Menguasai materi praktek mengelola service pada kubernetes cluster dengan
urutan langkah lengkap dan benar dengan waktu sesuai standar praktek

3 • Menguasai tentang mengelola service pada kubernetes cluster secara benar


• Menguasai materi mengelola service pada kubernetes cluster dengan urutan
langkah lengkap dan benar dengan waktu melebihi standar praktek
2 • Menguasai tentang mengelola service pada kubernetes cluster secara benar
• Menguasai sebagian materi mengelola service pada kubernetes cluster dengan
urutan langkah lengkap dan benar dengan urutan langkah lengkap dan benar

1 • Belum menguasai tentang mengelola service pada kubernetes cluster benar


• Belum menguasai materi praktek mengelola service pada kubernetes cluster
dengan urutan langkah lengkap dan benar dengan urutan langkah lengkap dan
benar

Petunjuk :

1. Skor akhir menggunakan skala1-4

2. Perhitungan skor akhir = skor yang diperoleh X 100

1.
Acara ke : 12
Pokok Bahasan : Persistent Volume
Acara Praktikum : 12
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 4 X 170 menit ( Sesuai RPS )

1. Hasil Pembelajaran Mata Kuliah / Indikator Performance


Mahasiswa mampu mengelola persistent volume pada kubernetes cluster.
2. Dasar Teori.
Mengelola penyimpanan adalah hal yang berbeda dengan mengelola komputasi. Sub-sistem
PersistentVolume (PV) menyediakan API untuk para pengguna dan administrator yang
mengabstraksi detail-detail tentang bagaimana penyimpanan disediakan dari bagaimana
penyimpanan dikonsumsi. Untuk melakukan ini, kubernetes mengenalkan dua sumber daya API
baru: PersistentVolume (PV) dan PersistentVolumeClaim (PVC).
Sebuah PersistentVolume (PV) adalah suatu bagian dari penyimpanan pada klaster yang telah
disediakan oleh seorang administrator. PV merupakan sebuah sumber daya pada klaster sama
halnya dengan node yang juga merupakan sumber daya klaster. PV adalah volume plugin seperti
Volumes, tetapi memiliki siklus hidup yang independen dari pod individual yang menggunakan PV
tersebut. Objek API ini menangkap detail-detail implementasi dari penyimpanan, seperti NFS,
iSCSI, atau sistem penyimpanan yang spesifik pada penyedia layanan cloud.
Sebuah PersistentVolumeClaim (PVC) merupakan permintaan penyimpanan oleh pengguna.
PVC mirip dengan sebuah pod. Pod mengonsumsi sumber daya node dan PVC mengonsumsi
sumber daya PV. Pods dapat meminta taraf-taraf spesifik dari sumber daya (CPU dan Memory).
Klaim dapat meminta ukuran dan mode akses yang spesifik (seperti, dapat dipasang sekali sebagai
read/write atau lain kali sebagai read-only).

3. Alat dan Bahan.


❑ BKPM
❑ LCD
❑ Komputer
❑ Sofware Virtual Box
❑ Minikube

4. Prosedur Kerja
ClusterIP
a. Buat direktori pada C:\Users\(nama-user) yang akan dipakai untuk menyimpan data persistent
volume, misal C:\Users\bekti\data.
b. Buat file index.html di dalam folder data dan tulis “Hello, I am Kubernetes” pada file index.html
tersebut.
c. Jalankan minikube.
d. Buat file yaml dengan isian sebagai berikut untuk membuat persistent volume. Gunakan
aplikasi code editor untuk membuat file yaml. Ganti path dengan “/c/Users/bekti/data”

e. Buat persistent volume menggunakan perintah .\kubectl create -f


C:\Users\bekti\project\persistent-volume.yaml.
f. Menampilkan daftar persistent volume menggunakan perintah .\kubectl get pv.

g. Buat file yaml dengan isian sebagai berikut untuk membuat persistent volume claim.
h. Buat persistent volume claim menggunakan perintah .\kubectl create -f
C:\Users\bekti\project\persistent-claim.yaml.
i. Menampilkan daftar persistent volume claim menggunakan perintah .\kubectl get pvc.

j. Persistent volume task-pv-volume2 status bound.

k. Buat file yaml untuk membuat pod dengan isian sebagai berikut.
l. Setelah pod ready login ke pod menggunakan perintah .\kubectl exec -it task-pv-pod -- /bin/sh
selanjutnya jalankan curl localhost.

5. Hasil dan Pembahasan


Lembar Kerja Praktikum
a. Tuliskan isi file yaml untuk membuat persistent volume pada direktori /c/data
dengan ukuran 40GB!
b. Tugas
1) Jelaskan fungsi dari persistent volume!

Jawaban:

2) Jelaskan perbedaan antara persistent volume dan persistent volume claim!

Jawaban:
6. Kesimpulan

7. Rubrik Penilaian
Capaian Mata Kuliah :
Mahasiswa mampu mengelola persistent volume pada kubernetes cluster.
No Indikator Skor*
1 Ketepatan terkait penjelasan mengelola persistent volume 1 2 3 4
pada kubernetes cluster;
2 Ketepatan penyelesaian materi praktek mengelola persistent 1 2 3 4
volume pada kubernetes cluster;

3 Kemampuan/ ketepatan komunikasi . 1 2 3 4


Jumlah skor
* lingkari salah satu

Nilai Deskripsi
4 • Menguasai tentang mengelola persistent volume pada kubernetes cluster
secara benar
• Menguasai materi praktek mengelola persistent volume pada kubernetes
cluster dengan urutan langkah lengkap dan benar dengan waktu sesuai
standar praktek
3 • Menguasai tentang mengelola persistent volume pada kubernetes cluster
secara benar
• Menguasai materi mengelola persistent volume pada kubernetes cluster
dengan urutan langkah lengkap dan benar dengan waktu melebihi standar
praktek
2 • Menguasai tentang mengelola persistent volume pada kubernetes cluster
secara benar
• Menguasai sebagian materi mengelola persistent volume pada kubernetes
cluster dengan urutan langkah lengkap dan benar dengan urutan langkah
lengkap dan benar
1 • Belum menguasai tentang mengelola persistent volume pada kubernetes
cluster benar
• Belum menguasai materi praktek mengelola persistent volume pada
kubernetes cluster dengan urutan langkah lengkap dan benar dengan urutan
langkah lengkap dan benar

Petunjuk :

1. Skor akhir menggunakan skala1-4

2. Perhitungan skor akhir = skor yang diperoleh X 100

1.
Acara ke : 13
Pokok Bahasan : Horizontal Pod Autoscaller
Acara Praktikum : 13
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 4 X 170 menit ( Sesuai RPS )

1. Hasil Pembelajaran Mata Kuliah / Indikator Performance


Mahasiswa mampu mengelola Horizontal Pod Autoscaller pada kubernetes cluster.
2. Dasar Teori.
HorizontalPodAutoscaler secara otomatis akan memperbanyak jumlah Pod di dalam
ReplicationController, Deployment, ReplicaSet ataupun StatefulSet berdasarkan hasil observasi
penggunaan CPU(atau, dengan metrik khusus, pada beberapa aplikasi yang menyediakan metrik).
Perlu dicatat bahwa HorizontalPodAutoscale tidak dapat diterapkan pada objek yang tidak dapat
diperbanyak, seperti DeamonSets.
HorizontalPodAutoscaler diimplementasikan sebagai Kubernetes API resource dan sebuah
controller. Resource tersebut akan menentukan perilaku dari controller-nya. Kontroler akan
mengubah jumlah replika pada ReplicationController atau pada Deployment untuk menyesuaikan
dengan hasil observasi rata-rata penggunaan CPU sesuai dengan yang ditentukan oleh pengguna.

HorizontalPodAutoscaler diimplementasikan sebagai sebuah loop kontrol, yang secara berkala


dikontrol oleh flag --horizontal-pod-autoscaler-sync-period pada controller manager (dengan nilai
bawaan 15 detik).

3. Alat dan Bahan.


❑ BKPM
❑ LCD
❑ Komputer
❑ Sofware Virtual Box
❑ Minikube

4. Prosedur Kerja
a. Jalankan minikube menggunakan power shell atau command prompt.
b. Aktifkan metrics server menggunakan perintah .\minikube addons enable metrics-server.

c. Periksa apakah metrics-server sudah enable menggunakan perintah .\minikube addons list.

d. Buat sebuah pod yang menjalankan sebuah operasi tertentu yang menggunakan CPU.
e. Pod tersebut menjalankan operasi aritmatika secara berulang seperti berikut.
<?php
$x = 0.0001;
for ($i = 0; $i <= 1000000; $i++) {
$x += sqrt($x);
}
echo "OK!";
?>
f. Buat sebuah horizontal pod autoscaller yang akan membatasi penggunaan CPU sebesar 50%,
jika penggunaan CPU di atas 50% maka pod baru akan dibuat.

g. Cek status autoscaller yang sudah dibuat.

h. Meningkatkan penggunaan CPU pada pod php-apache dengan mengirimkan request secara
berulang dari sebuah pod.

i. Buka terminal baru dan cek horizontal autoscaller.

j. Horizontal pod autoscaller akan membuat replica pod baru jika penggunaan cpu di atas 50%.
5. Hasil dan Pembahasan
Lembar Kerja Praktikum
a. Tuliskan perintah untuk membuat horizontal autoscaller yang membtasi
penggunaan cpu sebesar 60%, jika penggunaan cpu di atas 60% maka replica
pod akan diciptakan!
b. Tugas
1) Jelaskan fungsi dari horizontal pod autoscaller!

Jawaban:

2) Jelaskan perbedaan anatara horizontal pod autoscaller dan vertical autoscaller!

Jawaban:
6. Kesimpulan

7. Rubrik Penilaian
Capaian Mata Kuliah :
Mahasiswa mampu mengelola Horizontal Pod Autoscaller pada kubernetes cluster.
No Indikator Skor*
1 Ketepatan terkait penjelasan mengelola Horizontal Pod 1 2 3 4
Autoscaller pada kubernetes cluster;
2 Ketepatan penyelesaian materi praktek mengelola Horizontal 1 2 3 4
Pod Autoscaller pada kubernetes cluster;

3 Kemampuan/ ketepatan komunikasi . 1 2 3 4


Jumlah skor
* lingkari salah satu

Nilai Deskripsi
4 • Menguasai tentang mengelola Horizontal Pod Autoscaller pada kubernetes
cluster secara benar
• Menguasai materi praktek mengelola Horizontal Pod Autoscaller pada
kubernetes cluster dengan urutan langkah lengkap dan benar dengan waktu
sesuai standar praktek
3 • Menguasai tentang mengelola Horizontal Pod Autoscaller pada kubernetes
cluster secara benar
• Menguasai materi mengelola Horizontal Pod Autoscaller pada kubernetes
cluster dengan urutan langkah lengkap dan benar dengan waktu melebihi
standar praktek
2 • Menguasai tentang mengelola Horizontal Pod Autoscaller pada kubernetes
cluster secara benar
• Menguasai sebagian materi mengelola Horizontal Pod Autoscaller pada
kubernetes cluster dengan urutan langkah lengkap dan benar dengan urutan
langkah lengkap dan benar
1 • Belum menguasai tentang mengelola Horizontal Pod Autoscaller pada
kubernetes cluster benar
• Belum menguasai materi praktek mengelola Horizontal Pod Autoscaller pada
kubernetes cluster dengan urutan langkah lengkap dan benar dengan urutan
langkah lengkap dan benar

Petunjuk :

1. Skor akhir menggunakan skala1-4

2. Perhitungan skor akhir = skor yang diperoleh X 100

1.

Anda mungkin juga menyukai