Kubernetes

Apa itu Kubernetes?

Apa itu Kubernetes?

Apa itu Kubernetes? Dan apa itu senibina?

Kontainerisasi telah memutuskan hubungan antara pembangun perisian dan persekitaran pengeluaran. Bukan dalam arti anda sama sekali tidak memerlukan sistem produksi, tetapi anda tidak perlu bimbang tentang kekhususan persekitaran pengeluaran.

Aplikasi kini digabungkan dengan kebergantungan yang mereka perlukan, dalam bekas ringan dan bukan VM. Itu hebat! Walau bagaimanapun, ia tidak memberikan kekebalan dari kegagalan sistem, kegagalan rangkaian atau kegagalan cakera. Sebagai contoh, jika pusat data, tempat pelayan anda berjalan, sedang dalam penyelenggaraan, aplikasi anda akan dimatikan.

Kubernetes muncul untuk menyelesaikan masalah ini. Ia memerlukan idea bekas dan memperluasnya untuk berfungsi di beberapa nod pengkomputeran (yang boleh menjadi mesin maya yang dihoskan awan atau pelayan logam kosong). Ideanya adalah untuk mempunyai sistem yang diedarkan untuk aplikasi kontena yang dapat dijalankan.

Mengapa Kubernetes?

Sekarang, mengapa anda perlu mempunyai persekitaran yang diedarkan di tempat pertama?

Untuk pelbagai sebab, pertama dan paling utama adalah ketersediaan yang tinggi. Anda mahu laman web e-dagang anda terus dalam talian 24/7, atau anda akan kehilangan perniagaan, gunakan Kubernetes untuk itu. Yang kedua adalah skalabiliti, di mana anda mahu membuat skala 'keluar'. Peningkatan di sini melibatkan penambahan lebih banyak node pengkomputeran untuk memberi lebih banyak ruang operasi kepada aplikasi anda yang semakin meningkat.

Reka Bentuk dan Senibina

Seperti mana-mana sistem yang diedarkan, kluster Kubernetes mempunyai nod utama dan kemudian banyak simpul pekerja di mana aplikasi anda sebenarnya akan dijalankan. Master bertanggungjawab untuk menjadualkan tugas, menguruskan beban kerja dan dengan selamat menambahkan nod baru ke kluster.

Sekarang, tentu saja, node induk itu sendiri boleh gagal dan mengambil keseluruhan kluster dengannya, jadi Kubernetes sebenarnya membolehkan anda mempunyai banyak node induk untuk kelebihan.

Pandangan mata burung mengenai penyebaran khas Kubernetes

Tuan Kubernetes

Master Kubernetes adalah yang berinteraksi dan digunakan oleh pasukan DevOps untuk menyediakan nod baru, menggunakan aplikasi dan pemantauan dan pengurusan sumber baru. Tugas paling asas nod induk adalah jadual beban kerja dengan cekap di antara semua simpul pekerja untuk memaksimumkan penggunaan sumber, meningkatkan prestasi dan, mengikuti pelbagai dasar yang dipilih oleh pasukan DevOps untuk beban kerja tertentu mereka.

Komponen penting lain adalah dll yang merupakan daemon yang memantau node pekerja dan menyimpan pangkalan data yang menyimpan keseluruhan keadaan kluster. Ia adalah penyimpanan data nilai-kunci, yang juga dapat dijalankan di persekitaran yang diedarkan di beberapa nod utama. Kandungan etcd memberikan semua data yang relevan mengenai keseluruhan kluster. Node pekerja akan melihat kandungan etcd dari semasa ke semasa untuk menentukan bagaimana ia harus berkelakuan.

Pengawal adalah entiti yang akan mengambil arahan dari pelayan API (yang akan kami bahas nanti) dan melakukan tindakan yang diperlukan seperti membuat, menghapus dan mengemas kini aplikasi dan pakej.

The Pelayan API memperlihatkan API Kubernetes, yang menggunakan muatan JSON melalui HTTPS, untuk berkomunikasi dengan antara muka pengguna yang pasukan pembangun atau kakitangan DevOps akhirnya akan berinteraksi dengan. UI web dan CLI menggunakan API ini untuk berinteraksi dengan kluster Kubernetes.

Pelayan API juga bertanggungjawab untuk komunikasi antara nod pekerja dan pelbagai komponen nod utama seperti dll.

Node Master tidak pernah terdedah kepada pengguna akhir kerana akan membahayakan keselamatan keseluruhan kluster.

Nod Kubernetes

Mesin (fizikal atau maya) memerlukan beberapa komponen penting yang setelah dipasang dan disiapkan dengan betul dapat mengubah pelayan itu menjadi anggota kluster Kubernetes anda.

Perkara pertama yang anda perlukan adalah runtime kontena, seperti Docker, dipasang dan berjalan di atasnya. Sudah tentu ia akan bertanggungjawab untuk memutar dan menguruskan bekas.

Seiring dengan jangka masa Docker, kami juga memerlukannya Kubelet daemon. Ia berkomunikasi dengan node induk, melalui pelayan API dan meminta etcd, dan memberikan kembali maklumat kesihatan dan penggunaan mengenai pod yang berjalan di simpul itu.

Walau bagaimanapun, bekas cukup terhad oleh mereka sendiri, jadi Kubernetes mempunyai abstraksi yang lebih tinggi yang dibina di atas koleksi bekas, yang dikenali sebagai Pod.

Mengapa muncul dengan buah?

Docker mempunyai polisi untuk menjalankan satu aplikasi setiap kontena. Selalunya digambarkan sebagai "Satu proses setiap bekas" dasar. Ini bermaksud jika anda memerlukan laman web WordPress, anda digalakkan untuk mempunyai dua bekas satu untuk pangkalan data dijalankan dan satu lagi untuk pelayan web berjalan. Menggabungkan komponen aplikasi seperti itu ke dalam pod memastikan bahawa setiap kali anda keluar, kedua-dua bekas yang saling bergantung selalu wujud di simpul yang sama, dan dengan itu bercakap antara satu sama lain dengan cepat dan mudah.

Pod adalah unit asas penyebaran di Kubernetes. Apabila anda keluar, anda menambah lebih banyak pod ke kluster. Setiap pod diberi alamat IP tersendiri dalam rangkaian dalaman kluster.

Kembali ke Node Kubernetes

Kini nod boleh menjalankan banyak pod dan terdapat banyak nod tersebut. Ini semua baik-baik saja sehingga anda berfikir untuk cuba berkomunikasi dengan dunia luar. Sekiranya anda mempunyai perkhidmatan berasaskan web yang sederhana, bagaimana anda akan mengarahkan nama domain anda ke kumpulan pod ini dengan banyak alamat IP?

Anda tidak boleh, dan anda tidak perlu! Proksi Kube adalah bahagian terakhir teka-teki yang membolehkan pengendali mendedahkan pod tertentu ke Internet. Sebagai contoh, front-end anda boleh diakses secara terbuka dan proxy kube akan mengedarkan trafik di antara semua pelbagai pod yang bertanggungjawab untuk mengehoskan bahagian depan. Pangkalan data anda, bagaimanapun, tidak perlu dibuat umum dan proksi kube hanya akan membenarkan komunikasi dalaman untuk beban kerja yang berkaitan dengan back-end.

Adakah anda memerlukan semua ini??

Sekiranya anda baru bermula sebagai penggemar hobi atau pelajar, menggunakan Kubernetes untuk aplikasi mudah sebenarnya tidak akan berkesan. Keseluruhan rigmarole akan menggunakan lebih banyak sumber daripada aplikasi sebenar anda dan akan menambahkan lagi kekeliruan bagi seorang individu.

Walau bagaimanapun, jika anda akan bekerjasama dengan pasukan besar dan menggunakan aplikasi anda untuk kegunaan komersial yang serius, Kubernetes bernilai tambahan. Anda boleh menghentikan keadaan menjadi huru-hara. Sediakan ruang untuk penyelenggaraan tanpa waktu rehat. Siapkan keadaan pengujian A / B yang baik dan skala secara beransur-ansur tanpa membelanjakan terlalu banyak infrastruktur di muka.

Cara Menggunakan Mesin Cheat GameConqueror di Linux
Artikel ini merangkumi panduan mengenai penggunaan mesin cheat GameConqueror di Linux. Ramai pengguna yang bermain permainan di Windows sering menggun...
Emulator Konsol Permainan Terbaik untuk Linux
Artikel ini akan menyenaraikan perisian emulasi konsol permainan popular yang tersedia untuk Linux. Emulation adalah lapisan keserasian perisian yang ...
Distro Linux Terbaik untuk Permainan pada tahun 2021
Sistem operasi Linux telah jauh dari tampilan asal, ringkas dan berasaskan pelayan. OS ini telah berkembang pesat dalam beberapa tahun kebelakangan in...