Polaris diperkenalkan untuk menjaga kluster Kubernetes tetap sehat

Catatan. terjemahan: Teks asli ini ditulis oleh Rob Scott, insinyur SRE terkemuka di ReactiveOps, yang berada di balik pengembangan proyek yang diumumkan. Gagasan validasi terpusat atas apa yang diterapkan ke Kubernetes sangat dekat dengan kami, jadi kami mengikuti inisiatif tersebut dengan penuh minat.

Polaris diperkenalkan untuk menjaga kluster Kubernetes tetap sehat

Senang memperkenalkannya Polaris adalah proyek sumber terbuka yang membantu menjaga kesehatan kluster Kubernetes. Kami membangun Polaris untuk mengotomatiskan beberapa praktik terbaik yang digunakan dalam ReactiveOps untuk menjaga cluster berjalan dengan aman dan andal di sejumlah besar pelanggan. Saatnya untuk membuka kode sumber.

Berkali-kali, kami melihat kesalahan konfigurasi yang tampaknya kecil menyebabkan masalah besar yang membuat para teknisi terjaga di malam hari. Sesuatu yang sangat sederhana - misalnya, konfigurasi permintaan sumber daya yang terlupakan karena kelupaan (permintaan sumber daya) β€” dapat merusak penskalaan otomatis dan bahkan menyebabkan beban kerja tidak memiliki sumber daya. Jika sebelumnya kesalahan kecil dalam konfigurasi menyebabkan gangguan produksi, kini Polaris memungkinkan Anda mencegahnya sepenuhnya.

Polaris membantu Anda menghindari masalah konfigurasi yang berdampak pada stabilitas, keandalan, skalabilitas, dan keamanan aplikasi Anda. Ini memudahkan untuk mengidentifikasi kelemahan dalam konfigurasi penerapan dan mencegah masalah di masa depan. Dengan Polaris, Anda dapat tidur nyenyak karena mengetahui bahwa aplikasi Anda diterapkan menggunakan serangkaian standar yang telah teruji dengan baik.

Polaris terdiri dari dua komponen utama:

  1. panel pemantauan yang memberikan informasi tentang seberapa baik konfigurasi penerapan yang ada di cluster;
  2. webhook pengujian eksperimental yang mencegah penerapan penerapan yang tidak memenuhi standar yang diterima.

Dasbor Polaris

Dasbor Polaris dibuat untuk memberikan cara yang sederhana dan visual untuk melihat status penerapan Kubernetes saat ini dan mendapatkan rekomendasi perbaikan. Ini memberikan gambaran lengkap tentang cluster, dan juga mengelompokkan hasil berdasarkan kategori, namespace, dan penerapan.

Polaris diperkenalkan untuk menjaga kluster Kubernetes tetap sehat

Standar default Polaris cukup tinggi, jadi jangan kaget jika skor Anda lebih rendah dari yang diharapkan. Tujuan utama Polaris adalah menetapkan standar tinggi dan mengupayakan konfigurasi default yang unggul. Jika konfigurasi yang diusulkan tampak terlalu kaku, konfigurasi tersebut dapat diperbaiki selama proses konfigurasi penerapan, mengoptimalkannya untuk beban kerja tertentu.

Sebagai bagian dari publikasi Polaris, kami memutuskan tidak hanya untuk mempresentasikan alat itu sendiri, tetapi juga untuk menjelaskan secara rinci pengujian yang disertakan di dalamnya. Setiap tinjauan menyertakan tautan ke dokumentasi terkait, yang menjelaskan mengapa kami meyakininya penting dan menyediakan tautan ke sumber daya tambahan mengenai topik tersebut.

Webhook Polaris

Jika dasbor membantu mendapatkan gambaran umum tentang konfigurasi penerapan saat ini, maka webhook memastikan kepatuhan terhadap standar untuk semua penerapan yang akan diluncurkan ke cluster.

Setelah masalah yang diidentifikasi oleh dasbor diperbaiki, Anda dapat menggunakan webhook untuk memastikan bahwa konfigurasi tidak lagi berada di bawah standar yang ditetapkan. Webhook tidak akan mengizinkan penerapan di cluster yang konfigurasinya mengandung penyimpangan signifikan (tingkat β€œkesalahan”).

Potensi webhook ini menarik, namun masih memerlukan pengujian ekstensif agar dianggap siap produksi. Ini saat ini merupakan fitur eksperimental dan bagian dari proyek Open Source yang benar-benar baru. Karena dapat mengganggu pembaruan penerapan, gunakan dengan hati-hati.

Memulai

Saya harap sejak Anda masih membaca pengumuman ini, Polaris adalah alat yang mungkin berguna bagi Anda. Ingin mencoba Dasbor sendiri? Menyebarkan panel dalam sebuah cluster sangat mudah. Itu diinstal dengan hak minimal (hanya baca), dan semua data tetap berada di dalam. Untuk menerapkan Dashboard menggunakan kubectl, jalankan:

kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yaml

Sekarang Anda perlu mengkonfigurasi penerusan port untuk mengakses Dasbor melalui port lokal 8080:

kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80

Tentu saja masih banyak cara lain untuk menggunakan dan menerapkan Polaris, termasuk menggunakan Helm. Anda dapat mempelajari hal ini dan banyak lagi dari Repositori Polaris di GitHub.

Ini baru permulaan

Kami gembira dengan apa yang telah dikembangkan Polaris sejauh ini, namun ceritanya tidak berakhir di situ. Ada banyak pengujian baru yang ingin kami tambahkan untuk memperluas fungsionalitas. Kami juga mencari cara yang lebih baik untuk menerapkan aturan pemeriksaan pengecualian di tingkat namespace atau sumber daya. Jika Anda ingin informasi lebih lanjut tentang rencana kami, lihatlah peta jalan.

Jika Anda mendapat kesan bahwa Polaris mungkin berguna, silakan luangkan waktu untuk mencobanya. Kami dengan senang hati akan menerima ide, masukan, pertanyaan, atau permintaan penarikan apa pun. Anda dapat menghubungi kami di situs web proyekDi GitHub atau Twitter.

PS dari penerjemah

Baca juga di blog kami:

Sumber: www.habr.com

Tambah komentar