Membuat EndpointSlice Kubernetes

Membuat Endpointslice Kubernetes



Irisan titik akhir memungkinkan Anda melacak titik akhir jaringan yang terhubung dengan kluster Kubernetes. Anda dapat mempelajari lebih lanjut tentang EndpointSlice di lingkungan Kubernetes melalui artikel yang kami buat untuk Anda ini. Dalam tutorial ini, kami akan membantu Anda mempelajari apa itu EndpointSlice di klaster Kubernetes dan bagaimana Anda bisa membuat EndpointSlice di Kubernetes. Kami akan mendemonstrasikan beberapa perintah kubectl yang memungkinkan kami membuat titik akhir di kluster Kubernetes.

Apa itu EndpointSlice di Kubernetes?

EndpointSlice di Kubernetes adalah pelacak titik akhir jaringan. Itu memungkinkan untuk memantau titik akhir jaringan di kluster Kubernetes. Dengan kata sederhana, itu adalah objek yang mendapatkan alamat IP dari setiap pod yang ditugaskan padanya. Layanan Kubernetes mengacu pada objek ini untuk mendapatkan catatan alamat IP internal pod untuk komunikasi. Selain itu, titik akhir ini digunakan oleh pod untuk membuat dirinya terekspos ke suatu layanan.

Di ranah Kubernetes, titik akhir ini berfungsi sebagai lapisan abstraksi yang membantu layanan Kubernetes untuk memastikan bahwa ada distribusi lalu lintas ke pod di kluster. Namun, ketika beban lalu lintas meningkat, masalah penskalaan lalu lintas terjadi. Ini karena satu titik akhir menampung semua titik akhir jaringan untuk setiap layanan. Dan ketika sumber ini tumbuh ke ukuran yang tidak dapat diterima, kinerja Kubernetes akan terpengaruh secara negatif. Dengan kata lain, ketika jumlah titik akhir jaringan tumbuh sangat besar, kemampuan Kubernetes untuk menskalakan penerapan akan terpengaruh secara negatif. Mari kita pahami ini dengan bantuan gambar grafis berikut:









Di sini, Anda dapat melihat bahwa Endpoint berisi semua pod di klaster dan EndpointSlice adalah alternatif yang dapat dikembangkan dan diskalakan dari Endpoint yang ada. Hanya ada satu sumber Endpoint untuk seluruh layanan, tetapi ada lebih dari satu EndpointSlice untuk layanan yang sama. EndpointSlice membantu Anda menskalakan sumber daya jaringan Anda dengan cara ini. Untuk memahami seberapa signifikan masalah skalabilitas ini, mari kita ambil contoh.



Misalnya, layanan Kubernetes memiliki sekitar 9.000 pod yang entah bagaimana berakhir di sumber daya Endpoint sebesar 2MB. Satu Titik Akhir memiliki semua sumber daya Titik Akhir dari layanan ini. Jika ada titik akhir jaringan yang berubah di titik akhir, seluruh sumber daya titik akhir harus didistribusikan di antara setiap node dalam kluster. Ketika berurusan dengan cluster yang memiliki 3000 node, itu menjadi masalah besar karena sejumlah besar pembaruan harus dikirim ke setiap node. Oleh karena itu, saat Anda menskalakan lebih banyak hanya dalam satu titik akhir, semakin sulit penskalaan jaringan.





Namun, EndpointSlice mengatasi masalah ini dengan mengaktifkan Kubernetes untuk menskalakan sebanyak yang dibutuhkan. Alih-alih menggunakan satu titik akhir yang berisi daftar besar alamat IP dan nomor port terkait, gunakan beberapa EndpointSlice. EndpointSlice ini adalah bongkahan kecil dari satu titik akhir yang besar. Irisan ini jauh lebih kecil, tetapi mengurangi beban yang disebabkan oleh titik akhir yang besar. Anda dapat menyimpan hingga 100 pod dalam satu EndpointSlice. EndpointSlice ini membantu Anda mendistribusikan layanan ke pod tertentu. Jika ada titik akhir jaringan yang berubah, Anda hanya perlu mengirim pembaruan ke EndpointSlice yang berisi maksimal 100 pod. Semua pod lain di jaringan tetap tidak tersentuh.

Sekarang, mari kita pelajari cara membuat EndpointSlice Kubernetes.



Bagaimana EndpointSlice Dibuat di Kubernetes?

Kubernetes EndpointSlices adalah alternatif terbaik untuk satu titik akhir di kluster Kubernetes. Itu tidak hanya membantu Anda melacak semua titik akhir jaringan dengan mudah dan efisien tetapi juga memberikan kinerja yang lebih baik dibandingkan dengan titik akhir tunggal. Ini juga menunjukkan lalu lintas jaringan yang lebih rendah sambil menawarkan keandalan penskalaan. Selain itu, menggunakan beberapa EndpointSlice memungkinkan Anda mengurangi tenaga kerja pada bidang kontrol dan node di kluster Kubernetes.

Anda dapat mengikuti langkah-langkah yang memungkinkan Anda mempelajari cara membuat EndpointSlice di klaster Kubernetes dalam contoh berikut.

Langkah 1: Mulai Minikube Cluster

Langkah pertama dan terpenting adalah memastikan cluster minikube aktif. Kluster minikube yang tidak aktif tidak akan memungkinkan Anda melakukan pekerjaan apa pun di lingkungan Kubernetes, jadi pastikan itu dalam mode aktif. Untuk memastikan kluster minikube aktif dan berjalan, gunakan perintah berikut:

> mulai minikube

Jika kluster minikube Anda belum dimulai lebih awal atau jika sedang dalam mode tidur, perintah ini membangunkannya dan menjalankannya. Sekarang, Anda memiliki kluster minikube yang aktif. Anda siap membuat EndpointSlice di lingkungan Kubernetes Anda.

Langkah 2: Buat Deployment dengan File YAML

File YAML paling sering digunakan di Kubernetes untuk membuat penerapan. Anda dapat menggunakan file YAML penerapan yang sudah ada sebelumnya atau Anda dapat membuat yang baru dengan perintah berikut:

> nano endpoint.yaml

Ini membuat file YAML baru bernama 'endpoint.yaml' tempat Anda dapat menyimpan definisi penerapan untuk konfigurasi. Lihat definisi penyebaran di tangkapan layar berikut:

Langkah 3: Buat EndpointSlice Menggunakan File YAML

Sekarang kita memiliki file YAML yang berisi definisi penerapan, kita menggunakannya untuk membuat EndpointSlice di kluster Kubernetes kita. Kita perlu menerapkan file konfigurasi agar kita dapat memiliki EndpointSlice di kluster Kubernetes. Kami menggunakan perintah berikut untuk menggunakan file konfigurasi:

> kubectl create -f endpoint.yaml

Di lingkungan Kubernetes, sumber daya dibuat menggunakan perintah “kubectl create”. Oleh karena itu, kami menggunakan perintah “kubectl create” untuk membuat EndpointSlice dari file konfigurasi YAML.

Kesimpulan

Kami menjelajahi EndpointSlice di lingkungan Kubernetes. EndpointSlice di Kubernetes adalah objek yang digunakan untuk melacak semua titik akhir jaringan di kluster Kubernetes. Ini adalah alternatif terbaik untuk Endpoint besar dan tunggal di kluster Kubernetes karena memungkinkan opsi skalabilitas dan ekstensibilitas yang lebih baik. EndpointSlice ini memungkinkan klaster Kubernetes memberikan kinerja yang lebih baik dengan menempatkan lebih sedikit tenaga kerja pada node dan bidang kontrol. Dengan bantuan sebuah contoh, kita mempelajari cara membuat EndpointSlice di kluster Kubernetes.