Bagaimana API7 Enterprise Proxy Berfungsi dalam Aplikasi Kubernetes Clusters?
January 24, 2024
Di era dinamis teknologi cloud-native, Kubernetes telah muncul sebagai solusi utama bagi banyak perusahaan yang ingin membangun aplikasi yang tangguh dan dapat diskalakan. API7 Enterprise menawarkan kemampuan yang kuat dalam hal keamanan dan manajemen lalu lintas, serta performa yang luar biasa. API7 Enterprise terintegrasi dengan Kubernetes Service Discovery, berfungsi sebagai proxy untuk aplikasi yang di-deploy dalam kluster Kubernetes. Mari kita jelajahi proses menggunakan API7 Enterprise untuk memproksi aplikasi di kluster Kubernetes Anda.
Prasyarat
- Instal API7 Enterprise
Catatan: Jika API7 Enterprise belum di-deploy dalam kluster Kubernetes, konfigurasikan pengaturan jaringan mesin yang menghosting API7 EE untuk memastikan aksesibilitas ke pod upstream di lingkungan Kubernetes.
- Deploy Layanan di Kubernetes
Jika Anda sudah mendeploy layanan di Kubernetes, Anda dapat melewati langkah ini. Jika tidak, jalankan perintah berikut untuk membuat layanan:
# buat namespace baru kubectl create namespace api7ee kubectl create deployment httpbin --image=kennethreitz/httpbin:latest -n api7ee kubectl create service clusterip httpbin --tcp=80:80 -n api7ee
- Buat Akun Layanan Kubernetes
-
API7 Enterprise mengandalkan kredensial ini untuk mengakses API Kubernetes dan mengambil konfigurasi upstream. Oleh karena itu, kita perlu membuat sumber daya
RBACterlebih dahulu. Berikut adalah konfigurasi fileYAMLyang spesifik:# rbac.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: api7-k8s-sd-watcher rules: - apiGroups: [""] resources: ["endpoints"] verbs: ["list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: api7-k8s-sd-watcher-binding subjects: - kind: ServiceAccount name: api7-k8s-sd-sa namespace: api7ee roleRef: kind: ClusterRole name: api7-k8s-sd-watcher apiGroup: rbac.authorization.k8s.io --- apiVersion: v1 kind: ServiceAccount metadata: name: api7-k8s-sd-sa namespace: api7ee --- apiVersion: v1 kind: Secret metadata: name: api7-k8s-sd-secret namespace: api7ee annotations: kubernetes.io/service-account.name: api7-k8s-sd-sa type: kubernetes.io/service-account-token -
Buat sumber daya RBAC dan dapatkan token ini.
kubectl apply -f rbac.yaml -n api7ee kubectl get secrets api7-k8s-sd-secret -n api7ee -ojsonpath='{.data.token}' | base64 -d
Implementasi Kubernetes Service Discovery di API7 Enterprise
Menghubungkan ke Registri Layanan Kubernetes
-
Buka grup gateway yang sudah ada dan akses Service Registry melalui menu di sebelah kiri.
-
Klik tombol Add Service Registry Connection. Pilih Kubernetes sebagai jenis discovery dan berikan alamat layanan API Kubernetes serta token.

- Setelah API7 Enterprise berhasil terhubung ke registri layanan, Anda akan melihat status yang sehat.

Mempublikasikan Layanan untuk Pengujian
-
Navigasikan ke halaman layanan, klik untuk membuat layanan baru, dan tambahkan rute
/anything. -
Lanjutkan untuk mempublikasikan layanan, dan pilih upstream yang sesuai:

- Setelah dipublikasikan, Anda dapat mengujinya menggunakan
curl.
Ringkasan
Kesimpulannya, kita telah membahas langkah-langkah untuk memanfaatkan API7 Enterprise untuk memproksi layanan Kubernetes. Untuk informasi lebih lanjut tentang fitur API7 Enterprise, jangan ragu untuk menghubungi kami.