11 alat yang menjadikan Kubernetes lebih baik

11 alat yang menjadikan Kubernetes lebih baik

Tidak semua platform server, bahkan yang paling kuat dan dapat diskalakan, memenuhi semua kebutuhan sebagaimana adanya. Meskipun Kubernetes berfungsi dengan baik dengan sendirinya, Kubernetes mungkin kekurangan bagian yang tepat untuk diselesaikan. Anda akan selalu menemukan kasus khusus yang mengabaikan kebutuhan Anda, atau di mana Kubernetes tidak akan berfungsi pada penginstalan default, seperti dukungan database atau operasi CD.

Di sinilah add-on, ekstensi, dan barang lainnya untuk orkestrator wadah ini muncul, didukung oleh komunitas terluas. Pada artikel ini, akan ada 11 hal terbaik yang kami temukan. Kami sendiri di Southbridge mereka sangat menarik, dan kami berencana untuk menanganinya secara praktis - membongkarnya menjadi sekrup dan mur dan melihat apa yang ada di dalamnya. Beberapa di antaranya akan melengkapi kluster Kubernetes mana pun dengan sempurna, sementara yang lain akan membantu menyelesaikan tugas tertentu yang tidak diterapkan dalam distribusi Kubernetes pada umumnya.

Penjaga gerbang: manajemen kebijakan

Proyek Buka Agen Kebijakan (OPA) memberikan kemampuan untuk membuat kebijakan di atas tumpukan aplikasi cloud di Kubernetes, mulai dari ingress hingga service mesh. Penjaga gerbang memberikan kemampuan asli Kubernetes untuk memberlakukan kebijakan pada kluster secara otomatis, dan juga menyediakan pemeriksaan untuk setiap kejadian atau sumber daya yang melanggar kebijakan. Semua ini ditangani oleh mekanisme Kubernetes yang relatif baru, manajer penerimaan Webhooks, yang diaktifkan saat sumber daya berubah. Dengan Gatekeeper, kebijakan OPA menjadi bagian lain dari status klaster Kubernetes Anda tanpa perlu pengawasan konstan.

Gravitasi: Kluster Kubernetes Portabel

Jika Anda ingin meluncurkan aplikasi ke Kubernetes, banyak aplikasi yang memiliki diagram Helm yang memandu dan mengotomatiskan proses ini. Tetapi bagaimana jika Anda ingin menggunakan kluster Kubernetes "sebagaimana adanya" dan meluncurkannya di tempat lain?

Gaya berat mengambil snapshot dari kluster Kubernetes, registrinya untuk gambar kontainer, serta menjalankan aplikasi yang disebut "paket aplikasi". Paket seperti itu, yang merupakan file biasa .tar, dapat mereplikasi cluster di mana pun Kubernetes dapat berjalan.

Gravity juga memeriksa apakah infrastruktur target berperilaku sama dengan infrastruktur sumber, dan juga apakah lingkungan Kubernetes pada target tersedia. Gravity versi berbayar juga menambahkan fitur keamanan, termasuk RBAC dan kemampuan untuk menyinkronkan pengaturan keamanan di berbagai penerapan klaster.

Rilis besar terbaru, Gravity 7, dapat mendorong citra Gravity ke dalam kluster Kubernetes yang sudah ada, alih-alih memunculkan kluster yang sama sekali baru dari citra. Gravity 7 juga dapat bekerja dengan cluster yang diinstal tanpa menggunakan gambar Gravity. Gravity juga mendukung SELinux, dan bekerja secara native dengan gateway Teleport SSH.

Kaniko: Membuat Kontainer di Cluster Kubernetes

Sebagian besar image container dibangun di atas sistem di luar tumpukan container. Namun, terkadang Anda perlu membuat image di dalam tumpukan container, seperti di suatu tempat di container yang sedang berjalan, atau di kluster Kubernetes.

Kaniko membangun kontainer di dalam lingkungan kontainer, tetapi tanpa bergantung pada layanan kontainerisasi, seperti Docker. Sebagai gantinya, Kaniko mengekstrak sistem file dari gambar dasar, mengeksekusi semua perintah pembangunan ruang pengguna di atas sistem file yang diekstraksi, mengambil snapshot dari sistem file setelah setiap perintah.

Catatan: Kaniko saat ini (Mei 2020, kira-kira Penerjemah) tidak dapat membuat wadah Windows.

Kubecost: Opsi biaya startup Kubernetes

Sebagian besar alat administrasi Kubernetes berfokus pada kemudahan penggunaan, pemantauan, pemahaman perilaku di dalam pod, dan sebagainya. Tetapi bagaimana dengan memantau biaya - dalam rubel dan kopeck - terkait dengan peluncuran Kubernetes?

Kubecost memproses parameter Kubernetes secara real time, sehingga menghasilkan informasi biaya terkini dari cluster yang berjalan di penyedia cloud utama, ditampilkan dalam panel dengan biaya bulanan per cluster. Harga untuk RAM, waktu CPU, GPU, dan subsistem disk dipecah berdasarkan komponen Kubernetes (kontainer, pod, layanan, dll.)

Kubecost juga melacak biaya sumber daya non-cluster seperti bucket Amazon S3, meskipun hal ini dibatasi oleh AWS. Data biaya dapat dikirim ke Prometheus sehingga Anda dapat menggunakannya untuk mengubah perilaku klaster secara terprogram.

Kubecost gratis untuk digunakan jika Anda memiliki cukup data log selama 15 hari. Untuk fitur tambahan, harga mulai dari $199 per bulan untuk memantau 50 node.

KubeDB: Menjalankan Basis Data Pertempuran di Kubernetes

Basis data juga sulit dijalankan secara spektakuler di Kubernetes. Anda akan menemukan operator Kubernetes untuk MySQL, PostgreSQL, MongoDB, dan Redis, tetapi semuanya memiliki kekurangan. Selain itu, rangkaian fitur khas Kubernetes tidak secara langsung menangani sebagian besar masalah basis data yang ditentukan.

KubeDB membantu Anda membuat pernyataan Kubernetes untuk manajemen basis data. Menjalankan pencadangan, kloning, pemantauan, snapshot, dan pembuatan basis data deklaratif adalah bagian penyusunnya. Perhatikan bahwa dukungan fitur bergantung pada basis data. Misalnya, membuat cluster berfungsi untuk PostgreSQL, tetapi tidak untuk MySQL (sudah ada, seperti yang ditunjukkan dengan benar dnbstd, kira-kira Penerjemah).

Kube-monkey: Monyet Kekacauan untuk Kubernetes

Metode stress testing yang paling bebas kesalahan dianggap sebagai perincian acak. Teori ini adalah inti dari Chaos Monkey Netflix, alat rekayasa kacau yang secara acak mematikan mesin virtual dan wadah lingkungan produksi untuk "memberi insentif" kepada pengembang untuk membangun sistem yang lebih tangguh. kube-monyet - implementasi teori dasar stress testing yang sama untuk cluster Kubernetes. Ini bekerja dengan mematikan modul secara acak di cluster yang Anda tentukan, dan juga dapat diatur untuk berjalan pada interval waktu tertentu.

Pengontrol Ingress Kubernetes untuk AWS

Kubernetes menyediakan penyeimbang beban eksternal dan layanan jaringan klaster melalui layanan yang disebut Jalan masuk AWS menyediakan fitur load balancing tetapi tidak secara otomatis menggabungkannya dengan fitur Kubernetes yang sama. Pengontrol Ingress Kubernetes untuk AWS menutup celah ini.

Secara otomatis mengelola sumber daya AWS untuk setiap masuknya dalam kluster, membuat penyeimbang muatan untuk sumber daya masuk baru, dan menghapus penyeimbang muatan saat sumber daya dihapus. Ini menggunakan CloudFormation untuk memastikan status cluster tetap konsisten. Ini juga mendukung pengaturan CloudWatch Alarm dan secara otomatis mengelola elemen lain yang digunakan dalam klaster, seperti sertifikat SSL dan Grup Penskalaan Otomatis EC2.

Kubespray: Instalasi otomatis Kubernetes

semprotan kube mengotomatiskan penginstalan kluster Kubernetes yang siap produksi, mulai dari penginstalan di server perangkat keras hingga cloud publik utama. Ini menggunakan Ansible (Vagrant opsional) untuk memulai penerapan dan membuat cluster dengan ketersediaan tinggi dari awal dengan add-on jaringan pilihan Anda (seperti Flanel, Calico, dll.) pada distribusi Linux populer pilihan Anda saat diinstal di server perangkat keras.

Skaffold: Pengembangan Iteratif untuk Kubernetes

Perancah - salah satu alat Google yang digunakan untuk mengatur CD aplikasi di Kubernetes. Segera setelah Anda membuat perubahan pada kode sumber, scaffold secara otomatis mendeteksi ini, mulai membuat dan menerapkan, dan memperingatkan Anda jika ada kesalahan. Skaffold berjalan sepenuhnya di sisi klien, jadi mungkin ada sedikit perbedaan dengan penginstalan atau pemutakhiran. Ini dapat digunakan dengan pipeline CICD yang ada serta berinteraksi dengan beberapa alat build eksternal, terutama Bazel Google.

Teresa: PaaS paling sederhana di Kubernetes

Teresa adalah sistem penerapan aplikasi yang menjalankan PaaS sederhana di atas Kubernetes. Pengguna yang bekerja sama dapat menyebarkan dan mengelola aplikasi mereka sendiri. Ini membuat segalanya sedikit lebih mudah bagi orang-orang yang mempercayai aplikasi ini dan tidak ingin berurusan dengan Kubernetes dan segala kerumitannya.

Miringkan: Alirkan update kontainer ke kluster Kubernetes

Memiringkan, yang dikembangkan oleh Windmill Engineering, memantau perubahan pada Dockerfiles yang berbeda dan kemudian secara bertahap menerapkan kontainer yang sesuai ke kluster Kubernetes. Intinya, ini memungkinkan Anda memperbarui klaster produksi secara real time hanya dengan memperbarui Dockerfiles. Tilt dibangun di dalam cluster, hanya kode sumber yang perlu diubah. Anda juga dapat mengambil snapshot status klaster dan menangkap kondisi error langsung dari Tilt untuk dibagikan dengan anggota tim untuk proses debug.

PS Semua alat ini telah kami gunakan berulang kali Southbridge diperiksa dengan tangan penasaran kami. Untuk menyajikan praktik nyata (semoga!) Di intensif offline di bulan Februari. Basis Kubernetes 8–10 Februari 2021. Dan Kubernet Mega 12–14 Februari. Jujur, kami juga merindukan suasana pembelajaran luring yang hangat dan penuh semangat. Tidak peduli seberapa canggih teknologinya, mereka tidak akan menggantikan komunikasi langsung manusia dan suasana khusus ketika orang-orang yang berpikiran sama berkumpul.

Sumber: www.habr.com

Tambah komentar