Kubernetes

Kubernetes vs Docker

Kubernetes vs Docker
Kubernetes dan Docker semakin meningkat. Kedua-dua teknologi mempunyai akar yang sangat berbeza tetapi telah terjalin dalam beberapa tahun kebelakangan ini dengan cara yang tidak diharapkan oleh mereka. Komuniti telah bersatu, pakej disertakan di antara semua sistem operasi yang mungkin dan menjadi sumber terbuka yang banyak menghasilkan banyak projek satelit dan pesaing.

Semua ini boleh menjadi sangat membebankan kepada pengguna baru yang cuba memahami paradigma yang agak baru ini. Mari kita bincangkan perbezaan utama antara Kubernetes dan Docker dengan terlebih dahulu menyelami apa yang sebenarnya dimaksudkan oleh teknologi. Sekiranya anda mempunyai keakraban dengan, Docker atau K8 (kependekan dari Kubernetes) maka anda boleh melangkau ke depan dan membaca bahagian TL; DR.

Apa itu Docker?

Docker adalah teknologi kontainerisasi. Anda boleh menjalankan banyak aplikasi yang semuanya diasingkan antara satu sama lain pada sistem operasi yang sama tanpa memerlukan virtualisasi tetapi semua kelebihan persekitaran maya. Fikirkan bekas Docker sebagai VM yang sangat ringan untuk Linux (juga Windows, tetapi itu tidak begitu popular).

Docker mempunyai 3 komponen utama, pertama mesin Docker yang berjalan di latar belakang dan menguruskan kontena yang berjalan dan penyediaannya. Ini memperlihatkan REST API yang digunakan oleh klien Docker dan ini membolehkan pengguna berinteraksi dengan Docker dan membuat kontena baru, atau menguruskan yang sedang berjalan.

Docker, bagaimanapun, adalah aplikasi sistem tunggal. Maknanya, ia berjalan dan menguruskan kontena pada sistem apa pun yang kebetulan dijalankan.  Aplikasi yang besar dengan banyak lalu lintas dan berjuta-juta permintaan yang melanda mereka dari seluruh dunia memerlukan lebih daripada satu pelayan. Di situlah Kubernetes masuk.

Apa itu Kubernetes?

Kubernetes memanfaatkan teknologi kontainerisasi, seperti Docker, untuk menjalankan banyak replika aplikasi anda di pelayan dan pusat data di seluruh dunia.

Salah satu teknologi kontainerisasi yang Kubernetes gunakan adalah Docker. Kubernetes terdiri daripada pelbagai perisian yang berbeza untuk menguruskan kluster anda. Ia menyediakan ejen pengurusan kubeadm, yang berjalan pada beberapa nod utama yang dipilih (node ​​adalah VPS atau pelayan fizikal) dan kemudian terdapat nod pekerja dengan Docker dipasang pada mereka dengan kubectl yang bercakap dengan mesin Docker untuk mengautomasikan proses memusingkan bekas atau menurunkannya. Ejen kubectl yang berjalan di semua nod pekerja mengambil pesanan dari nod induk dan memberi mereka maklum balas mengenai keadaan aplikasi yang berjalan di nod mereka. Ini kira-kira bagaimana pemasangan K8 biasanya berfungsi.

Anda juga boleh mengumpulkan bekas Docker yang berbeza ke dalam pakej (dipanggil pod). Sebagai contoh, anda boleh mengumpulkan pangkalan data SQL dan bekas cache Redis bersama dalam pod, kerana anda mahu pangkalan data dan cachenya wujud bersama.

Begitu juga, anda boleh mendedahkan pod ke pod lain sebagai perkhidmatan (juga dikenali sebagai perkhidmatan mikro) sehingga anda dapat mendedahkan 50 pod SQL / Redis sebagai perkhidmatan penyimpanan data ke bahagian depan aplikasi dan sebagainya. Kelebihan yang anda dapat ialah 50 pod dapat berjalan di beberapa pusat data dan walaupun sebilangan kecilnya hilang, yang lain akan mengalami kekurangan.

Kubernetes lebih daripada sekadar teknologi. Ini adalah cara berfikir tentang menjalankan perisian anda di sistem yang diedarkan.

Kubernetes tanpa Docker

Seperti yang anda ketahui dari atas bahawa K8 sangat bergantung pada bekas. Docker hanyalah salah satu daripada banyak teknologi pengkontenaan yang ada di luar sana. Lain-lain termasuk rkt oleh CoreOS, LXC oleh Canonical, Jails on FreeBSD dan Zon di Illumos dan SmartOS. Kubernetes berpotensi diimplementasikan di atas semua teknologi ini. Sebenarnya, ia berfungsi dengan baik dengan rkt oleh CoreOS.

Namun, kerana populariti Docker, komuniti dan organisasi telah melampaui batas dalam memastikan bahawa Docker menawarkan apa sahaja dan semua yang ditentukan oleh Kubernetes. Oleh sebab inilah, malah projek seperti Docker pada macOS dan PC disahkan oleh Kubernetes.

Docker tanpa Kubernetes

Cara Kubernetes mempunyai salah satu sokongan terbaik semasa menggunakan Docker, Docker sendiri sangat bergantung pada Kubernetes untuk menyebarkan kontena pada skala besar. Docker memang mempunyai sistem pengurusan wadah dan orkestrasi tersendiri yang dikenali sebagai Docker Swarm, yang seharusnya menjadi alternatif Kubernetes.

Walaupun Docker Swarm menjadi teknologi asli di Docker, Kubernetes adalah apa yang orang minta dan unjuran pasaran semasa nampaknya menunjukkan bahawa K8 akan memenangi bahagian pasaran terbesar. Docker berhutang dengan kejayaannya terutamanya kerana simbiosisnya dengan Kubernetes.

TL; DR

Untuk menyingkat cerita pendek, Docker adalah teknologi pengkontenan yang dimaksudkan untuk dijalankan pada satu komputer. Kubernetes adalah teknologi pengurusan yang menguruskan sebilangan besar kontena di banyak nod pengkomputeran.

Docker kebetulan menjadi salah satu teknologi paling sesuai di luar sana untuk membina timbunan K8 anda. Anda mulakan dengan memastikan aplikasi anda berjalan sebagai wadah docker, kemudian K8 memastikan bahawa wadah ini dapat berskala ke seluruh pelosok dunia, jika perlu dilakukan pada masa akan datang.

Tiru klik Tetikus dengan melayang menggunakan Mouse Tanpa Klik di Windows 10
Menggunakan tetikus atau papan kekunci dalam keadaan salah penggunaan berlebihan boleh menyebabkan banyak masalah kesihatan, termasuk ketegangan, sind...
Tambahkan isyarat Tetikus ke Windows 10 menggunakan alat percuma ini
Dalam beberapa tahun kebelakangan ini komputer dan sistem operasi telah banyak berkembang. Ada saat ketika pengguna harus menggunakan perintah untuk m...
Mengawal & menguruskan pergerakan tetikus antara beberapa monitor di Windows 10
Pengurus Tetikus Paparan Dwi membolehkan anda mengawal & mengkonfigurasi pergerakan tetikus antara beberapa monitor, dengan memperlahankan pergerakann...