Skip to content

emka.web.id

Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

Cara Menggunakan Datree untuk Menghindari Kesalahan Konfigurasi Kubernetes

Posted on October 18, 2022 by Syauqi Wiryahasana
Kubernetes adalah sistem yang kompleks dengan banyak bagian yang bergerak. Aturan konfigurasi yang benar sangat penting agar layanan Anda dapat beroperasi dengan andal. Kesalahan dapat terjadi saat Anda menulis manifes Kubernetes secara manual tanpa proses peninjauan yang komprehensif. Datree adalah alat berbasis aturan yang secara otomatis menemukan masalah dalam manifes Anda. Anda dapat menggunakannya untuk mengungkap pelanggaran kebijakan tanpa meninggalkan terminal Anda, memungkinkan pendekatan yang konsisten untuk konfigurasi Kubernetes. Dalam artikel ini, Anda akan mempelajari cara menggunakan CLI Datree untuk melakukan pemindaian manifes sesuai permintaan. Alat ini gratis dan bersumber terbuka, tetapi didukung oleh dasbor online yang memungkinkan Anda mengelola kebijakan yang dibagikan oleh seluruh tim secara terpusat. Ini gratis untuk individu yang berinteraksi dengan hingga dua Node sementara paket tim mulai dari $95/bln dengan tunjangan dasar lima Nodes.

Menginstal Datree CLI

Unduh pertama dan atur Datree CLI menggunakan skrip instalasinya. Ini berfungsi di Linux dan Mac: $ curl https://get.datree.io | /bin/bash Instruksi penginstalan alternatif tersedia di dokumentasi jika Anda menggunakan Windows atau ingin menjalankan Datree sebagai wadah Docker. Periksa CLI terinstal dengan benar dengan menjalankan perintah datree tanpa argumen: $ datree Datree adalah analisis kode statis alat untuk file kubernetes. Kode lengkap dapat ditemukan di https://github.com/datreeio/datree ... Sekarang Anda dapat mulai memindai manifes Anda untuk mencari kesalahan.

Melakukan Pemeriksaan Kebijakan

Salin YAML berikut dan simpan sebagai datree-demo.yaml di direktori kerja Anda : apiVersion: apps/v1 kind: Deployment metadata: name: demo-deployment namespace: demo spec: replicas: 2 selector: matchLabels: app: demo-app template: metadata: namespace: demo-deployment labels: app: demo-app spec : wadah: - nama: nginx gambar: nginx:kesiapan terbaruProbe: tcpSocket: port: 8080 sumber daya: permintaan: memori: "256Mi" cpu: "100m" batas: cpu: "500m" port: - containerPort: 80 YAML ini mendefinisikan yang valid Objek Deployment Kubernetes. Kubectl akan menerapkannya ke cluster Anda tanpa melaporkan kesalahan apa pun: $ kubectl apply -f datree-demo.yaml deployment/demo-deployment Created Mungkin ada masalah dengan konfigurasi ini. Menjalankan Datree CLI akan mengekspos mereka. Gunakan perintah uji datree untuk menyelesaikan analisis manifes Anda: $ uji datree datree-demo.yaml >> File: datree-demo.yaml [V] validasi YAML [V] Validasi skema Kubernetes [X] Pemeriksaan kebijakan Pastikan setiap gambar kontainer memiliki versi (tag) yang disematkan [1 kemunculan] - metadata.name: demo-deployment (jenis: Deployment) Nilai salah untuk `image` kunci - tentukan versi gambar untuk menghindari "kejutan versi" yang tidak menyenangkan di masa mendatang Pastikan setiap kontainer memiliki probe keaktifan yang dikonfigurasi [1 kejadian] - metadata.name: demo-deployment (jenis: Deployment) Objek properti yang hilang `livenessProbe` - tambahkan livenessProbe yang dikonfigurasi dengan benar untuk menangkap kemungkinan deadlock Pastikan setiap kontainer memiliki memori yang dikonfigurasi limit [1 kemunculan] - metadata.name: demo-deployment (jenis: Deployment) Objek properti yang hilang `limits.memory` - nilai harus berada dalam batas yang diterima yang direkomendasikan oleh organisasi (Ringkasan) - Melewati validasi YAML: 1/1 - Melewati Kubernetes (1.20.0) sc validasi hema: 1/1 - Lulus pemeriksaan kebijakan: 0/1 +----------------------------------- +------+ | Aturan yang diaktifkan dalam kebijakan "Default" | 21 | | Konfigurasi diuji terhadap kebijakan | 1 | | Total aturan yang dievaluasi | 21 | | Total aturan dilewati | 0 | | Total aturan gagal | 3 | | Total aturan disahkan | 18 | +-----------------------------------+-----+ Datree telah menemukan tiga pelanggaran kebijakan yang dapat memengaruhi cluster.

Melihat Hasil Scan

Datree scan melihat tiga aspek dari setiap manifes: validasi YAML – Pemeriksaan pertama memvalidasi kebenaran YAML Anda. Tidak ada pemeriksaan lebih lanjut yang dijalankan jika file YAML Anda memiliki kesalahan sintaksis. Validasi skema Kubernetes – Memeriksa apakah manifes berisi objek Kubernetes legal. Penyebab umum dari kesalahan ini termasuk nilai bidang yang tidak valid dan objek yang tidak bersarang. Pemeriksaan kebijakan – Di sinilah Datree menguji skema objek Kubernetes yang valid terhadap kesalahan konfigurasi yang umum. Kebijakan mengidentifikasi potensi masalah dan pengoptimalan yang hilang sehingga Anda dapat membuat klaster Kubernetes Anda lebih tangguh. Each laporan diakhiri dengan tabel yang merangkum jumlah manifes yang dipindai, aturan yang digunakan, dan kegagalan yang terdeteksi.

Memperbaiki Kesalahan Contoh Manifes

Memindai manifes contoh memunculkan tiga kesalahan: bidang gambar wadah tidak menggunakan tag yang disematkan, tidak ada LivenessProbe, dan tidak ada batas memori. Masalah pertama dapat diselesaikan dengan menggunakan versi gambar eksplisit seperti nginx:1.23. Tag terbaru berisiko karena Anda dapat secara tidak sengaja menerima perubahan yang melanggar, seperti 1,23 hingga 2.1. Kesalahan berikutnya dapat dihilangkan dengan menambahkan probe keaktifan. Ini memungkinkan Kubernetes untuk mendeteksi saat container Anda bertransisi ke status gagal. Bidang kontrol akan secara otomatis memulai ulang penampung, mengurangi kemungkinan pemadaman layanan. Tambahkan bidang livenessProbe baru di atas readyProbe: livenessProbe: tcpSocket: port: 8080 Akhirnya tetapkan batas memori untuk mengatasi peringatan terakhir. Meskipun manifes contoh menyertakan permintaan CPU dan memori, serta batas CPU, tidak ada batasan ketat pada memori. Kontainer dapat menggunakan RAM tak terbatas, berpotensi menciptakan situasi kehabisan memori di cluster Anda. YAML yang direvisi akan terlihat seperti ini: apiVersion: apps/v1 kind: Deployment metadata: name: demo-deployment namespace: demo spec: replicas: 2 selector : matchLabels: app: demo-app template: metadata: namespace: demo-deployment labels: app: demo-app spec: containers: - name: nginx image: nginx:1.23 livenessProbe: tcpSocket: port: 8080 readyProbe: tcpSocket: port: 8080 sumber daya: permintaan: memori: "256Mi" cpu: "100m" batas: memori: "512Mi" cpu: "500m" port: - containerPort: 80 Ulangi perintah uji datree untuk memverifikasi bahwa penerapan Anda sekarang melewati pemeriksaan kebijakan: $ datree test datree-demo.yaml (Ringkasan) - Melewati validasi YAML: 1/1 - Melewati validasi skema Kubernetes (1.20.0): 1/1 - Melewati pemeriksaan kebijakan: 1/1Menyesuaikan Aturan Contoh yang digunakan sejauh ini bergantung pada bawaan Datree dalam set kebijakan default. Ini mencakup banyak praktik terbaik Kubernetes, seperti menyiapkan probe, menggunakan batasan sumber daya, dan menghindari API yang tidak digunakan lagi. Anda dapat menyesuaikan kebijakan dengan menautkan Datree CLI ke dasbor online Anda. Di sini Anda dapat menonaktifkan kebijakan yang tidak Anda perlukan dan mengaktifkan aturan kustom baru untuk menerapkan rutinitas organisasi Anda. Cara termudah untuk masuk ke Datree adalah dengan mengikuti tautan yang ditampilkan di akhir keluaran Datree CLI: | Lihat semua aturan dalam kebijakan | https://app.datree.io/login?t=bbY... | CLI secara otomatis menghasilkan token unik untuk akun Anda. Klik tautan dan kemudian masuk ke Datree dengan GitHub atau Google. Anda akan dibawa ke dasbor Kebijakan yang menampilkan semua kebijakan yang aktif di akun Anda. Klik tombol sakelar di kolom “Status” untuk mengaktifkan atau menghapus kebijakan. Perubahan Anda akan segera berlaku untuk pemindaian baru. CLI secara otomatis mengunduh daftar kebijakan Anda sebelum memulai setiap pengujian. Dasbor juga menyediakan riwayat pemindaian yang telah Anda selesaikan. Klik tab "Riwayat" di bilah sisi kiri untuk mengambil hasil pemindaian sebelumnya.

Scanning Dengan Kebijakan Tertentu

Datree saat ini memiliki 60 aturan bawaan yang menyediakan pengujian individual. Aturan digabungkan ke dalam kelompok yang disebut kebijakan. Kebijakan default digunakan secara otomatis. Ini memungkinkan 21 dari 60 aturan. Datree juga dilengkapi dengan kebijakan yang telah dikonfigurasi sebelumnya untuk konfigurasi Argo dan NSA Kubernetes. Anda dapat membuat kebijakan sendiri dengan tombol biru “Buat Kebijakan” di dasbor online. Beri nama kebijakan Anda dan aktifkan satu atau beberapa aturan. Untuk memulai pemindaian dengan kebijakan tertentu, tambahkan tanda --policy CLI. Ini harus diberikan nama kebijakan yang ingin Anda gunakan. $ uji datree --policy NSA datree-demo.yaml Datree juga memungkinkan Anda menerapkan pengujian khusus dengan menambahkan aturan yang sama sekali baru. Meskipun pembuatan aturan berada di luar cakupan panduan memulai ini, Anda dapat menerapkan bahwa Deployment memiliki label tertentu, jumlah replika minimum, dan menggunakan gambar dari registri yang disetujui. Aturan didefinisikan sebagai JSON atau YAML menggunakan JSON Schema logic.

Memindai Banyak File

Perintah pengujian datree menerima jalur file atau pola gumpalan. Anda dapat memindai direktori manifes menggunakan sintaks berikut: datree test demo-dir/*.yaml Semua file tidak valid yang cocok dengan glob Anda akan ditampilkan sebagai gagal dalam pemeriksaan validasi YAML Datree. Mengotentikasi Instans CLI Lain CLI Datree terhubung ke akun Anda menggunakan autentikasi token. Token baru dibuat secara otomatis saat Anda menginstal CLI. Ini menyiapkan akun baru saat pertama kali digunakan. Anda harus memberikan token autentikasi yang ada secara manual jika Anda menginstal Datree di komputer lain. Anda dapat mengambil nilai dari bidang token di file ~/.datree/config.yaml Anda. Atau, buka dasbor online, klik gambar profil Anda di sudut kanan atas, pilih Pengaturan dari menu, dan alihkan ke tab "Manajemen Token". Kembali di instans CLI baru Anda, gunakan perintah berikut untuk menambahkan token Anda : $ datree config set token CLI sekarang akan menggunakan kebijakan yang dikonfigurasi di akun Anda. Pemindaian akan mulai muncul di layar Riwayat juga.

Menggunakan Datree Tanpa Akses Akun

Anda dapat menonaktifkan fitur koneksi akun CLI Datree jika Anda puas dengan set aturan default dan tidak ingin pemindaian berkomunikasi dengan server Datree: $ datree config set offline local Ini juga menghapus dukungan untuk validasi skema Kubernetes. Anda dapat menghentikan setiap pemindaian agar tidak muncul di halaman Riwayat akun Anda dengan menyetel tanda --no-record di CLI. $ datree test datree-demo.yaml --no- recordSummary Datree mengotomatiskan deteksi kesalahan konfigurasi Kubernetes dengan menawarkan CLI sederhana yang dikonfigurasi secara terpusat oleh dasbor online. Ini memastikan semua orang di tim Anda menguji manifes mereka terhadap kebijakan yang sama, mengurangi risiko kesalahan akan mencapai cluster Anda. Anda dapat mengintegrasikan Datree ke dalam pipeline CI Anda untuk mencegah penerapan perubahan yang berisi pelanggaran aturan. Datree juga tersedia sebagai webhook penerimaan Kubernetes yang akan secara aktif memblokir sumber daya yang tidak sesuai. Webhook penerimaan bertanggung jawab untuk memutuskan apakah objek baru dapat ditambahkan ke cluster; Datree akan menolak objek apa pun yang gagal dalam pengujian kebijakan Anda. Menyiapkan webhook memberikan keyakinan mutlak bahwa sumber daya yang salah dikonfigurasi tidak dapat digunakan, bahkan jika pengguna secara manual menerapkan manifes dengan Kubectl. Itulah berita seputar Cara Menggunakan Datree untuk Menghindari Kesalahan Konfigurasi Kubernetes, semoga bermanfaat. Disadur dari HowToGeek.com.
Seedbacklink

Recent Posts

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically