Memahami Seni Bina Kubernetes

Mari belajar seni bina Kubernetes secara terperinci.


Saya menganggap anda mempunyai pemahaman asas mengenai Kubernetes. Sekiranya tidak, lihat artikel pengenalan dan pemasangan berikut.

Pengenalan Kubernetes untuk Pemula

Cara Memasang Kubernetes di Ubuntu 18?

Kubernetes mengikuti seni bina tuan-hamba. Senibina Kubernetes mempunyai nod induk dan nod pekerja. Terdapat empat komponen a nod induk.

  • Pelayan API Kube
  • pengawal
  • penjadual
  • dll

Dan juga simpul pekerja mempunyai tiga komponen.

  • kubelet
  • proksi kube
  • jangka masa kontena

Beginilah rupa seni bina Kubernetes:

seni bina kubernetes

Izinkan saya memberitahu anda mengenai komponen nod induk dan nod pekerja secara terperinci.

Nod Induk

Node induk menguruskan kluster Kubernetes, dan ini adalah titik masuk untuk semua tugas pentadbiran. Anda boleh bercakap dengan nod induk melalui CLI, GUI, atau API. Untuk mencapai toleransi kesalahan, terdapat lebih daripada satu nod utama dalam kluster. Apabila kita mempunyai lebih dari satu nod utama, akan ada mod ketersediaan yang tinggi, dan dengan satu pemimpin melakukan semua operasi. Semua nod induk yang lain akan menjadi pengikut nod induk pemimpin itu.

Juga, untuk menguruskan keadaan kluster, Kubernetes menggunakan etcd. Semua nod utama disambungkan ke etcd, yang merupakan kedai nilai kunci yang diedarkan.

nod utama kubernetes

Izinkan saya menerangkan kepada anda mengenai semua komponen ini satu persatu.

Pelayan API

Pelayan API melakukan semua tugas pentadbiran pada nod induk. Seorang pengguna mengirimkan perintah selebihnya ke pelayan API, yang kemudian mengesahkan permintaan, kemudian memproses dan melaksanakannya. etcd menyimpan keadaan kluster yang dihasilkan sebagai simpanan nilai kunci yang diedarkan.

Penjadual

Selepas itu, kami mempunyai penjadual. Jadi seperti namanya, penjadual menjadualkan kerja ke nod pekerja yang berbeza. Ia mempunyai maklumat penggunaan sumber untuk setiap simpul pekerja. Penjadual juga mempertimbangkan kualiti keperluan perkhidmatan, lokasi data, dan banyak parameter lain. Kemudian penjadual menjadualkan kerja dari segi pod dan perkhidmatan.

Pengurus Pengawal

Gelung kawalan tanpa penamat yang mengatur keadaan kluster Kubernetes dikendalikan oleh Pengurus Kawalan. Sekarang, masing-masing gelung kawalan ini mengetahui keadaan keadaan objek yang diuruskan dan kemudian mereka melihat keadaan semasa melalui pelayan API.

Dalam gelung kawalan, jika keadaan yang diinginkan tidak memenuhi keadaan objek semasa, maka langkah pembetulan diambil oleh gelung kawalan untuk membawa keadaan semasa sama dengan keadaan yang diinginkan. Oleh itu, pengurus pengawal memastikan bahawa keadaan semasa anda sama dengan keadaan yang diingini.

dll

Etcd adalah simpanan nilai kunci yang diedarkan yang digunakan untuk menyimpan keadaan kluster. Jadi, baik itu mesti menjadi sebahagian daripada master Kubernetes, atau anda juga boleh mengkonfigurasinya secara luaran. etcd ditulis dalam goLang, dan berdasarkan pada Konsensus rakit algoritma.

Rakit tersebut membolehkan pengumpulan mesin berfungsi sebagai kumpulan yang koheren yang dapat bertahan daripada kegagalan beberapa anggotanya. Walaupun sebilangan ahli gagal berfungsi, algoritma ini masih dapat berfungsi pada waktu tertentu. Salah satu node dalam kumpulan akan menjadi master, dan selebihnya akan menjadi pengikutnya.

Hanya boleh ada satu tuan, dan semua tuan yang lain harus mengikuti tuan itu. Selain menyimpan keadaan kluster, etcd juga digunakan untuk menyimpan perincian konfigurasi seperti subnet dan peta konfigurasi.

Nod Pekerja

Node pekerja adalah pelayan maya atau fizikal yang menjalankan aplikasi dan dikendalikan oleh nod induk. Pod dijadualkan pada nod pekerja, yang mempunyai alat yang diperlukan untuk menjalankan dan menghubungkannya. Pod tidak lain hanyalah koleksi bekas.

Dan untuk mengakses aplikasi dari dunia luar, anda harus menyambung ke nod pekerja dan bukan nod induk.

nod pekerja kubernetes

Mari kita meneroka komponen simpul pekerja.

Masa Jalan Kontena

Waktu operasi kontena pada dasarnya digunakan untuk menjalankan dan menguruskan kitaran hidup berterusan pada nod pekerja. Beberapa contoh jangka masa kontena yang dapat saya berikan kepada anda ialah wadah rkt, lxc, dll. Sering kali diperhatikan bahawa docker juga disebut sebagai runtime kontena, tetapi tepatnya, izinkan saya memberitahu anda bahawa docker adalah platform yang menggunakan container. sebagai jangka masa kontena.

Kubelet

Kubelet pada dasarnya adalah agen yang berjalan pada setiap nod pekerja dan berkomunikasi dengan nod induk. Jadi, jika anda mempunyai sepuluh node pekerja, maka kubelet berjalan pada setiap nod pekerja. Ia menerima definisi pod dengan pelbagai cara dan menjalankan bekas yang berkaitan dengan port tersebut. Ia juga memastikan bahawa bekas yang menjadi sebahagian daripada polong sentiasa sihat.

Kubelet menghubungkan ke runtime kontena menggunakan kerangka gRPC. Kubelet menyambung ke antaramuka runtime container (CRI) untuk melakukan operasi kontena dan gambar. Perkhidmatan gambar bertanggungjawab untuk semua operasi yang berkaitan dengan gambar sementara perkhidmatan runtime bertanggungjawab untuk semua operasi yang berkaitan dengan pod dan kontena. Kedua-dua perkhidmatan ini mempunyai dua operasi yang berbeza untuk dilaksanakan.

Izinkan saya memberitahu anda sesuatu yang menarik, masa runtuh kontena adalah kod keras di Kubernetes, tetapi dengan pengembangan CRI, Kubernetes kini dapat menggunakan waktu runtuh kontena yang berbeza tanpa perlu dikompilasi ulang. Jadi, setiap jangka masa kontena yang menerapkan CRI dapat digunakan oleh Kubernetes untuk menguruskan pod, bekas, dan gambar kontena. Bekas Docker shim dan CRI adalah dua contoh CRI shim. Dengan docker shim, container dibuat menggunakan docker yang dipasang pada nod pekerja dan kemudian internal docker menggunakan container untuk membuat dan menguruskan kontena

Proksi Kube

Kube-proksi berjalan pada setiap simpul pekerja sebagai proksi rangkaian. Ia mendengar pelayan API untuk setiap penciptaan atau penghapusan titik perkhidmatan. Untuk setiap titik perkhidmatan, kube-proksi menetapkan laluan sehingga dapat mencapainya.

Kesimpulannya

Saya harap ini dapat membantu anda memahami seni bina Kubernetes dengan cara yang lebih baik. Kemahiran Kubernetes selalu diminati, dan jika anda ingin belajar membina karier, lihatlah ini Kursus Udemy.

TAG:

  • Docker

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