Manado, Indonesia. 95252
(+62) 823-9602-9583

Pengantar Konsep Dasar Kubernetes

Software Engineer | DevOps Engineer

kubernetes

Pengantar Konsep Dasar Kubernetes

Pernahkah Anda mendengar Kubernetes? Anda harus tertarik dengan topik itu. Itulah mengapa Anda membuka artikel ini. Artikel ini membahas tentang konsep dasar Kubernetes dan cara menggunakannya.

Apa itu Kubernetes?

Kubernetes adalah platform / alat sumber terbuka yang dibuat oleh Google untuk mengelola beban kerja dan layanan dalam container, yang memfasilitasi konfigurasi deklaratif dan otomatisasi.

Itu ditulis dalam GO-Lang. Jadi saat ini Kubernetes adalah proyek open-source di bawah lisensi Apache 2.0. Terkadang di industri ini, Kubernetes juga dikenal sebagai “K8s”. Dengan Kubernetes, Anda dapat menjalankan container Linux di lingkungan cloud pribadi, publik, dan hybrid.

Kubernetes menyediakan beberapa fungsi edge, seperti Loadbalancer, Service discovery, dan Roled Based Access Control (RBAC). Ini memiliki ekosistem yang besar dan berkembang pesat. Layanan, dukungan, dan alat Kubernetes tersedia secara luas.

Nama Kubernetes berasal dari bahasa Yunani yang berarti juru mudi atau pilot. Google membuat proyek Kubernetes menjadi open source pada tahun 2014. Kubernetes menggabungkan lebih dari 15 tahun pengalaman Google dalam menjalankan beban kerja produksi dalam skala besar dengan ide dan praktik terbaik dari komunitas.

Mengapa kita membutuhkan Kubernetes?

Kontainers adalah cara yang baik untuk memaketkan dan menjalankan aplikasi Anda. Dalam lingkungan produksi, Anda perlu mengelola kontainer yang menjalankan aplikasi dan memastikan tidak ada waktu henti.

Misalnya, jika sebuah wadah turun, wadah lain harus dimulai. Bukankah lebih mudah jika perilaku ini ditangani oleh sistem?

Jawabannya adalah membantu kami mengelola kontainer. Saat kami menjalankan lingkungan produksi kami menggunakan pola layanan mikro dengan banyak wadah, kami perlu memastikan banyak hal. Seperti health check, kontrol versi, penskalaan, dan mekanisme rollback.

Kubernetes memberi Anda kemampuan orkestrasi dan manajemen yang diperlukan untuk menerapkan container, dalam skala besar. Orkestrasi Kubernetes memungkinkan Anda untuk membangun layanan aplikasi yang menjangkau banyak kontainer, menjadwalkan kontainer-kontainer itu di seluruh cluster, menskalakan kontainer-kontainer itu, dan mengelola kesehatan kontainer-kontainer tersebut seiring waktu.

Begitulah cara Kubernetes datang untuk menyelamatkan! Kubernetes memberi Anda kerangka kerja untuk menjalankan sistem terdistribusi dengan tangguh.

Ini menangani penskalaan dan failover untuk aplikasi Anda, menyediakan pola penerapan, dan banyak lagi. Misalnya, Kubernetes dapat dengan mudah mengelola penerapan canary untuk sistem Anda.

Singkatnya, saya dapat mengatakan Kubernetes lebih seperti seorang manajer yang memiliki banyak bawahan (container). Apa yang dilakukan manajer adalah mempertahankan apa yang perlu dilakukan bawahan.

Fitur utama Kubernetes:

Bagaimana itu bekerja?

Saat Anda memulai Kubernetes dengan membaca dokumentasi resmi, Anda mungkin akan kewalahan menemukan banyak terminologi. Terkadang kita membutuhkan gambaran umum untuk mendapatkan pemahaman yang lebih baik tentang konsep kubernetes. Di sini saya tunjukkan diagram gambaran lengkap Arsitektur Kubernetes. Saya harap ini membantu.

Saat Anda menerapkan Kubernetes, Anda mendapatkan sebuah cluster. Kluster Kubernetes terdiri dari sekumpulan mesin pekerja, yang disebut node, yang menjalankan aplikasi dalam container. Setiap cluster memiliki setidaknya satu node pekerja.

Node pekerja menghosting Pod yang merupakan komponen beban kerja aplikasi. Pesawat kontrol mengelola node pekerja dan Pod di cluster. Dalam lingkungan produksi, bidang kontrol biasanya berjalan di beberapa komputer dan kluster biasanya menjalankan banyak node, memberikan toleransi kesalahan dan ketersediaan tinggi.

Dokumen ini menguraikan berbagai komponen yang Anda butuhkan untuk memiliki cluster Kubernetes yang lengkap dan berfungsi.

Here’s the diagram of a Kubernetes cluster with all the components tied together.

Master Nodes

Mesin ini adalah elemen pengendali cluster. Master memiliki 3 bagian:

  • API Server:  Aplikasi yang melayani fungsionalitas Kubernetes melalui antarmuka RESTful dan menyimpan status cluster.
  • Scheduler: Scheduler menonton server API untuk permintaan Pod baru. Ia berkomunikasi dengan Node untuk membuat pod baru dan menugaskan pekerjaan ke node sambil mengalokasikan sumber daya atau menerapkan batasan.
  • Controller Manager: Komponen di master yang menjalankan pengontrol. Termasuk pengontrol Node, Pengontrol Endpoint, Pengontrol Namespace, dll.

Worker Nodes

Mesin ini melakukan tugas yang diminta dan diberikan. Master Kubernetes mengontrol mereka. Ada 4 komponen di dalam Node:

  • Pod: Semua container akan berjalan di dalam pod. Pod mengabstraksi jaringan dan penyimpanan dari container yang mendasarinya. Aplikasi Anda akan berjalan di sini.
  • Kubelet: Kubectl mendaftarkan node dengan cluster, mengawasi tugas kerja dari penjadwal, membuat instance Pod baru, melaporkan kembali ke master.
  • Container Engine: Bertanggung jawab untuk mengelola kontainer, menarik gambar, menghentikan kontainer, memulai kontainer, menghancurkan kontainer, dll.
  • Kube Proxy: Bertanggung jawab untuk meneruskan permintaan pengguna aplikasi ke pod yang tepat.

Saya tidak akan menjelaskan konsep kubernetes secara mendetail di sini, karena ini akan mengarah pada situasi yang membosankan. Artikel ini harus lebih kotor dan menyenangkan. Anda dapat membaca dokumentasi resmi untuk informasi lebih detail. Klik disini.

 

No Comments

Leave a Reply

%d blogger menyukai ini: