كيف تعمل تطبيقات API7 Enterprise Proxy في مجموعات Kubernetes؟

January 24, 2024

Products

في العصر الديناميكي لتقنيات السحابة الأصلية، ظهر Kubernetes كحل مفضل للعديد من الشركات التي تسعى لبناء تطبيقات مرنة وقابلة للتوسع. يقدم API7 Enterprise إمكانات قوية في مجال الأمان وإدارة حركة المرور، بالإضافة إلى أداء استثنائي. يتكامل API7 Enterprise مع اكتشاف الخدمات في Kubernetes، ويعمل كوسيط للتطبيقات التي يتم نشرها داخل مجموعة Kubernetes. دعنا نستكشف عملية استخدام API7 Enterprise لوساطة التطبيقات في مجموعة Kubernetes الخاصة بك.

المتطلبات الأساسية

  1. تثبيت API7 Enterprise

ملاحظة: إذا لم يتم نشر API7 Enterprise بالفعل داخل مجموعات Kubernetes، قم بتكوين إعدادات الشبكة للجهاز الذي يستضيف API7 EE لضمان إمكانية الوصول إلى الـ pods العلوية في بيئة Kubernetes.

  1. نشر الخدمات في Kubernetes

إذا كنت قد نشرت الخدمات بالفعل في Kubernetes، يمكنك تخطي هذه الخطوة. وإلا، قم بتنفيذ الأمر التالي لإنشاء الخدمات:

# إنشاء مساحة اسم جديدة
kubectl create namespace api7ee

kubectl create deployment httpbin --image=kennethreitz/httpbin:latest -n api7ee
kubectl create service clusterip httpbin --tcp=80:80 -n api7ee
  1. إنشاء حساب خدمة Kubernetes
  • يعتمد API7 Enterprise على هذه الاعتمادات للوصول إلى واجهة برمجة تطبيقات Kubernetes وجلب تكوينات الـ pods العلوية. وبالتالي، نحتاج أولاً إلى إنشاء مورد RBAC. فيما يلي تكوين ملف YAML المحدد:

      # 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
    
    
  • إنشاء موارد RBAC والحصول على هذا الرمز.

    kubectl apply -f rbac.yaml -n api7ee
    kubectl get secrets api7-k8s-sd-secret -n api7ee -ojsonpath='{.data.token}' | base64 -d
    

تنفيذ اكتشاف خدمة Kubernetes في API7 Enterprise

الاتصال بسجل خدمة Kubernetes

  1. انتقل إلى مجموعة بوابة موجودة وادخل إلى سجل الخدمة من خلال القائمة الجانبية.

  2. انقر على زر إضافة اتصال سجل خدمة. اختر Kubernetes كنوع الاكتشاف وقدم عنوان خدمة واجهة برمجة تطبيقات Kubernetes والرمز.

PA_1

  1. بمجرد أن يقوم API7 Enterprise بإقامة اتصال ناجح بسجل الخدمة، ستظهر حالة صحية.

PA_2

نشر الخدمة للاختبار

  1. انتقل إلى صفحة الخدمة، انقر لإنشاء خدمة جديدة، وأضف المسار /anything.

  2. تابع نشر الخدمة، واختر الـ pod العلوي المناسب:

PA_3

  1. بعد النشر، يمكنك اختباره باستخدام curl.

الخلاصة

في الختام، تحدثنا عن الخطوات اللازمة للاستفادة من API7 Enterprise لوساطة خدمات Kubernetes. لمزيد من المعلومات حول ميزات API7 Enterprise، لا تتردد في الاتصال بنا.

Tags: