Buat Kubernetes EndpointSlices

Buat Kubernetes Endpointslices



Potongan titik akhir membolehkan anda menjejak titik akhir rangkaian yang disambungkan dengan gugusan Kubernetes. Anda boleh mengetahui lebih lanjut tentang EndpointSlices dalam persekitaran Kubernetes melalui artikel yang kami buat untuk anda ini. Dalam tutorial ini, kami akan membantu anda mengetahui maksud EndpointSlice dalam kelompok Kubernetes dan cara anda boleh mencipta EndpointSlice dalam Kubernetes. Kami akan menunjukkan beberapa arahan kubectl yang membolehkan kami membuat titik akhir dalam gugusan Kubernetes.

Apakah EndpointSlice dalam Kubernetes?

EndpointSlice dalam Kubernetes ialah penjejak titik akhir rangkaian. Ia memungkinkan untuk memantau titik akhir rangkaian dalam kelompok Kubernetes. Dalam kata mudah, ia adalah objek yang mendapat alamat IP daripada setiap pod yang diberikan kepadanya. Perkhidmatan Kubernetes merujuk kepada objek ini untuk mendapatkan rekod alamat IP dalaman pod untuk komunikasi. Selain itu, titik akhir ini digunakan oleh pod untuk mendedahkan diri mereka kepada perkhidmatan.

Dalam alam Kubernetes, titik akhir ini berfungsi sebagai lapisan abstraksi yang membantu perkhidmatan Kubernetes memastikan terdapat pengagihan trafik ke pod dalam gugusan. Walau bagaimanapun, apabila beban trafik meningkat, isu penskalaan trafik berlaku. Ini kerana satu titik akhir memegang semua titik akhir rangkaian untuk setiap perkhidmatan. Dan apabila sumber ini berkembang kepada saiz yang tidak boleh diterima, prestasi Kubernetes akan terjejas secara negatif. Dalam erti kata lain, apabila bilangan titik akhir rangkaian berkembang dengan pesat, keupayaan Kubernetes untuk menskalakan penggunaan akan terjejas secara negatif. Marilah kita memahami perkara ini dengan bantuan imej grafik berikut:









Di sini, anda boleh melihat bahawa Endpoint mengandungi semua pod dalam kelompok dan EndpointSlices ialah alternatif yang boleh diperluas dan berskala kepada Endpoint sedia ada. Terdapat hanya satu sumber Endpoint untuk keseluruhan perkhidmatan tetapi terdapat lebih daripada satu EndpointSlices untuk perkhidmatan yang sama. EndpointSlices membantu anda menskalakan sumber rangkaian anda dengan cara ini. Untuk memahami betapa pentingnya isu kebolehskalaan ini, mari kita ambil contoh.



Sebagai contoh, perkhidmatan Kubernetes mempunyai kira-kira 9,000 pod yang entah bagaimana berakhir dalam sumber Endpoint 2MB. Satu Endpoint mempunyai semua sumber Endpoint perkhidmatan ini. Jika sebarang titik akhir rangkaian berubah dalam titik akhir, keseluruhan sumber titik akhir perlu diedarkan di antara setiap nod dalam kelompok. Apabila berurusan dengan kluster yang mempunyai 3000 nod, ia menjadi masalah besar kerana sejumlah besar kemas kini perlu dihantar ke setiap nod. Oleh itu, apabila anda membuat skala lebih dalam hanya satu titik akhir, semakin sukar penskalaan rangkaian.





Walau bagaimanapun, EndpointSlices menyelesaikan isu ini dengan membolehkan Kubernetes menskalakan seberapa banyak yang diperlukan. Daripada menggunakan satu titik akhir yang mengandungi senarai besar alamat IP dan nombor port yang berkaitan, gunakan berbilang EndpointSlices. EndpointSlices ini adalah sebahagian kecil daripada satu titik akhir yang besar. Potongan ini lebih kecil dalam banyak, tetapi ia mengurangkan beban yang disebabkan oleh titik akhir yang besar. Anda boleh menyimpan sehingga 100 pod dalam satu EndpointSlice. EndpointSlices ini membantu anda mengedarkan perkhidmatan ke pod tertentu. Jika sebarang titik akhir rangkaian berubah, anda hanya perlu menghantar kemas kini kepada EndpointSlice yang mengandungi maksimum 100 pod. Semua pod lain dalam rangkaian kekal tidak disentuh.

Sekarang, mari kita pelajari cara kita boleh membuat Kubernetes EndpointSlice.



Bagaimanakah EndpointSlices Dicipta dalam Kubernetes?

Kubernetes EndpointSlices ialah alternatif terbaik kepada satu titik akhir dalam gugusan Kubernetes. Ia bukan sahaja membantu anda menjejaki semua titik akhir rangkaian dengan mudah dan cekap tetapi juga memberikan prestasi yang lebih baik berbanding dengan satu titik akhir. Ia juga menunjukkan trafik rangkaian yang lebih rendah sambil menawarkan kebolehpercayaan penskalaan. Selain itu, menggunakan berbilang EndpointSlices membolehkan anda mengurangkan tenaga kerja pada satah kawalan dan nod dalam kelompok Kubernetes.

Anda boleh mempunyai langkah-langkah yang membolehkan anda mempelajari cara membuat EndpointSlices dalam kelompok Kubernetes dalam contoh berikut.

Langkah 1: Mulakan Kluster Minikube

Langkah pertama dan terpenting ialah memastikan kluster minikube aktif. Kelompok minikube yang tidak aktif tidak akan membenarkan anda melakukan sebarang kerja dalam persekitaran Kubernetes, jadi pastikan ia berada dalam mod aktif. Untuk memastikan kluster minikube sedang aktif dan berjalan, gunakan arahan berikut:

> mulakan minikube

Jika kluster minikube anda belum bermula lebih awal atau jika ia berada dalam mod tidur, arahan ini akan membangunkannya dan menghidupkannya dan berjalan. Kini, anda mempunyai kluster minikube yang aktif. Anda sudah bersedia untuk mencipta EndpointSlice dalam persekitaran Kubernetes anda.

Langkah 2: Buat Deployment dengan Fail YAML

Fail YAML paling biasa digunakan dalam Kubernetes untuk membuat penempatan. Anda boleh menggunakan fail YAML penggunaan sedia ada atau anda boleh mencipta yang baharu dengan arahan berikut:

> nano endpoint.yaml

Ini mencipta fail YAML baharu bernama 'endpoint.yaml' di mana anda boleh menyimpan definisi penempatan untuk konfigurasi. Rujuk takrifan penggunaan dalam tangkapan skrin berikut:

Langkah 3: Cipta EndpointSlice Menggunakan Fail YAML

Memandangkan kami mempunyai fail YAML yang mengandungi definisi penggunaan, kami menggunakannya untuk mencipta EndpointSlices dalam kelompok Kubernetes kami. Kita perlu menggunakan fail konfigurasi supaya kita boleh mempunyai EndpointSlices dalam kelompok Kubernetes. Kami menggunakan arahan berikut untuk menggunakan fail konfigurasi:

> kubectl create -f endpoint.yaml

Dalam persekitaran Kubernetes, sumber dicipta menggunakan perintah 'kubectl create'. Oleh itu, kami menggunakan perintah 'kubectl create' untuk mencipta EndpointSlices daripada fail konfigurasi YAML.

Kesimpulan

Kami meneroka EndpointSlices dalam persekitaran Kubernetes. EndpointSlice dalam Kubernetes ialah objek yang digunakan untuk menjejak semua titik akhir rangkaian dalam gugusan Kubernetes. Ia merupakan alternatif terbaik kepada Titik Akhir yang besar dan tunggal dalam gugusan Kubernetes kerana ia membolehkan pilihan berskala dan kebolehlanjutan yang lebih baik. EndpointSlices ini membolehkan gugusan Kubernetes memberikan prestasi yang lebih baik dengan meletakkan lebih sedikit tenaga kerja pada nod dan satah kawalan. Dengan bantuan contoh, kami mempelajari cara mencipta EndpointSlices dalam gugusan Kubernetes.