SlideShare a Scribd company logo
1 of 31
Kubernetes
Fundamentals
Contacts
Muhammad Bintang Cahya Putra
● Instagram : instagram.com/strongpapazola
● Youtube : strongpapazola
● Email : strongpapazola@gmail.com
Sebelum Belajar Kubernetes
Dari Monolith ke Microservices
● Apa itu Monolith? Saat kita membuat sebuah aplikasi, dan semua fitur dibuat dalam aplikasi
tersebut, maka aplikasi tersebut bisa dibilang Monolith.
● Apa itu Microservices? Microservices adalah kebalikannya dari Monolith, dimana aplikasi dipecah
menjadi kecil-kecil, dimana tiap aplikasi hanya mengurus satu tugas dengan baik, dan semua
aplikasi saling berkomunikasi.
Dari Monolith ke Microservices
Monolith Application Microservices Application
Server 1 Server 1 Server 2
Dari Virtual Machine ke Container
Bare-metal machine Bare-metal machine
Host OS Host OS
Hypervisor
OS OS OS
App 1
App 2
App 3
App 4
App 5
App 6
App 1
Container 1
App 2
Container 2
App 4
Container 4
App 3
Container 3
App 6
Container 6
App 5
Container 5
Virtual Machine Container
Container Manager
Scaling Microservices Menggunakan Container
Jalankan 3 aplikasi yang
sama
Docker
● Kubernetes mendukung beberapa Container Manager
● Namun yang saat ini sangat populer adalah Docker
Docker Deployment
Docker Docker
Image
Image
Image
Container
Developer
Local Image
Registry
Production
1. Developer
meminta docker
untuk membuat
image dan
mengirim ke
registry
2. Docker
membuat image 3. Docker
mengirim ke
Image Registry
4. Developer meminda docker di
production untuk menjalankan image
5. Docker mengambil image dari
Image Registry
6. Docker menjalankan container dari
image
Sebelum Lanjut
● Pastikan sudah mengerti Docker
● https://www.youtube.com/playlist?list=PL-CtdCApEFH-A7jBmdertzbeACuQWvQao
Pengenalan Kubernetes
Apa itu Kubernetes?
● Kubernetes adalah aplikasi untuk automation deployment, scaling dan manajemen aplikasi
berbasis container
● Kubernetes adalah aplikasi Open Source dan saat ini paling populer di jenis nya
● Banyak perusahaan-perusahaan besar yang sudah menggunakan Kubernetes, termasuk
perusahaan Unicorn di Indonesia
Sejarah Kubernetes
● Bertahun-tahun Google membuat internal sistem yang bernama Borg (kemudian berganti nama
menjadi Omega)
● Sistem ini digunakan untuk membantu developer dan infra engineer untuk me-manage ribuan
server yang ada di Google
● Tahun 2014 Google memperkenalkan Kubernetes, Open Source system yang berasal dari
pengalaman Borg, Omega dan internal system lainnya
Arsitektur Kubernetes
Arsitektur Kubernetes
Kubernetes Master
● kube-apiserver bertugas sebagai API yang digunakan untuk berinteraksi dengan Kubernetes
Cluster
● etcd bertugas untuk sebagai database untuk menyimpan data Kubernetes Cluster
● kube-scheduler bertugas untuk memperhatikan aplikasi yang kita jalankan dan meminta Node
untuk menjalankan aplikasi yang kita jalankan
● kube-controller-manager bertugas melakukan kontrol terhadap Kubernetes Cluster
● cloud-controller-manager bertugas untuk melakukan kontrol terhadap interaksi dengan cloud
provider
Kubernetes Nodes
● kubelet berjalan di setiap Node dan bertugas untuk memastikan bahwa aplikasi kita berjalan di
Node
● kube-proxy berjalan di setiap Node dan bertugas sebagai proxy terhadap arus network yang
masuk ke aplikasi kita dan sebagai load balancer juga
● container-manager berjalan di setiap Node dan bertugas sebagai container manager. Kubernetes
mendukung beberapa container manager seperti Docker, containerd, cri-o, rktlet, dan yang
lainnya.
Alur Kerja Menggunakan Kubernetes
3
2
Kubernetes
Master
Configuration File
Kubernetes Workers
Developer
Detail Alur Kerja Kubernetes
1
2
Kubernetes
Master
Configuration File
Kubernetes Workers
Image Registry
kubelet kube-proxy
docker
Developer
Menginstall Kubernetes di Local
Cara Menginstall Kubernetes di Local
● Menggunakan Docker Desktop
● Menggunakan Minikube (butuh VirtualBox atau Hyper-V)
○ https://github.com/kubernetes/minikube
Menginstall Kubectl
https://kubernetes.io/docs/tasks/tools/install-kubectl/
Memulai Kubernetes
• Untuk melakukan testing Kubernetes, di butuhkan tools untuk menjalankan Kubernetes pada computer PC
atau satu node.
• Salah satu tools yang bisa digunakan adalah Minikube.
• Instalasi minikube pada Linux dapat dilakukan dengan instruksi:
• Instalasi minikube pada Windows dapat dilakukan dengan mendownload file instalasi minikube-windows-
amd64.exe pada link berikut: https://storage.googleapis.com/minikube/releases/latest/minikube-windows-
amd64.exe
Memulai Kubernetes
• Pada windows, ubah nama minikube-windows-amd64.exe menjadi minikube.exe dan tambahkan path ke
minikube.exe ke dalam environment variables Windows.
• Setelah instalasi minikube pada masing-masing OS, jalankan instruksi berikut untuk memvalidasi hasil instalasi
minikube.
• Minikube mendukung beberapa aplikasi virtual machine seperti:
• Oracle VirtualBox
• VMWare Fusion
• KVM
• KVM2
• HyperKit
• XHYVE
Memulai Kubernetes
• Tools berikutnya adalah Oracle VirtualBox sebagai aplikasi Virtual Machine.
• Tools ini dibutuhkan oleh Minikube untuk membuat cluster Kubernetes pada local computer.
• Install aplikasi Oracle VirtualBox dari link berikut: https://www.virtualbox.org/wiki/Downloads
• Setelah selesai instalasi Oracle VirtualBox, jalankan instruksi berikut untuk menguji koneksi antara minikube
dengan Oracle VirtualBox.
• Instruksi alternatif:
Membuat cluster local dengan
minikube.
• Untuk membuat cluster local, jalankan instruksi berikut
Membuat cluster local dengan
minikube.
• Buat sebuah file db.yml dan simpan didalam
folder proyek. Isi nginx.yaml adalah seperti berikut:
Membuat cluster local dengan
minikube.
• Lalu jalankan instruksi berikut untuk membuat sebuah Pod. Berikut adalah instruksi bila db.yml disimpan dalam
folder pod.
• Untuk memvalidasi Pod yang sudah berjalan, jalankan instruksi berikut:
• Outputnya adalah seperti berikut:
Membuat service dengan minikube.
• Untuk menjalankan service pada Kubernetes, jalankan instruksi berikut:
• Instruksi di atas akan membuat service dan memanggil informasi-nya dari API server. Keluaran dari instruksi di
atas adalah seperti berikut:
• Dari instruksi di atas, service telah dijalankan. Untuk mengakses nginx dapat dilakukan dengan instruksi:
Challenge
Yang bisa dilakukan :
● Membuat deployment aplikasi untuk Kubernetes
● Mulai menggunakan Kubernetes Cluster menggunakan Cloud Provide
Contacts
● Instagram : instagram.com/strongpapazola
● Youtube : strongpapazola
● Email : strongpapazola@gmail.com

More Related Content

What's hot

Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad
Docker, Inc.
 

What's hot (20)

Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
Introduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang NguyenIntroduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang Nguyen
 
Kubernetes fundamentals
Kubernetes fundamentalsKubernetes fundamentals
Kubernetes fundamentals
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)
 
Webinar: Zephyr Project – Um RTOS para IOT
Webinar: Zephyr Project – Um RTOS para IOTWebinar: Zephyr Project – Um RTOS para IOT
Webinar: Zephyr Project – Um RTOS para IOT
 
Kubernetes architecture
Kubernetes architectureKubernetes architecture
Kubernetes architecture
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
 
Azure vidyapeeth -Introduction to Azure Container Service & Registry Service
Azure vidyapeeth -Introduction to Azure Container Service & Registry ServiceAzure vidyapeeth -Introduction to Azure Container Service & Registry Service
Azure vidyapeeth -Introduction to Azure Container Service & Registry Service
 
Docker intro
Docker introDocker intro
Docker intro
 
Achieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesAchieving CI/CD with Kubernetes
Achieving CI/CD with Kubernetes
 
AKS - Azure Kubernetes Services - kubernetes meetup may 2018
AKS - Azure Kubernetes Services  - kubernetes meetup may 2018AKS - Azure Kubernetes Services  - kubernetes meetup may 2018
AKS - Azure Kubernetes Services - kubernetes meetup may 2018
 
Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...
Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...
Kubernetes vs Docker Swarm | Container Orchestration War | Kubernetes Trainin...
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
 
Azure kubernetes service
Azure kubernetes serviceAzure kubernetes service
Azure kubernetes service
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 

Similar to Kubernetes Fundamentals.pptx

Analisis Keamanan Nodejs sebagai platorm aplikasi web
Analisis Keamanan Nodejs sebagai platorm aplikasi webAnalisis Keamanan Nodejs sebagai platorm aplikasi web
Analisis Keamanan Nodejs sebagai platorm aplikasi web
Irfan Aris Nurhakim
 
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniterMembangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Beni Krisbiantoro
 
436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptx
436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptx436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptx
436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptx
FadillaKhadli
 
Isman Subarkah Windows Communication Foundation
Isman Subarkah Windows Communication FoundationIsman Subarkah Windows Communication Foundation
Isman Subarkah Windows Communication Foundation
Isman Subarkah
 
JENI-Intro1-Bab02-Pengenalan Bahasa Java.pdf
JENI-Intro1-Bab02-Pengenalan Bahasa Java.pdfJENI-Intro1-Bab02-Pengenalan Bahasa Java.pdf
JENI-Intro1-Bab02-Pengenalan Bahasa Java.pdf
Jurnal IT
 

Similar to Kubernetes Fundamentals.pptx (20)

Docker Fundamental
Docker FundamentalDocker Fundamental
Docker Fundamental
 
Container (Virtual Environment).pptx
Container (Virtual Environment).pptxContainer (Virtual Environment).pptx
Container (Virtual Environment).pptx
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
kubernetes-210304025010.pdf
kubernetes-210304025010.pdfkubernetes-210304025010.pdf
kubernetes-210304025010.pdf
 
Analisis Keamanan Nodejs sebagai platorm aplikasi web
Analisis Keamanan Nodejs sebagai platorm aplikasi webAnalisis Keamanan Nodejs sebagai platorm aplikasi web
Analisis Keamanan Nodejs sebagai platorm aplikasi web
 
Docker Application Deployment.pptx
Docker Application Deployment.pptxDocker Application Deployment.pptx
Docker Application Deployment.pptx
 
Probolinggo Developer Meetup (Oct 18)
Probolinggo Developer Meetup (Oct 18)Probolinggo Developer Meetup (Oct 18)
Probolinggo Developer Meetup (Oct 18)
 
Docker
DockerDocker
Docker
 
Slide Presentasi Cloud Computing on Operating System Research
Slide Presentasi Cloud Computing on Operating System ResearchSlide Presentasi Cloud Computing on Operating System Research
Slide Presentasi Cloud Computing on Operating System Research
 
Sistem Jaringan 2 Diskusi 3.pdf
Sistem Jaringan 2 Diskusi 3.pdfSistem Jaringan 2 Diskusi 3.pdf
Sistem Jaringan 2 Diskusi 3.pdf
 
Wida nursyahidah 6701140054_pis1405_tugas apsi
Wida nursyahidah 6701140054_pis1405_tugas apsiWida nursyahidah 6701140054_pis1405_tugas apsi
Wida nursyahidah 6701140054_pis1405_tugas apsi
 
Materi-bab1.pptx
Materi-bab1.pptxMateri-bab1.pptx
Materi-bab1.pptx
 
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniterMembangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
 
436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptx
436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptx436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptx
436457871-KD-3-7-Menerapkan-Instalasi-Software-Aplikasi.pptx
 
Kernel-based Virtual Machine
Kernel-based Virtual MachineKernel-based Virtual Machine
Kernel-based Virtual Machine
 
Berkarir Sebagai DevOps Engineer.pdf
Berkarir Sebagai DevOps Engineer.pdfBerkarir Sebagai DevOps Engineer.pdf
Berkarir Sebagai DevOps Engineer.pdf
 
Pertemuan Ke-12 - Sistem Operasi -Mesin Virtual (VM).pptx
Pertemuan Ke-12 - Sistem Operasi -Mesin Virtual (VM).pptxPertemuan Ke-12 - Sistem Operasi -Mesin Virtual (VM).pptx
Pertemuan Ke-12 - Sistem Operasi -Mesin Virtual (VM).pptx
 
17.06.323_jurnal_eproc.pdf
17.06.323_jurnal_eproc.pdf17.06.323_jurnal_eproc.pdf
17.06.323_jurnal_eproc.pdf
 
Isman Subarkah Windows Communication Foundation
Isman Subarkah Windows Communication FoundationIsman Subarkah Windows Communication Foundation
Isman Subarkah Windows Communication Foundation
 
JENI-Intro1-Bab02-Pengenalan Bahasa Java.pdf
JENI-Intro1-Bab02-Pengenalan Bahasa Java.pdfJENI-Intro1-Bab02-Pengenalan Bahasa Java.pdf
JENI-Intro1-Bab02-Pengenalan Bahasa Java.pdf
 

Recently uploaded

Abortion pills in Muscat ( Oman) +966572737505! Get CYTOTEC, unwanted kit mis...
Abortion pills in Muscat ( Oman) +966572737505! Get CYTOTEC, unwanted kit mis...Abortion pills in Muscat ( Oman) +966572737505! Get CYTOTEC, unwanted kit mis...
Abortion pills in Muscat ( Oman) +966572737505! Get CYTOTEC, unwanted kit mis...
Abortion pills in Riyadh +966572737505 get cytotec
 
Perkembangan Perbankan di Indonesia Perkembangan Perbankan di Indonesia
Perkembangan Perbankan di Indonesia Perkembangan Perbankan di IndonesiaPerkembangan Perbankan di Indonesia Perkembangan Perbankan di Indonesia
Perkembangan Perbankan di Indonesia Perkembangan Perbankan di Indonesia
langkahgontay88
 
BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...
BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...
BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...
FORTRESS
 
ATRIUM GAMING : SLOT GACOR MUDAH MENANG 2024 TERBARU
ATRIUM GAMING : SLOT GACOR MUDAH MENANG 2024 TERBARUATRIUM GAMING : SLOT GACOR MUDAH MENANG 2024 TERBARU
ATRIUM GAMING : SLOT GACOR MUDAH MENANG 2024 TERBARU
sayangkamuu240203
 

Recently uploaded (20)

UNIKBET : Bandar Slot Gacor Pragmatic Play Deposit Pakai Bank Mega Bonus Berl...
UNIKBET : Bandar Slot Gacor Pragmatic Play Deposit Pakai Bank Mega Bonus Berl...UNIKBET : Bandar Slot Gacor Pragmatic Play Deposit Pakai Bank Mega Bonus Berl...
UNIKBET : Bandar Slot Gacor Pragmatic Play Deposit Pakai Bank Mega Bonus Berl...
 
PERAN DAN FUNGSI KOPERASI-TUGAS PPT NOVAL 2B.pptx
PERAN DAN FUNGSI KOPERASI-TUGAS PPT NOVAL 2B.pptxPERAN DAN FUNGSI KOPERASI-TUGAS PPT NOVAL 2B.pptx
PERAN DAN FUNGSI KOPERASI-TUGAS PPT NOVAL 2B.pptx
 
Abortion pills in Muscat ( Oman) +966572737505! Get CYTOTEC, unwanted kit mis...
Abortion pills in Muscat ( Oman) +966572737505! Get CYTOTEC, unwanted kit mis...Abortion pills in Muscat ( Oman) +966572737505! Get CYTOTEC, unwanted kit mis...
Abortion pills in Muscat ( Oman) +966572737505! Get CYTOTEC, unwanted kit mis...
 
analisa kelayakan bisnis aspek keuangan.
analisa kelayakan bisnis aspek keuangan.analisa kelayakan bisnis aspek keuangan.
analisa kelayakan bisnis aspek keuangan.
 
MODUL PEGAJARAN ASURANSI BELUM KOMPLIT 1
MODUL PEGAJARAN ASURANSI BELUM KOMPLIT 1MODUL PEGAJARAN ASURANSI BELUM KOMPLIT 1
MODUL PEGAJARAN ASURANSI BELUM KOMPLIT 1
 
UNIKBET : Agen Slot Resmi Pragmatic Play Ada Deposit Sesama Linkaja
UNIKBET : Agen Slot Resmi Pragmatic Play Ada Deposit Sesama LinkajaUNIKBET : Agen Slot Resmi Pragmatic Play Ada Deposit Sesama Linkaja
UNIKBET : Agen Slot Resmi Pragmatic Play Ada Deposit Sesama Linkaja
 
LAPORAN HASIL OBSERVASI ENGLISH COURSE (1).docx
LAPORAN HASIL OBSERVASI ENGLISH COURSE (1).docxLAPORAN HASIL OBSERVASI ENGLISH COURSE (1).docx
LAPORAN HASIL OBSERVASI ENGLISH COURSE (1).docx
 
Perkembangan Perbankan di Indonesia Perkembangan Perbankan di Indonesia
Perkembangan Perbankan di Indonesia Perkembangan Perbankan di IndonesiaPerkembangan Perbankan di Indonesia Perkembangan Perbankan di Indonesia
Perkembangan Perbankan di Indonesia Perkembangan Perbankan di Indonesia
 
Pelembagaan Badan Usaha Milik Desa (BUMDes)ppt
Pelembagaan Badan Usaha Milik Desa (BUMDes)pptPelembagaan Badan Usaha Milik Desa (BUMDes)ppt
Pelembagaan Badan Usaha Milik Desa (BUMDes)ppt
 
CALL/WA: 0822 348 60 166 ( TSEL ) Jasa Digital Marketing Solo
CALL/WA: 0822 348 60 166 ( TSEL ) Jasa Digital Marketing SoloCALL/WA: 0822 348 60 166 ( TSEL ) Jasa Digital Marketing Solo
CALL/WA: 0822 348 60 166 ( TSEL ) Jasa Digital Marketing Solo
 
BAMBUHOKI88 Situs Game Gacor Menggunakan Doku Mudah Jackpot Besar
BAMBUHOKI88 Situs Game Gacor Menggunakan Doku Mudah Jackpot BesarBAMBUHOKI88 Situs Game Gacor Menggunakan Doku Mudah Jackpot Besar
BAMBUHOKI88 Situs Game Gacor Menggunakan Doku Mudah Jackpot Besar
 
BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...
BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...
BERKELAS!!! WA 0821 7001 0763 (FORTRESS) Harga Pintu Aluminium Kamar Mandi di...
 
PPT Klp 5 Sistem Informasi Manajemen.pdf
PPT Klp 5 Sistem Informasi Manajemen.pdfPPT Klp 5 Sistem Informasi Manajemen.pdf
PPT Klp 5 Sistem Informasi Manajemen.pdf
 
Bab 11 Liabilitas Jangka Pendek dan Penggajian.pptx
Bab 11 Liabilitas Jangka Pendek dan   Penggajian.pptxBab 11 Liabilitas Jangka Pendek dan   Penggajian.pptx
Bab 11 Liabilitas Jangka Pendek dan Penggajian.pptx
 
Nilai-Waktu-Uang.pptx kdgmkgkdm ksfmkdkmdg
Nilai-Waktu-Uang.pptx kdgmkgkdm ksfmkdkmdgNilai-Waktu-Uang.pptx kdgmkgkdm ksfmkdkmdg
Nilai-Waktu-Uang.pptx kdgmkgkdm ksfmkdkmdg
 
STRATEGI BERSAING MENGGUNAKAN ANALISIS SWOT
STRATEGI BERSAING MENGGUNAKAN ANALISIS SWOTSTRATEGI BERSAING MENGGUNAKAN ANALISIS SWOT
STRATEGI BERSAING MENGGUNAKAN ANALISIS SWOT
 
ATRIUM GAMING : SLOT GACOR MUDAH MENANG 2024 TERBARU
ATRIUM GAMING : SLOT GACOR MUDAH MENANG 2024 TERBARUATRIUM GAMING : SLOT GACOR MUDAH MENANG 2024 TERBARU
ATRIUM GAMING : SLOT GACOR MUDAH MENANG 2024 TERBARU
 
APAKAH LOGISTIK SIAP UNTUK PERTUMBUHAN? Michael Rada
APAKAH LOGISTIK SIAP UNTUK PERTUMBUHAN? Michael RadaAPAKAH LOGISTIK SIAP UNTUK PERTUMBUHAN? Michael Rada
APAKAH LOGISTIK SIAP UNTUK PERTUMBUHAN? Michael Rada
 
ASKEP WAHAM KELOMPOK 4 vvvvvvvvvPPT.pptx
ASKEP WAHAM KELOMPOK 4 vvvvvvvvvPPT.pptxASKEP WAHAM KELOMPOK 4 vvvvvvvvvPPT.pptx
ASKEP WAHAM KELOMPOK 4 vvvvvvvvvPPT.pptx
 
Media Pembelajaran Ekonomi XI - Bab 5.pptx
Media Pembelajaran Ekonomi XI - Bab 5.pptxMedia Pembelajaran Ekonomi XI - Bab 5.pptx
Media Pembelajaran Ekonomi XI - Bab 5.pptx
 

Kubernetes Fundamentals.pptx

  • 2. Contacts Muhammad Bintang Cahya Putra ● Instagram : instagram.com/strongpapazola ● Youtube : strongpapazola ● Email : strongpapazola@gmail.com
  • 4. Dari Monolith ke Microservices ● Apa itu Monolith? Saat kita membuat sebuah aplikasi, dan semua fitur dibuat dalam aplikasi tersebut, maka aplikasi tersebut bisa dibilang Monolith. ● Apa itu Microservices? Microservices adalah kebalikannya dari Monolith, dimana aplikasi dipecah menjadi kecil-kecil, dimana tiap aplikasi hanya mengurus satu tugas dengan baik, dan semua aplikasi saling berkomunikasi.
  • 5. Dari Monolith ke Microservices Monolith Application Microservices Application Server 1 Server 1 Server 2
  • 6. Dari Virtual Machine ke Container Bare-metal machine Bare-metal machine Host OS Host OS Hypervisor OS OS OS App 1 App 2 App 3 App 4 App 5 App 6 App 1 Container 1 App 2 Container 2 App 4 Container 4 App 3 Container 3 App 6 Container 6 App 5 Container 5 Virtual Machine Container Container Manager
  • 7. Scaling Microservices Menggunakan Container Jalankan 3 aplikasi yang sama
  • 8. Docker ● Kubernetes mendukung beberapa Container Manager ● Namun yang saat ini sangat populer adalah Docker
  • 9. Docker Deployment Docker Docker Image Image Image Container Developer Local Image Registry Production 1. Developer meminta docker untuk membuat image dan mengirim ke registry 2. Docker membuat image 3. Docker mengirim ke Image Registry 4. Developer meminda docker di production untuk menjalankan image 5. Docker mengambil image dari Image Registry 6. Docker menjalankan container dari image
  • 10. Sebelum Lanjut ● Pastikan sudah mengerti Docker ● https://www.youtube.com/playlist?list=PL-CtdCApEFH-A7jBmdertzbeACuQWvQao
  • 12. Apa itu Kubernetes? ● Kubernetes adalah aplikasi untuk automation deployment, scaling dan manajemen aplikasi berbasis container ● Kubernetes adalah aplikasi Open Source dan saat ini paling populer di jenis nya ● Banyak perusahaan-perusahaan besar yang sudah menggunakan Kubernetes, termasuk perusahaan Unicorn di Indonesia
  • 13. Sejarah Kubernetes ● Bertahun-tahun Google membuat internal sistem yang bernama Borg (kemudian berganti nama menjadi Omega) ● Sistem ini digunakan untuk membantu developer dan infra engineer untuk me-manage ribuan server yang ada di Google ● Tahun 2014 Google memperkenalkan Kubernetes, Open Source system yang berasal dari pengalaman Borg, Omega dan internal system lainnya
  • 16. Kubernetes Master ● kube-apiserver bertugas sebagai API yang digunakan untuk berinteraksi dengan Kubernetes Cluster ● etcd bertugas untuk sebagai database untuk menyimpan data Kubernetes Cluster ● kube-scheduler bertugas untuk memperhatikan aplikasi yang kita jalankan dan meminta Node untuk menjalankan aplikasi yang kita jalankan ● kube-controller-manager bertugas melakukan kontrol terhadap Kubernetes Cluster ● cloud-controller-manager bertugas untuk melakukan kontrol terhadap interaksi dengan cloud provider
  • 17. Kubernetes Nodes ● kubelet berjalan di setiap Node dan bertugas untuk memastikan bahwa aplikasi kita berjalan di Node ● kube-proxy berjalan di setiap Node dan bertugas sebagai proxy terhadap arus network yang masuk ke aplikasi kita dan sebagai load balancer juga ● container-manager berjalan di setiap Node dan bertugas sebagai container manager. Kubernetes mendukung beberapa container manager seperti Docker, containerd, cri-o, rktlet, dan yang lainnya.
  • 18. Alur Kerja Menggunakan Kubernetes 3 2 Kubernetes Master Configuration File Kubernetes Workers Developer
  • 19. Detail Alur Kerja Kubernetes 1 2 Kubernetes Master Configuration File Kubernetes Workers Image Registry kubelet kube-proxy docker Developer
  • 21. Cara Menginstall Kubernetes di Local ● Menggunakan Docker Desktop ● Menggunakan Minikube (butuh VirtualBox atau Hyper-V) ○ https://github.com/kubernetes/minikube
  • 23. Memulai Kubernetes • Untuk melakukan testing Kubernetes, di butuhkan tools untuk menjalankan Kubernetes pada computer PC atau satu node. • Salah satu tools yang bisa digunakan adalah Minikube. • Instalasi minikube pada Linux dapat dilakukan dengan instruksi: • Instalasi minikube pada Windows dapat dilakukan dengan mendownload file instalasi minikube-windows- amd64.exe pada link berikut: https://storage.googleapis.com/minikube/releases/latest/minikube-windows- amd64.exe
  • 24. Memulai Kubernetes • Pada windows, ubah nama minikube-windows-amd64.exe menjadi minikube.exe dan tambahkan path ke minikube.exe ke dalam environment variables Windows. • Setelah instalasi minikube pada masing-masing OS, jalankan instruksi berikut untuk memvalidasi hasil instalasi minikube. • Minikube mendukung beberapa aplikasi virtual machine seperti: • Oracle VirtualBox • VMWare Fusion • KVM • KVM2 • HyperKit • XHYVE
  • 25. Memulai Kubernetes • Tools berikutnya adalah Oracle VirtualBox sebagai aplikasi Virtual Machine. • Tools ini dibutuhkan oleh Minikube untuk membuat cluster Kubernetes pada local computer. • Install aplikasi Oracle VirtualBox dari link berikut: https://www.virtualbox.org/wiki/Downloads • Setelah selesai instalasi Oracle VirtualBox, jalankan instruksi berikut untuk menguji koneksi antara minikube dengan Oracle VirtualBox. • Instruksi alternatif:
  • 26. Membuat cluster local dengan minikube. • Untuk membuat cluster local, jalankan instruksi berikut
  • 27. Membuat cluster local dengan minikube. • Buat sebuah file db.yml dan simpan didalam folder proyek. Isi nginx.yaml adalah seperti berikut:
  • 28. Membuat cluster local dengan minikube. • Lalu jalankan instruksi berikut untuk membuat sebuah Pod. Berikut adalah instruksi bila db.yml disimpan dalam folder pod. • Untuk memvalidasi Pod yang sudah berjalan, jalankan instruksi berikut: • Outputnya adalah seperti berikut:
  • 29. Membuat service dengan minikube. • Untuk menjalankan service pada Kubernetes, jalankan instruksi berikut: • Instruksi di atas akan membuat service dan memanggil informasi-nya dari API server. Keluaran dari instruksi di atas adalah seperti berikut: • Dari instruksi di atas, service telah dijalankan. Untuk mengakses nginx dapat dilakukan dengan instruksi:
  • 30. Challenge Yang bisa dilakukan : ● Membuat deployment aplikasi untuk Kubernetes ● Mulai menggunakan Kubernetes Cluster menggunakan Cloud Provide
  • 31. Contacts ● Instagram : instagram.com/strongpapazola ● Youtube : strongpapazola ● Email : strongpapazola@gmail.com