Garden v0.10.0: Laptop Anda tidak memerlukan Kubernetes

Catatan. terjemahan: Dengan penggemar Kubernetes dari proyek ini Taman kami bertemu di acara baru-baru ini KubeCon Eropa 2019, di mana mereka memberikan kesan yang menyenangkan bagi kami. Materi mereka ini, yang ditulis dengan topik teknis terkini dan dengan selera humor yang tinggi, merupakan konfirmasi yang jelas tentang hal ini, dan oleh karena itu kami memutuskan untuk menerjemahkannya.

Dia berbicara tentang hal utama (dengan nama yang sama) ΠΎΠ΄ΡƒΠΊΡ‚Π΅ perusahaan, yang idenya adalah mengotomatiskan alur kerja dan menyederhanakan pengembangan aplikasi di Kubernetes. Untuk melakukan hal ini, utilitas ini memungkinkan Anda dengan mudah (secara harfiah dengan satu perintah) menyebarkan perubahan baru yang dibuat dalam kode ke cluster dev, dan juga menyediakan sumber daya/cache bersama untuk mempercepat pembuatan dan pengujian kode oleh tim. Dua minggu lalu Taman menjadi tuan rumah rilis 0.10.0, yang memungkinkan untuk menggunakan tidak hanya cluster Kubernetes lokal, tetapi juga cluster jarak jauh: ini adalah acara yang dikhususkan untuk artikel ini.

Hal yang paling tidak saya sukai adalah bekerja dengan Kubernetes di laptop saya. "Juru mudi" memakan prosesor dan baterainya, menyebabkan pendingin berputar tanpa henti, dan sulit dirawat.

Garden v0.10.0: Laptop Anda tidak memerlukan Kubernetes
Stok fotografi dalam tema untuk efek tambahan

Minikube, kind, k3s, Docker Desktop, microk8s, dll. - alat luar biasa yang dibuat untuk membuat penggunaan Kubernetes senyaman mungkin, dan terima kasih kepada mereka untuk itu. Dengan serius. Namun bagaimanapun Anda melihatnya, satu hal yang jelas: Kubernetes tidak cocok untuk dijalankan di laptop saya. Dan laptop itu sendiri tidak dirancang untuk bekerja dengan sekelompok container yang tersebar di seluruh lapisan mesin virtual. Si malang berusaha semaksimal mungkin, tapi jelas tidak menyukai kegiatan ini, menunjukkan ketidakpuasannya terhadap lolongan pendingin dan mencoba membakar pahanya ketika saya dengan sembarangan mendudukkannya di atas lutut saya.

Katakanlah: laptop - laptop.

Taman adalah alat untuk pengembang yang menempati ceruk yang sama dengan Skaffold dan Draft. Ini menyederhanakan dan mempercepat pengembangan dan pengujian aplikasi Kubernetes.

Sejak kami mulai mengerjakan Garden, sekitar 18 bulan yang lalu, kami mengetahui hal itu lokal Pengembangan sistem terdistribusi adalah solusi sementara, sehingga Garden dibangun dengan fleksibilitas yang signifikan dan landasan yang kokoh.

Kami sekarang siap mendukung lingkungan Kubernetes lokal dan jarak jauh. Pekerjaan menjadi lebih mudah: perakitan, penerapan, dan pengujian kini dapat dilakukan di cluster jarak jauh.

Secara singkat:

Dengan Garden v0.10, Anda dapat sepenuhnya melupakan cluster Kubernetes lokal dan tetap mendapatkan respons cepat terhadap perubahan kode. Semua ini gratis dan open source.

Garden v0.10.0: Laptop Anda tidak memerlukan Kubernetes
Nikmati pengalaman yang sama di lingkungan lokal dan terpencil

Menarik perhatian Anda?

Dan saya senang dengan hal ini, karena kami memiliki lebih banyak fitur menarik! Penggunaan cluster dev secara umum memiliki implikasi yang lebih luas, terutama untuk tim kolaboratif dan pipeline CI.

Bagaimana?

Pertama-tama, kolektor intra-cluster - baik itu daemon Docker standar atau Kaniko - serta registri intra-cluster dibagikan untuk seluruh cluster. Tim Anda dapat berbagi kluster pengembangan, dengan cache build dan gambar tersedia untuk semua pengembang. Karena Garden memberi tag pada gambar berdasarkan hash sumber, tag dan lapisan ditentukan secara unik dan konsisten.

Artinya, begitu pengembang membuat sebuah gambar, gambar itu akan menjadi tersedia untuk seluruh tim. Hari demi hari, kami mengunduh gambar dasar yang sama dan membuat versi yang sama di komputer kami. Penasaran berapa banyak lalu lintas dan listrik yang terbuang?..

Hal yang sama dapat dikatakan tentang pengujian: hasilnya tersedia untuk seluruh cluster dan semua anggota tim. Jika salah satu pengembang telah menguji versi kode tertentu, maka tidak perlu menjalankan kembali pengujian yang sama.

Dengan kata lain, ini bukan hanya soal tidak menjalankan minikube. Lompatan ini membuka jalan bagi tim Anda untuk mencapainya banyak peluang pengoptimalan - tidak ada lagi pembangunan dan uji coba yang tidak perlu!

Bagaimana dengan CI?

Sebagian besar dari kita terbiasa dengan kenyataan bahwa CI dan pengembang lokal adalah dua dunia terpisah yang perlu dikonfigurasi secara terpisah (dan keduanya tidak berbagi cache). Sekarang Anda dapat menggabungkannya dan menghilangkan kelebihannya:

Anda dapat menjalankan perintah yang sama di CI dan dalam proses pengembangan, maupun gunakan satu lingkungan, cache, dan hasil pengujian.

Pada dasarnya, CI Anda menjadi bot pengembang yang bekerja di lingkungan yang sama dengan Anda.

Garden v0.10.0: Laptop Anda tidak memerlukan Kubernetes
Elemen sistem; pengembangan dan pengujian yang mulus

Konfigurasi pipeline CI dapat disederhanakan secara signifikan. Untuk melakukan ini, jalankan Garden dari CI untuk pembangunan, pengujian, dan penerapan. Karena Anda dan CI menggunakan lingkungan yang sama, kecil kemungkinan Anda mengalami masalah CI.

Menggali baris konfigurasi dan skrip yang tak terhitung jumlahnya, lalu mendorong, menunggu, berharap, dan pengulangan tanpa akhir... Semua ini sudah berlalu. Anda hanya melakukan pengembangan. Tidak ada gerakan yang tidak perlu.

Dan untuk akhirnya memperjelas situasinya: ketika Anda atau anggota tim lain membuat atau menguji sesuatu dengan Garden, hal yang sama terjadi pada CI. Jika Anda belum mengubah apa pun sejak pengujian dijalankan, Anda tidak perlu menjalankan pengujian (atau bahkan build) untuk CI. Garden melakukan semuanya sendiri dan kemudian beralih ke tugas lain seperti mengatur lingkungan pra-peluncuran, mendorong artefak, dll.

Terdengar menggoda. Bagaimana cara mencobanya?

Selamat Datang di repositori GitHub kami! Instal Garden dan mainkan contohnya. Bagi yang sudah menggunakan Garden atau ingin lebih mengenalnya, kami menawarkan Panduan Kubernetes Jarak Jauh. Bergabunglah dengan kami di saluran ini #taman di Kubernetes Slack, jika Anda memiliki pertanyaan, masalah atau hanya ingin ngobrol. Kami selalu siap membantu dan menyambut masukan dari pengguna.

PS dari penerjemah

Kami juga akan segera menerbitkan ulasan tentang utilitas yang berguna untuk pengembang aplikasi yang beroperasi di Kubernetes, yang mencakup proyek menarik lainnya selain Taman... Sementara itu, baca juga di blog kami:

Sumber: www.habr.com

Tambah komentar