Memahami Arsitektur Kubernetes

Mari kita pelajari arsitektur Kubernetes secara mendetail.


Saya berasumsi Anda memiliki pemahaman dasar tentang Kubernetes. Jika tidak, lihat artikel pengantar dan instalasi berikut.

Kubernetes Introduction for Beginners

Cara Memasang Kubernetes di Ubuntu 18?

Kubernetes mengikuti arsitektur master-slave. Arsitektur Kubernetes memiliki node master dan node pekerja. Ada empat komponen dari a master node.

  • Server API Kube
  • pengontrol
  • penjadwal
  • dll

Dan, itu simpul pekerja memiliki tiga komponen.

  • kubelet
  • kubus-proxy
  • runtime kontainer

Beginilah bentuk arsitektur Kubernetes:

arsitektur kubernetes

Biarkan saya memberi tahu Anda tentang komponen-komponen master node dan node pekerja secara rinci.

Master Node

Node master mengelola cluster Kubernetes, dan itu adalah titik masuk untuk semua tugas administratif. Anda dapat berbicara dengan node master melalui CLI, GUI, atau API. Untuk mencapai toleransi kesalahan, mungkin ada lebih dari satu node master dalam cluster. Ketika kita memiliki lebih dari satu node master, akan ada mode ketersediaan tinggi, dan dengan satu pemimpin melakukan semua operasi. Semua node master lainnya akan menjadi pengikut node master pemimpin itu.

Juga, untuk mengelola keadaan klaster, Kubernetes menggunakan etcd. Semua node master terhubung ke etcd, yang merupakan penyimpanan nilai kunci terdistribusi.

kubernetes master node

Biarkan saya menjelaskan kepada Anda tentang semua komponen ini satu per satu.

Server API

Server API melakukan semua tugas administratif pada master node. Seorang pengguna mengirimkan perintah sisanya ke server API, yang kemudian memvalidasi permintaan, lalu memproses dan menjalankannya. etcd menyimpan status yang dihasilkan dari cluster sebagai penyimpanan nilai kunci terdistribusi.

Penjadwal

Setelah itu, kami memiliki scheduler. Jadi seperti namanya, penjadwal menjadwalkan pekerjaan ke node pekerja yang berbeda. Ini memiliki informasi penggunaan sumber daya untuk setiap node pekerja. Penjadwal juga mempertimbangkan kualitas persyaratan layanan, lokalitas data, dan banyak parameter lainnya. Kemudian penjadwal menjadwalkan pekerjaan dalam hal pod dan layanan.

Manajer Pengendali

Loop kontrol non-terminating yang mengatur status cluster Kubernetes dikelola oleh Control Manager. Sekarang, masing-masing dari loop kontrol ini tahu tentang keadaan yang diinginkan dari objek yang dikelolanya, dan kemudian mereka melihat keadaan mereka saat ini melalui server API.

Dalam loop kontrol, jika keadaan yang diinginkan tidak memenuhi keadaan saat ini dari objek, maka langkah-langkah perbaikan diambil oleh loop kontrol untuk membawa keadaan saat ini sama dengan keadaan yang diinginkan. Jadi, manajer pengontrol memastikan bahwa keadaan Anda saat ini sama dengan keadaan yang diinginkan.

dll

Etcd adalah toko nilai kunci terdistribusi yang digunakan untuk menyimpan keadaan cluster. Jadi, entah itu harus menjadi bagian dari master Kubernetes, atau Anda dapat mengkonfigurasinya secara eksternal juga. etcd ditulis dalam goLang, dan didasarkan pada Konsensus rakit algoritma.

Rakit memungkinkan pengumpulan mesin untuk bekerja sebagai kelompok yang koheren yang dapat bertahan dari kegagalan beberapa anggotanya. Bahkan jika beberapa anggota gagal bekerja, algoritma ini masih dapat bekerja pada waktu tertentu. Salah satu node dalam grup akan menjadi master, dan sisanya adalah para pengikut.

Hanya ada satu master, dan semua master lainnya harus mengikuti master itu. Selain menyimpan status cluster, etcd juga digunakan untuk menyimpan detail konfigurasi seperti subnet dan peta konfigurasi.

Node Pekerja

Node pekerja adalah server virtual atau fisik yang menjalankan aplikasi dan dikendalikan oleh master node. Polong dijadwalkan pada node pekerja, yang memiliki alat yang diperlukan untuk menjalankan dan menghubungkannya. Pod tidak lain adalah kumpulan kontainer.

Dan untuk mengakses aplikasi dari dunia eksternal, Anda harus terhubung ke node pekerja dan bukan node master.

simpul pekerja kubernet

Mari kita menjelajahi komponen simpul pekerja.

Kontainer Runtime

Runtime kontainer pada dasarnya digunakan untuk menjalankan dan mengelola siklus hidup berkelanjutan pada node pekerja. Beberapa contoh runtimes kontainer yang dapat saya berikan kepada Anda adalah container rkt, lxc, dll. Sering kali diamati bahwa buruh pelabuhan juga disebut sebagai kontainer runtime, tetapi lebih tepatnya, izinkan saya memberi tahu Anda bahwa buruh pelabuhan adalah platform yang menggunakan wadah sebagai runtime wadah.

Kubelet

Kubelet pada dasarnya adalah agen yang berjalan pada setiap node pekerja dan berkomunikasi dengan master node. Jadi, jika Anda memiliki sepuluh node pekerja, maka kubelet berjalan pada setiap node pekerja. Ini menerima definisi pod dengan berbagai cara dan menjalankan wadah yang terkait dengan port itu. Ini juga memastikan bahwa wadah yang merupakan bagian dari polong selalu sehat.

Kubelet terhubung ke runtime kontainer menggunakan kerangka kerja gRPC. Kubelet terhubung ke antarmuka runtime wadah (CRI) untuk melakukan wadah dan operasi gambar. Layanan gambar bertanggung jawab untuk semua operasi yang berhubungan dengan gambar sedangkan layanan runtime bertanggung jawab untuk semua operasi yang terkait dengan pod dan wadah. Kedua layanan ini memiliki dua operasi yang berbeda untuk dilakukan.

Izinkan saya memberi tahu Anda sesuatu yang menarik, runtime kontainer dulunya dikodekan dalam Kubernetes, tetapi dengan pengembangan CRI, Kubernet sekarang dapat menggunakan runtimes kontainer yang berbeda tanpa perlu melakukan kompilasi ulang. Jadi, setiap runtime kontainer yang mengimplementasikan CRI dapat digunakan oleh Kubernetes untuk mengelola pod, kontainer, dan gambar kontainer. Docker shim dan CRI adalah dua contoh CRI shim. Dengan docker shim, kontainer dibuat menggunakan buruh pelabuhan yang dipasang pada node pekerja dan kemudian buruh pelabuhan secara internal menggunakan wadah untuk membuat dan mengelola kontainer

Kubus-proxy

Kube-proxy berjalan pada setiap node pekerja sebagai proxy jaringan. Ia mendengarkan server API untuk setiap pembuatan atau penghapusan titik layanan. Untuk setiap titik layanan, kube-proxy menetapkan rute sehingga bisa mencapai ke sana.

Kesimpulan

Saya harap ini membantu Anda untuk memahami arsitektur Kubernetes dengan cara yang lebih baik. Keahlian Kubernet selalu sesuai permintaan, dan jika Anda ingin belajar membangun karier, maka periksalah ini Udemy tentu saja.

TAGS:

  • Buruh pelabuhan

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map