11 alat yang menjadikan Kubernetes lebih baik

11 alat yang menjadikan Kubernetes lebih baik

Tidak semua platform pelayan, malah yang paling berkuasa dan berskala, memenuhi semua keperluan sebagaimana adanya. Walaupun Kubernetes berfungsi hebat dengan sendirinya, ia mungkin kekurangan bahagian yang sesuai untuk dilengkapkan. Anda akan sentiasa menemui kes khas yang mengabaikan keperluan anda, atau di mana Kubernetes tidak akan berfungsi dalam pemasangan lalai - contohnya, sokongan pangkalan data atau operasi CD.

Di sinilah penambahan, sambungan dan barang lain untuk pengatur kontena ini muncul, disokong oleh komuniti yang luas. Artikel ini akan memaparkan 11 perkara terbaik yang kami temui. Kepada diri kita sendiri Southbridge ia sangat menarik, dan kami merancang untuk menanganinya secara praktikal - pisahkan mereka menjadi skru dan nat dan lihat apa yang ada di dalamnya. Sesetengah daripada mereka akan melengkapkan mana-mana kluster Kubernetes dengan sempurna, manakala yang lain akan membantu menyelesaikan masalah khusus yang tidak dilaksanakan dalam pakej Kubernetes standard.

Penjaga pintu: Pengurusan Dasar

Projek Ejen Polisi Terbuka (OPA) menyediakan keupayaan untuk mencipta dasar di atas tindanan aplikasi awan dalam Kubernetes, daripada kemasukan ke jaringan perkhidmatan. gatekeeper memberikan keupayaan asli Kubernetes untuk menguatkuasakan dasar secara automatik merentas kluster, dan juga menyediakan pemeriksaan ke atas sebarang peristiwa atau sumber yang melanggar dasar. Semua ini dikendalikan oleh mekanisme yang agak baharu dalam Kubernetes, pengurus kemasukan Webhooks, yang dicetuskan apabila sumber berubah. Dengan Gatekeeper, dasar OPA menjadi satu lagi bahagian kesihatan kelompok Kubernetes anda tanpa memerlukan pengawasan berterusan.

Graviti: Kluster Kubernetes Mudah Alih

Jika anda ingin menggunakan aplikasi ke Kubernetes, banyak aplikasi mempunyai carta Helm yang membimbing dan mengautomasikan proses ini. Tetapi bagaimana jika anda mahu mengambil kluster Kubernetes anda seperti sedia ada dan melancarkannya di tempat lain?

Graviti mengambil gambar keadaan gugusan Kubernetes, pendaftaran mereka untuk imej kontena dan menjalankan aplikasi yang dipanggil "pakej aplikasi." Pakej sedemikian, yang merupakan fail biasa .tar, boleh meniru kluster di mana-mana sahaja Kubernetes boleh dijalankan.

Graviti juga mengesahkan bahawa infrastruktur sasaran berkelakuan sama seperti sumber dan persekitaran Kubernetes pada sasaran tersedia. Versi berbayar Gravity juga menambah ciri keselamatan, termasuk RBAC dan keupayaan untuk menyegerakkan tetapan keselamatan merentas penempatan kluster yang berbeza.

Versi utama terbaharu, Gravity 7, boleh melancarkan imej Graviti kepada gugusan Kubernetes sedia ada, dan bukannya memutarkan gugusan baharu daripada imej itu. Graviti 7 juga boleh berfungsi dengan kluster yang dipasang tanpa imej Graviti. Graviti juga menyokong SELinux, dan berfungsi secara asli dengan gerbang SSH Teleport.

Kaniko: Membina bekas dalam gugusan Kubernetes

Kebanyakan imej bekas dibina pada sistem di luar tindanan bekas. Walau bagaimanapun, kadangkala anda perlu membina imej di dalam tindanan bekas, contohnya di suatu tempat dalam bekas yang sedang berjalan, atau dalam gugusan Kubernetes.

Kaniko membina bekas dalam persekitaran kontena, tetapi tanpa bergantung pada perkhidmatan kontena, seperti Docker. Sebaliknya, Kaniko mengekstrak sistem fail daripada imej asas, menjalankan semua arahan binaan dalam ruang pengguna di atas sistem fail yang diekstrak, mengambil gambar sistem fail selepas setiap arahan.

Nota: Kaniko pada masa ini (Mei 2020, lebih kurang penterjemah) tidak boleh membina bekas Windows.

Kubecost: Parameter kos permulaan Kubernetes

Kebanyakan alat pentadbiran Kubernetes menumpukan pada kemudahan penggunaan, pemantauan, pemahaman tingkah laku dalam pod, dsb. Tetapi bagaimana pula dengan melihat kos - dalam dolar dan sen - yang berkaitan dengan menjalankan Kubernetes?

Kubecost Memproses parameter Kubernetes dalam masa nyata, menghasilkan maklumat kos terkini daripada menjalankan kluster merentas penyedia awan utama, dipaparkan dalam papan pemuka yang menunjukkan kos bulanan setiap kluster. Harga untuk RAM, masa CPU, GPU dan subsistem cakera dipecahkan mengikut komponen Kubernetes (bekas, pod, perkhidmatan, dsb.)

Kubecost juga menjejaki kos sumber luar kelompok seperti baldi Amazon S3, walaupun ini terhad kepada AWS. Data kos boleh dihantar ke Prometheus supaya anda boleh menggunakannya untuk mengubah tingkah laku kluster secara pemrograman.

Kubecost adalah percuma untuk digunakan selagi 15 hari data log mencukupi untuk anda. Untuk ciri tambahan, harga bermula pada $199 setiap bulan untuk memantau 50 nod.

KubeDB: Menjalankan pangkalan data pertempuran pada Kubernetes

Pangkalan data juga agak sukar untuk dijalankan dengan berkesan pada Kubernetes. Anda akan menemui pengendali Kubernetes untuk MySQL, PostgreSQL, MongoDB dan Redis, tetapi semuanya mempunyai kelemahan. Selain itu, set ciri Kubernetes biasa tidak menyelesaikan masalah pangkalan data yang paling spesifik secara langsung.

KubeDB membantu anda membuat pernyataan Kubernetes anda untuk mengurus pangkalan data. Menjalankan sandaran, pengklonan, pemantauan, syot kilat, dan penciptaan pangkalan data deklaratif adalah komponennya. Sila ambil perhatian bahawa sokongan ciri mungkin berbeza mengikut pangkalan data. Sebagai contoh, mencipta kluster berfungsi untuk PostgreSQL, tetapi bukan untuk MySQL (sudah ada, seperti yang dinyatakan dengan betul dnbstd, lebih kurang penterjemah).

Kube-monkey: Chaos Monkey untuk Kubernetes

Kaedah ujian tekanan yang paling bebas ralat dianggap sebagai pecahan rawak. Itulah teori di sebalik Chaos Monkey Netflix, alat kejuruteraan huru-hara yang mematikan mesin maya dan bekas pengeluaran secara rawak untuk "memberi insentif" kepada pembangun untuk membina sistem yang lebih berdaya tahan. Kube-monyet β€” pelaksanaan teori asas ujian tekanan yang sama untuk kelompok Kubernetes. Ia berfungsi dengan membunuh pod secara rawak dalam kelompok yang anda tetapkan, dan juga boleh dikonfigurasikan untuk dijalankan pada selang masa tertentu.

Pengawal Ingress Kubernetes untuk AWS

Kubernetes menyediakan pengimbang beban luaran dan perkhidmatan rangkaian kluster melalui perkhidmatan yang dipanggil Ingress AWS menyediakan fungsi pengimbangan beban, tetapi tidak memautkannya secara automatik kepada keupayaan Kubernetes yang sama. Pengawal Ingress Kubernetes untuk AWS merapatkan jurang ini.

Ia mengurus sumber AWS secara automatik untuk setiap objek kemasukan dalam kelompok, mencipta pengimbang beban untuk sumber kemasukan baharu dan mengalih keluar pengimbang beban apabila sumber dipadamkan. Ia menggunakan CloudFormation untuk memastikan keadaan kluster kekal konsisten. Ia juga menyokong tetapan Penggera CloudWatch dan secara automatik mengurus elemen lain yang digunakan dalam kelompok, seperti sijil SSL dan Kumpulan Penskalaan Auto EC2.

Kubespray: Pemasangan automatik Kubernetes

Kubespray mengautomasikan pemasangan kluster Kubernetes sedia pengeluaran, daripada pemasangan pada pelayan perkakasan kepada awan awam utama. Ia menggunakan Ansible (Vagrant - pilihan) untuk menjalankan penggunaan dan mencipta kluster yang sangat tersedia dari awal dengan pilihan tambahan rangkaian anda (seperti Flanel, Calico dan lain-lain) pada pengedaran Linux popular pilihan anda apabila dipasang pada pelayan perkakasan.

Skaffold: Pembangunan Berulang untuk Kubernetes

Skaffold - salah satu alatan Google yang digunakan untuk mengatur aplikasi CD dalam Kubernetes. Sebaik sahaja anda membuat perubahan pada kod sumber, skaffold mengesan ini secara automatik, mula membina dan menggunakan serta memberi amaran kepada anda jika terdapat sebarang ralat. Skaffold berjalan sepenuhnya pada bahagian klien, jadi mungkin terdapat masalah pemasangan atau kemas kini kecil. Ia boleh digunakan dengan saluran paip CICD sedia ada dan juga boleh antara muka dengan beberapa alat binaan luaran, terutamanya Bazel Google.

Teresa: PaaS paling ringkas pada Kubernetes

Teresa ialah sistem penggunaan aplikasi yang menjalankan PaaS ringkas di atas Kubernetes. Pengguna yang disusun dalam pasukan boleh menggunakan dan mengurus aplikasi yang mereka miliki. Ini menjadikan perkara lebih mudah untuk orang yang mempercayai aplikasi dan tidak mahu berurusan dengan Kubernetes dan semua kerumitannya.

Condongkan: Menstrim kemas kini kontena ke gugusan Kubernetes

Condongkan, yang dibangunkan oleh Kejuruteraan Kincir Angin, memerhatikan perubahan pada fail Docker yang berbeza dan kemudian secara beransur-ansur menggunakan bekas yang sepadan ke gugusan Kubernetes. Pada asasnya, ia membolehkan anda mengemas kini kluster pengeluaran anda dalam masa nyata hanya dengan mengemas kini Dockerfiles. Condongkan dibina dalam kelompok, kod sumber adalah semua yang perlu diubah. Anda juga boleh mengambil gambar kesihatan kluster dan menangkap keadaan ralat terus daripada Tilt untuk dikongsi dengan ahli pasukan untuk penyahpepijatan.

PS Kami telah berulang kali menggunakan semua alat ini Southbridge disiasat dengan tangan kami yang ingin tahu. Untuk membentangkan amalan sebenar (semoga!) di kursus intensif luar talian pada bulan Februari. Pangkalan Kubernetes 8–10 Februari 2021. Dan Kubernetes Mega 12–14 Februari. Sejujurnya, kami juga merindui suasana pembelajaran luar talian yang hangat dan penuh bertenaga. Tidak kira betapa canggihnya teknologi, ia tidak dapat menggantikan komunikasi manusia secara langsung dan suasana istimewa apabila orang yang berfikiran sama berkumpul.

Sumber: www.habr.com

Tambah komen