Cara menggunakan Kubernetes Ingress API

Kubernetes melihat adopsi di seluruh industri teknologi dan berada di jalur untuk menjadi platform orkestrasi de-facto untuk penyampaian layanan cloud modern. Kubernetes tidak hanya menyediakan primitif untuk menerapkan layanan mikro di cloud tetapi melangkah lebih jauh, membantu pengembang menentukan interaksi dan mengelola siklus hidup untuk API mereka. 

Ingress API di Kubernetes memungkinkan Anda untuk mengekspos layanan mikro Anda ke dunia luar dan menentukan kebijakan perutean untuk lalu lintas utara-selatan Anda, yaitu lalu lintas yang masuk ke pusat data virtual Anda. 

Manfaat mengelola siklus hidup API menggunakan integrasi berkelanjutan dan pipeline pengiriman berkelanjutan (CI / CD) dengan Ingress sangat banyak, tetapi sebelum kita membahas ini, mari kita mulai dengan beberapa pengetahuan dasar.

Desain dan tujuan resource Ingress

Deskripsi paling sederhana dari cluster Kubernetes adalah kumpulan node terkelola yang menjalankan aplikasi dalam container. Dalam kebanyakan kasus, node dalam cluster Kubernetes tidak secara langsung diekspos ke internet publik. Ini masuk akal, karena mengekspos semua layanan pada node akan menciptakan risiko yang luar biasa. Untuk menyediakan akses publik ke layanan yang dipilih, Kubernetes menyediakan resource Ingress.

Sumber daya Ingress memperlihatkan rute HTTP dan HTTPS dari luar cluster ke layanan yang dipilih di dalamnya. Sumber daya Ingress juga menyediakan aturan untuk mengontrol lalu lintas. Hal ini membuat sumber daya Ingress menjadi solusi yang bagus untuk menangani berbagai API yang disediakan oleh sejumlah besar layanan individual. Ini dilakukan dengan menyediakan satu titik masuk untuk semua klien dan kemudian menangani permintaan ke layanan back-end. Ini umumnya dikenal sebagai konfigurasi fanout.

Kong

Sumber daya Ingress juga dapat disiapkan untuk hosting virtual berbasis nama, yang akan merutekan permintaan berdasarkan header host:

Kong

Agar sumber daya Ingress berfungsi, pengontrol Ingress harus diinstal di cluster Kubernetes. Pengontrol membuat jembatan antara cluster Kubernetes dan berbagai antarmuka publik yang ada. Misalnya, sebagian besar penyedia cloud yang menghosting Kubernetes menyediakan pengontrol Ingress unik untuk berinteraksi dengan metode publik yang mereka tentukan. Berbagai pengontrol semuanya beroperasi secara berbeda satu sama lain dan dapat menyediakan berbagai fungsi tambahan.

Manfaat menggunakan Ingress untuk mengelola siklus hidup API menggunakan pipeline CI / CD

Resource Ingress ditentukan melalui file konfigurasi deklaratif, yang biasanya dijelaskan dalam YAML. Hal ini konsisten dengan semua resource Kubernetes dan memungkinkan integrasi langsung ke pola penerapan modern seperti praktik gabungan CI / CD. Jumlah ini adalah kemampuan untuk menerapkan perubahan Ingress dengan cepat, sering, dan aman. Dengan cara ini, sumber daya Ingress dapat digabungkan ke dalam jenis pola siklus hidup pengembangan perangkat lunak yang sama seperti aplikasi itu sendiri.

Bagaimana developer dapat menyelesaikan Ingress menggunakan Kong for Kubernetes

Pengontrol Ingress open source dan cloud-agnostik yang populer adalah Kong untuk Kubernetes . Kong for Kubernetes Ingress Controller dibangun sebagai definisi sumber daya khusus (CRD) di dalam Kubernetes. Ini menciptakan pengalaman asli Kubernetes bagi mereka yang sudah terbiasa mendefinisikan sumber daya dalam platform ini.

Seperti aplikasi dan layanan Anda, Kong for Kubernetes dapat diinstal melalui Manifest, Helm, atau Kustomize.

Kong for Kubernetes Ingress Controller memperluas kemampuan sumber daya Ingress dengan menyediakan sekumpulan plug-in yang luas yang mencakup berbagai kemampuan termasuk otentikasi, analitik, pemantauan, dan transformasi permintaan dan respons, hanya untuk beberapa nama. Dengan menyediakan persyaratan umum (dan terkadang tidak begitu umum) ini pada pengontrol Ingress, Kong untuk Kubernetes memungkinkan pengembang untuk lebih fokus pada persyaratan inti layanan. Nilai ini menjadi sangat jelas ketika sebuah organisasi berpindah dari beberapa aplikasi monolitik ke ratusan, jika tidak ribuan, layanan mikro.

Untuk daftar plug-in umum, lihat //docs.konghq.com/hub/.

Plug-in Kong didefinisikan sebagai sumber daya Kubernetes, di mana bagian config menyediakan pengaturan masing-masing plug-in.

Di bawah ini adalah contoh plugin pembatas kecepatan yang akan membatasi lalu lintas menjadi lima permintaan per menit:

Kong

Menambahkan plug-in Kong ke sumber daya Kubernetes dilakukan melalui anotasi sederhana di bagian metadata sumber daya. Ini memungkinkan pengaya untuk diterapkan ke tingkatan yang berbeda. Misalnya, Anda dapat menerapkan plugin ke seluruh sumber daya Ingress atau menerapkannya dengan cara yang lebih terperinci ke sumber daya layanan individual.

Berikut adalah contoh plugin di atas yang diterapkan ke sumber daya Ingress:

Kong

Kong untuk Kubernetes juga dapat diintegrasikan ke dalam rangkaian lengkap produk Kong Enterprise termasuk Kong Studio, Kong Dev Portal, Kong Manager, Kong Brain, dan Kong Immunity. Hal ini memungkinkan pengaya Kong yang lebih maju serta solusi siklus hidup API lengkap. Rangkaian produk ini mencakup pembuatan dan penerbitan spesifikasi API serta pengelolaan sumber daya Kong Anda dan bahkan analisis lalu lintas.

Anda dapat mengambil pendekatan "yang mengutamakan spesifikasi" untuk mengembangkan API Anda menggunakan Kong Studio, di mana Anda akan menemukan alat untuk menulis dokumentasi dalam spesifikasi OpenAPI standar bersama dengan alat pengujian untuk umpan balik langsung. Kong Studio juga menyediakan alat untuk bekerja dengan GraphQL. Kong Studio menyinkronkan langsung ke Git, yang memungkinkan file spesifikasi Anda diintegrasikan ke dalam alur kerja CI / CD yang dapat mengotomatiskan pembaruan ke Kong Dev Portal.

Kong Dev Portal menghosting dokumentasi API Anda (yang dapat bersifat pribadi atau publik). Ini sangat dapat disesuaikan, memungkinkan Anda menyesuaikannya dengan gaya dan merek organisasi Anda. Memiliki API yang terdokumentasi dengan baik penting untuk produktivitas, dan memiliki aliran yang terkelola dengan baik antara Kong Studio dan Portal Pengembang dapat membantu memastikan bahwa dokumentasinya selalu diperbarui.

Kong Manager menyediakan antarmuka grafis untuk mengamati dan mengelola rangkaian produk Kong secara keseluruhan. Dari sini, Anda dapat mengamati hubungan antara rute, layanan, dan plug-in Anda. Anda dapat melihat lalu lintas secara real-time dan melacak konsumen Anda.

Kong Brain menganalisis lalu lintas yang datang melalui Ingress dan membuat peta layanan visual dari dependensi antar-layanan. Ia juga memiliki kemampuan untuk menghasilkan dokumen spesifikasi OpenAPI secara otomatis berdasarkan peta yang dihasilkannya. Ini adalah fitur yang berharga, karena meskipun dengan niat terbaik, layanan yang diterapkan mungkin tidak didokumentasikan dengan benar. 

Kong Immunity menganalisis semua lalu lintas yang datang melalui Ingress dan mempelajari pola untuk mengidentifikasi anomali. Ini sering kali merupakan permintaan halus yang tidak menonjol tetapi mungkin menarik, seperti parameter yang tidak diketahui yang terus berusaha untuk dilalui. Ini juga merupakan fitur yang sangat berharga karena menemukan jarum ini di tumpukan jerami ratusan ribu entri log tidaklah mudah.

Kong

Memanfaatkan Ingress semaksimal mungkin

Resource Kubernetes Ingress menyediakan satu titik masuk dari luar Kubernetes ke layanan back-end di dalamnya. Dengan memanfaatkan file definisi deklaratif, sumber daya Ingress dapat diperlakukan seperti semua bentuk kode lainnya dan diintegrasikan ke dalam siklus pengembangan perangkat lunak umum.

Untuk menjembatani komunikasi di luar Kubernetes, diperlukan pengontrol Ingress. Kong for Kubernetes adalah pengontrol Ingress yang menggunakan definisi sumber daya kustom untuk sangat memperluas kapabilitas sumber daya Ingress dengan menyediakan plugin dalam jumlah besar, yang memungkinkan pengembang untuk fokus pada nilai bisnis inti. Kong memiliki seperangkat alat perusahaan yang dapat meningkatkan produktivitas dan keamanan secara signifikan di seluruh siklus hidup API Anda.

Marco Palladino, seorang penemu, pengembang perangkat lunak, dan pengusaha Internet yang berbasis di San Francisco, adalah CTO dan salah satu pendiri Kong Inc.

-

Forum Teknologi Baru menyediakan tempat untuk mengeksplorasi dan mendiskusikan teknologi perusahaan yang sedang berkembang secara mendalam dan luas. Pemilihannya subjektif, berdasarkan pilihan teknologi yang kami yakini penting dan paling menarik bagi pembaca. tidak menerima jaminan pemasaran untuk publikasi dan berhak untuk mengedit semua konten yang dikontribusikan. Kirim semua pertanyaan ke [email protected]