Rumah >Tutorial sistem >LINUX >Apakah sebenarnya sebab populariti meluas Kubernetes?
Pengenalan | Platform Kubernetes untuk menjalankan beban kerja dalam kontena memainkan peranan penting apabila membangunkan dan menggunakan aplikasi asli awan. Sememangnya, membangunkan dan menggunakan aplikasi asli awan telah menjadi sangat popular. Terdapat kelebihan yang jelas untuk proses yang membolehkan penggunaan pantas dan penghantaran berterusan pembetulan pepijat dan ciri baharu, tetapi tiada siapa yang bercakap tentang masalah ayam dan telur: Bagaimana untuk mencapai ini? Membina infrastruktur dan proses pembangunan untuk membangun dan mengekalkan aplikasi asli awan dari awal adalah tugas yang tidak remeh dan memakan masa. |
Kubernetes ialah platform yang agak baharu untuk menjalankan beban kerja dalam kontena yang menyelesaikan masalah ini. Pada asalnya projek dalam Google, Kubernetes telah didermakan kepada Cloud Native Computing Foundation pada tahun 2015 dan menarik pembangun daripada komuniti sumber terbuka di seluruh dunia. Kubernetes direka bentuk berdasarkan pengalaman 15 tahun Google mengendalikan persekitaran pengeluaran dan pembangunan. Memandangkan ia adalah sumber terbuka, sesiapa sahaja boleh memuat turun dan menggunakannya serta menyedari kelebihan yang dibawanya.
Jadi mengapa Kubernetes mempunyai kejutan besar? Saya fikir ia mencapai keseimbangan terbaik antara sumber Infrastruktur sebagai Perkhidmatan (IaaS) seperti OpenStack dan Platform penuh sebagai Perkhidmatan (PaaS), di mana pelaksanaan masa jalan asas dikawal sepenuhnya oleh vendor. Kubernetes menawarkan dua kelebihan: abstraksi untuk mengurus infrastruktur, dan alatan serta keupayaan untuk menyelesaikan masalah jauh ke dalam logam kosong.
IaaS lwn. PaaSOpenStack diklasifikasikan oleh kebanyakan orang sebagai penyelesaian IaaS, di mana kumpulan sumber fizikal (seperti pemproses, rangkaian dan storan) diperuntukkan dan dikongsi antara pengguna yang berbeza. Ia menggunakan virtualisasi berasaskan perkakasan tradisional untuk mencapai pengasingan antara pengguna.
API REST OpenStack membenarkan penciptaan infrastruktur automatik menggunakan kod, tetapi inilah masalahnya. Produk IaaS juga mengeksport infrastruktur. Setelah ia dibuat, tidak banyak cara perkhidmatan untuk menyokong dan mengurus lebih banyak infrastruktur itu. Setakat OpenStack menghasilkan infrastruktur asas, seperti pelayan dan alamat IP, ia menjadi keutamaan pengurusan. Hasil yang terkenal ialah percambahan mesin maya (VM), tetapi perkara yang sama berlaku dengan rangkaian, kunci penyulitan dan volum storan. Dengan cara ini, pembangun menghabiskan lebih sedikit masa membina dan menyelenggara aplikasi.
Seperti penyelesaian berasaskan kluster lain, Kubernetes beroperasi pada peringkat pelayan individu untuk mendayakan penskalaan mendatar. Ia memudahkan untuk menambah pelayan baharu dan menjadualkan beban pada perkakasan baharu dengan serta-merta. Begitu juga, pelayan boleh dialih keluar daripada kluster apabila ia tidak digunakan dengan berkesan atau memerlukan penyelenggaraan. Tugas lain yang boleh dikendalikan oleh Kubernetes secara automatik ialah aktiviti orkestra seperti penjadualan kerja, pemantauan kesihatan dan mengekalkan ketersediaan yang tinggi.
Rangkaian ialah satu lagi bidang yang sukar untuk diatur dengan pasti dalam persekitaran IaaS. Berkomunikasi antara perkhidmatan mikro melalui alamat IP boleh menjadi rumit. Kubernetes melaksanakan pengurusan alamat IP, pengimbangan beban, penemuan perkhidmatan dan pendaftaran nama DNS untuk menyediakan persekitaran rangkaian yang tidak menyakitkan dan telus dalam kelompok.
Direka untuk penempatanSebaik sahaja anda mencipta persekitaran untuk menjalankan aplikasi anda, penempatan adalah sesuatu yang penting. Mengerahkan aplikasi dengan pasti adalah tugas yang lebih mudah diucapkan daripada dilakukan—ia bukanlah yang paling mudah. Kelebihan besar Kubernetes berbanding persekitaran lain ialah penempatan adalah warga kelas pertama.
Aplikasi boleh diterangkan dan dipasang pada kluster menggunakan satu arahan antara muka baris arahan (CLI) Kubernetes. Kubernetes mendayakan keseluruhan kitaran hayat aplikasi daripada penggunaan awal, melancarkan versi baharu dan melancarkan semula apabila ciri kritikal rosak. Arahan yang sedang berjalan juga boleh dijeda dan disambung semula. Mempunyai alatan terbina dalam yang sedia dibuat dan sokongan untuk penggunaan aplikasi, dan bukannya perlu membina sistem penggunaan sendiri, adalah kelebihan yang tidak boleh dipandang remeh. Pengguna Kubernetes tidak perlu mencipta semula roda penggunaan aplikasi atau menganggapnya sebagai tugas yang menakutkan.
Kubernetes juga boleh memantau status penggunaan yang sedang dijalankan. Walaupun anda boleh menulis fungsi ini dengan cara yang sama seperti proses penempatan dalam persekitaran IaaS, ini adalah tugas yang sangat sukar dan terdapat banyak kes seperti ini.
Direka untuk DevOpsApabila anda memperoleh lebih banyak pengalaman dalam membangunkan dan menggunakan aplikasi Kubernetes, anda akan mengikuti jalan yang sama seperti Google dan orang lain yang datang sebelum anda. Anda akan mendapati bahawa terdapat beberapa ciri Kubernetes yang penting untuk pembangunan berkesan dan penyelesaian masalah aplikasi berbilang perkhidmatan.
Pertama, keupayaan Kubernetes untuk memeriksa perkhidmatan yang dijalankan dengan mudah melalui log atau SSH (secure shell) adalah sangat penting. Dengan satu panggilan baris perintah, pentadbir boleh memeriksa log perkhidmatan yang dijalankan di bawah Kubernetes. Ini mungkin kelihatan seperti tugas yang mudah, tetapi dalam persekitaran IaaS, ia tidak mudah melainkan anda telah melakukan beberapa kerja. Aplikasi besar selalunya mempunyai perkakasan dan kakitangan khusus untuk pengumpulan dan analisis log. Log masuk Kubernetes mungkin tidak menggantikan penyelesaian pengelogan dan metrik berciri penuh, tetapi ia sudah cukup untuk menyediakan penyelesaian masalah asas.
Kedua, Kubernetes menyediakan pengurusan kunci terbina dalam. Satu lagi pasukan bermasalah yang telah membangunkan sistem penggunaan mereka sendiri dari awal tahu ialah mengerahkan data sensitif dengan selamat, seperti kata laluan dan token API, ke mesin maya adalah sukar. Dengan menjadikan pengurusan utama warga kelas pertama, Kubernetes menghalang pasukan anda daripada mencipta sistem pengedaran kunci yang tidak selamat, rosak atau bukti kelayakan pengekodan keras mereka sendiri dalam skrip penggunaan.
Akhir sekali, Kubernetes mempunyai ciri untuk mengautomasikan penskalaan, pengimbangan beban dan memulakan semula aplikasi. Sekali lagi, ini adalah ciri yang perlu ditulis sendiri oleh pembangun apabila menggunakan IaaS atau logam kosong. Penskalaan dan pemeriksaan kesihatan untuk aplikasi Kubernetes anda diisytiharkan dalam definisi perkhidmatan dan Kubernetes memastikan bilangan kejadian yang betul berjalan dengan sihat.
RingkasanPerbezaan antara sistem IaaS dan PaaS sangat besar dan termasuk PaaS boleh menjimatkan banyak masa pembangunan dan penyahpepijatan. Sebagai PaaS, Kubernetes melaksanakan keupayaan yang berkuasa dan berkesan untuk membantu anda membangunkan, menggunakan dan menyahpepijat aplikasi asli awan. Seni bina dan reka bentuknya mewakili dekad pengalaman jarang berlaku, dan pasukan anda mendapat kelebihan itu secara percuma.
Mengenai pengarang:
Tim Potter - Tim ialah Jurutera Perisian Kanan di Hewlett Packard Enterprise. Beliau telah mengusahakan perisian percuma dan sumber terbuka selama hampir dua dekad, termasuk projek seperti Samba, Wireshark, OpenPegasus, dan Docker. Blog Tim di https://elegantinfrastructure.com/ tentang Docker, Kubernetes dan topik berkaitan infrastruktur lain.
Atas ialah kandungan terperinci Apakah sebenarnya sebab populariti meluas Kubernetes?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!