Rumah >Operasi dan penyelenggaraan >Docker >Apakah maksud pod dalam docker

Apakah maksud pod dalam docker

WBOY
WBOYasal
2022-07-08 11:11:335837semak imbas

Dalam docker, pod bermaksud unit berbilang bekas yang dikendalikan ialah unit asas dalam Kubernetes. Ia boleh dianggap sebagai lanjutan atau bekas yang dipertingkatkan, membungkus berbilang proses dalam "Ruang Nama". , ia membentuk pod, dan pembungkusan aplikasi proses yang berbeza dalam pod masih bebas.

Apakah maksud pod dalam docker

Persekitaran pengendalian tutorial ini: sistem linux7.3, docker versi 19.03, komputer Dell G3.

Apakah maksud pod dalam docker?

Pod ialah gabungan unit larian berbilang bekas dan unit asas dalam Kubernetes. Anda boleh menganggapnya sebagai lanjutan bekas atau bekas yang dipertingkatkan. Pod termasuk bekas utama dan beberapa bekas tambahan, yang bersama-sama melengkapkan fungsi tertentu. Apabila berbilang proses (bekas juga merupakan proses terpencil) dibungkus dalam Ruang Nama, Pod terbentuk. Pembungkusan aplikasi proses yang berbeza dalam Pod masih bebas (setiap bekas akan mempunyai imejnya sendiri).

Kepentingan Pod ialah ia dapat mengekalkan hubungan rapat antara bekas utama dan bekas tambahan sambil mengekalkan kebebasan bekas utama. Memandangkan bekas utama dan bekas tambahan mempunyai kitaran hayat yang sama dan boleh dicipta serta dimusnahkan pada masa yang sama, meletakkannya dalam Pod boleh menjadikan interaksi mereka lebih cekap.

Sebaliknya, bekas utama perlu menyiapkan beberapa kerja utama, dan tugas lain mungkin biasa dan boleh dibungkus secara berasingan dan dijalankan oleh bekas tambahan.

Perluaskan pengetahuan

Apakah itu bekas?

Bukan mudah untuk memberikan definisi yang tepat tentang bekas, kerana setiap orang melihat bekas dari perspektif yang berbeza. Pada pandangan Liu Junhui, bekas bukan sahaja cara menyediakan unit pengkomputeran, ia juga merupakan satu bentuk pembungkusan untuk aplikasi.

- Bekas ialah unit pengkomputeran

Sebagai unit pengkomputeran, bekas adalah sama seperti benang, proses, mesin maya atau mesin fizikal (seperti yang ditunjukkan dalam rajah di bawah). Pada skala kontinum, pengasingan, keselamatan dan overhed adalah lebih rendah ke arah kiri dan lebih tinggi ke arah kanan. Bekas ialah unit pengkomputeran antara proses dan mesin maya.
Apakah maksud pod dalam docker
Tetapi tidak semua aplikasi sesuai untuk bekas Pembangun boleh memilih unit pengkomputeran yang paling sesuai berdasarkan ciri dan keperluan aplikasi mereka sendiri. Sebagai contoh, jika aplikasi anda berprestasi tinggi, saling mempercayai, dan dalam kawasan pengurusan yang sama, maka urutan atau proses sudah memadai tetapi jika permohonan anda berbilang penyewa dan berjalan dalam ruang yang sama seperti aplikasi lain, maka anda perlu untuk mempertimbangkan cara mengasingkan aplikasi ini dengan selamat supaya data tidak akan bocor atau prestasi akan terjejas. Pada masa ini, bekas mungkin menjadi pilihan yang baik.

Oleh kerana bekas adalah "proses yang sangat terpencil", ia menambah mekanisme pengasingan baharu berdasarkan pengasingan proses umum ini disediakan oleh kernel Linux dan termasuk beberapa ruang nama ( Name Spaces) dan CGroup. Ruang nama boleh dibahagikan kepada tiga kategori: rangkaian, storan dan pengkomputeran. Antaranya, yang paling penting ialah ruang nama rangkaian. Ia memastikan bahawa rangkaian kontena adalah bebas daripada rangkaian kontena lain. Sistem fail yang dilihat oleh setiap bekas tidak dikongsi dengan bekas lain Setiap bekas hanya boleh melihat ID prosesnya sendiri dan nombor proses juga berturut-turut.

Mengenai perbezaan terbesar antara bekas dan mesin maya, Liu Junhui percaya bahawa berbanding dengan mesin maya, ciri terbesar bekas ialah mereka tidak mempunyai sistem pengendalian bebas mereka sendiri, tetapi berkongsi sistem pengendalian. pada mesin hos mereka; Mesin maya berjalan pada "pelayan yang berasingan." Oleh itu, kos kontena akan lebih kecil daripada kos mesin maya, tetapi pengasingan akan menjadi kurang.

- Bekas ialah satu bentuk pembungkusan untuk aplikasi

Sesiapa yang mempunyai pengalaman dalam pembangunan aplikasi tahu bahawa aplikasi bukanlah satu fail boleh laku, tetapi sedikit aplikasi Yidian kompleks terdiri daripada berbilang bahagian, termasuk: kod, fail boleh laku, kebergantungan konfigurasi, kebergantungan luaran (perpustakaan pautan dinamik), dsb.

Jadi apabila menggunakan pembungkusan pengedaran, anda perlu mempertimbangkan faktor seperti versi sistem pengendalian sasaran, seni bina sistem dan modul yang bergantung padanya. Jika tidak, aplikasi akan mengubah suai bahagian sistem yang berlainan apabila dipasang.

Sebagai pembungkusan untuk aplikasi, ciri terbesarnya ialah ia merealisasikan kebebasan dan kemudahalihan aplikasi Bekas itu sendiri mengandungi semua kebergantungan aplikasi, yang membolehkannya berjalan pada sebarang infrastruktur mungkin berlaku disebabkan versi sistem dan isu seni bina.

02Apakah itu Docker?

Ringkasnya, Docker boleh dianggap sebagai platform pengurusan kontena yang sangat berjaya. Bahagian terpenting Docker ialah persekitaran pengurusannya yang sedang berjalan (seperti yang ditunjukkan dalam rajah di bawah).
Apakah maksud pod dalam docker
Seperti yang dinyatakan di atas, bekas ialah unit pengkomputeran, dan persekitaran berjalan Docker digunakan untuk mencipta, mengurus dan memusnahkan unit pengkomputeran ini. Apabila mencipta dan mengurus unit pengkomputeran ini, anda perlu menggunakan pembungkusan unit pengkomputeran (iaitu, pakej pengedaran perisiannya disimpan dalam persekitaran berjalannya dalam bentuk imej kontena Semua unit pengkomputeran kontena diproses Imej-imej ini dicipta.

Tetapi imej itu sendiri akan mempunyai keluaran versi, naik taraf dan keperluan lain, yang melibatkan DockerHub, satu lagi komponen penting Docker. DockerHub adalah sedikit seperti App Store Apple Ia adalah "pasaran kontena" yang sangat besar dan semua perisian yang biasa digunakan boleh didapati di DockerHub.

Modul penting terakhir Docker ialah antara muka pengguna dan alatan pengurusan, yang digunakan untuk mengeluarkan arahan kepada persekitaran yang sedang dijalankan bagi bekas atau melihat status. Anda hanya perlu menggunakan arahan Docker dan menambah beberapa parameter untuk membuat, memadam dan melihat status berjalan bekas.

Seterusnya, mari kita lihat operasi sebenar Docker Kami akan mengambil menjalankan bekas Hello World sebagai contoh untuk bercakap tentang penggunaan Docker. Sebenarnya, anda hanya perlu memasang Docker dan anda boleh cuba menjalankan bekas Hello World ini.

Melalui kod berikut, mari kita lihat apa yang Docker lakukan:
Apakah maksud pod dalam docker
Mula-mula kita melihat bahawa Docker sedang mencari versi terkini Hello World secara tempatan, dan ia mendapati bahawa local Jika anda tidak mempunyai imej ini, pergi ke DockerHub dan muat turunnya. Kemudian, imej dijalankan, dan kemudian Docker mencipta bekas sedemikian di latar belakang.

Kemunculan Docker menjadikan pengurusan aplikasi kontena sangat mudah untuk menjalankan kontena hanya memerlukan satu arahan. Memuat turun imej daripada DockerHub, mencipta pelbagai persekitaran pengasingan, mencipta bekas dan persekitaran komunikasi rangkaian luaran semuanya boleh diselesaikan oleh Docker. Boleh dikatakan bahawa Docker boleh menguruskan keseluruhan kitaran hayat kontena.

03 Kontena lwn. mesin maya, kapak dan gergaji penebang kayu

Sebagai ringkasan bekas, kami boleh meringkaskan ciri terbesar bekas sebagai penempatan yang ringan dan bebas sepenuhnya. Kedua-dua ciri ini sangat konsisten dengan pengembangan tanpa had yang anjal dan kedudukan penggunaan atas permintaan dari awan asli Oleh itu, bekas telah menjadi asas kepada awan asli.

Walaupun bekas dan mesin maya adalah kedua-dua unit pengkomputeran, beralih daripada mesin maya ke bekas tidak boleh dilihat sebagai peningkatan prestasi mudah atau perubahan seni bina, tetapi perubahan dalam falsafah aplikasi.

Sebagai contoh, penebang kayu pernah menggunakan kapak ketika membaca Kemudian, semua orang merasakan bahawa menggunakan kapak adalah terlalu susah, jadi seorang pakar memperkenalkan alat lain untuk memotong pokok, gergaji. Tetapi jika seorang penebang kayu mengambil gergaji untuk menebang pokok, dia akan mendapati bahawa tiada kapak yang mudah digunakan. Tetapi sebenarnya, kapak dan gergaji adalah dua konsep yang digunakan.

Mengenai perbezaan konsep antara bekas dan mesin maya, kita boleh merasainya lagi melalui carta di bawah.
Apakah maksud pod dalam docker
Aplikasi biasa bekas boleh dibahagikan kepada dua kategori, satu ialah perkhidmatan mikro dan satu lagi ialah DevOps.

Perkhidmatan mikro merujuk kepada unit atau fungsi yang berbeza bagi sistem yang menjalankan bekas yang berbeza Bilangan bekas untuk setiap perkhidmatan boleh dilaraskan mengikut bebannya sendiri. Sebagai contoh, sistem yang besar termasuk fungsi seperti log masuk pengguna, paparan produk dan interaksi produk, tetapi semua bahagian sistem tidak meningkat secara linear pada masa yang sama Beberapa bahagian mungkin lebih sibuk, dan beberapa bahagian mungkin mempunyai kapasiti yang berlebihan.
Apakah maksud pod dalam docker
DevOps merujuk kepada proses pembangunan, ujian dan pengeluaran yang diperkemas. Oleh kerana ciri "berisi sendiri" bekas, apabila ia digunakan sebagai item edaran standard, pembungkusan aplikasi persekitaran pembangunan, persekitaran ujian dan persekitaran pengeluaran boleh benar-benar konsisten Ini mengurangkan kemalangan yang disebabkan oleh ralat konfigurasi pergantungan aplikasi , dsb., sekali gus menjadikan keseluruhan saluran paip pembangunan, ujian dan pengeluaran menjadi lebih cekap.
Apakah maksud pod dalam docker

04 Pod, bekas yang dipertingkatkan

Pod ialah gabungan unit larian berbilang bekas dan unit asas dalam Kubernetes. Anda boleh menganggapnya sebagai lanjutan bekas atau bekas yang dipertingkatkan. Pod termasuk bekas utama dan beberapa bekas tambahan, yang bersama-sama melengkapkan fungsi tertentu. Apabila berbilang proses (bekas juga merupakan proses terpencil) dibungkus dalam Ruang Nama, Pod terbentuk. Pembungkusan aplikasi proses yang berbeza dalam Pod masih bebas (setiap bekas akan mempunyai imejnya sendiri).

Kepentingan Pod ialah ia dapat mengekalkan hubungan rapat antara bekas utama dan bekas tambahan sambil mengekalkan kebebasan bekas utama. Memandangkan bekas utama dan bekas tambahan mempunyai kitaran hayat yang sama dan boleh dicipta serta dimusnahkan pada masa yang sama, meletakkannya dalam Pod boleh menjadikan interaksi mereka lebih cekap.

Sebaliknya, bekas utama perlu menyiapkan beberapa kerja utama, dan tugas lain mungkin biasa dan boleh dibungkus secara berasingan dan dijalankan oleh bekas tambahan.

Adalah sangat disyorkan agar anda pergi ke tapak web yang dipanggil Katacoda Ia mempunyai sejumlah besar percubaan dalam talian percuma, termasuk projek praktikal seperti Docker dan Docker Image, dan ia adalah percuma sekarang. Anda juga boleh pergi ke sini dan mengotorkan tangan anda.

Apabila platform kontena menjalankan berbilang aplikasi penyewa, adalah mudah untuk "serangan sisi" berlaku, iaitu, proses menggunakan kelemahan sistem untuk meningkatkan keistimewaan, seperti menaik taraf keistimewaannya sendiri kepada pentadbir, dengan itu memperoleh Operasi kebenaran pada proses atau bekas lain yang berjalan pada sistem. Pada masa ini, kelemahan sedemikian biasanya membawa kepada penggunaan berniat jahat sumber pengkomputeran untuk "perlombongan."

Untuk menangani masalah ini, pada masa ini terdapat dua penyelesaian, satu ialah "menghadkan panggilan sistem";

Mengehadkan panggilan sistem merujuk kepada mengurangkan keupayaan aplikasi dengan mengehadkan panggilan sistem aplikasi, dengan itu mengelakkan bahaya kepada aplikasi lain. Pada masa ini, Givsor Google dan Nabla IBM kedua-duanya menggunakan pendekatan ini. Seperti yang ditunjukkan dalam rajah di bawah, aplikasi pada asalnya mengakses semua panggilan sistem, tetapi dalam mod Nabla, aplikasi hanya mengakses panggilan sistem yang diperlukan dan panggilan lain disekat.
Apakah maksud pod dalam docker
Tetapi kelemahan kaedah ini ialah ia memerlukan anda memberikan kebenaran "hanya betul" pada awalnya Jika anda secara tidak sengaja tidak memberikan kebenaran yang mencukupi, aplikasi mungkin ranap.

Inti bebas merujuk kepada penyelesaian mesin maya, yang merujuk kepada penambahan kernel baharu pada bekas ini ringan dan termasuk dua kaedah pelaksanaan: "microkernel" dan Unikernel. Unikernels dan aplikasi disusun bersama, dan ia boleh dipanggil terus melalui fungsi tanpa panggilan sistem.

Kelebihan penyelesaian ini ialah bekas itu pada asasnya hanya berurusan dengan kernelnya sendiri, dan kernel berurusan dengan hos Interaksi antara kernel dan hos hanya memerlukan beberapa arahan biasa dan tidak melibatkan Directly call arahan yang merosakkan sistem. Pada masa ini, kontena Kata Container dan JD.com Cloud asli menggunakan kaedah ini.

Kelebihan pendekatan ini ialah, sebagai sistem pengendalian yang minimum, mikrokernel boleh memenuhi semua panggilan sistem sambil mengalih keluar beberapa bahagian operasi sistem yang tidak perlu masa permulaan sistemnya sangat singkat dan boleh mencapai tahap Kedua, dan overhed adalah lebih kecil daripada mesin maya.

Pembelajaran yang disyorkan: "tutorial video buruh pelabuhan"

Atas ialah kandungan terperinci Apakah maksud pod dalam docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn