أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X. info
مقدمة
يوضّح هذا الموضوع كيفية تشغيل Edge Microgateway في مجموعة Kubernetes كم خدمة مستقلة.
لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على دمج Edge Microgateway مع Kubernetes.
قبل البدء
أكمِل الخطوات الموضّحة في المتطلبات الأساسية.
ضبط Edge Microgateway
يضبط الأمر التالي Edge Microgateway لمؤسسة Apigee وينشر الخادم الوكيل edgemicro-auth.
نفِّذ الأمر التالي:
edgemicro configure -o [org] -e [env] -u [username]
المكان:
org: اسم مؤسسة Edge (يجب أن تكون مشرفًا على المؤسسة).env: بيئة في مؤسستك (مثل test أو prod).username: عنوان البريد الإلكتروني المرتبط بحسابك على Apigee.
مثال
edgemicro configure -o docs -e test -u jdoe@example.com
يتم حفظ الناتج (مثال معروض أدناه) في الملف:
.$HOME/.edgemicro/org_name-env_name-config.yaml
current nodejs version is v6.9.1 current edgemicro version is 2.5.25 password: file doesn't exist, setting up Give me a minute or two... this can take a while... App edgemicro-auth deployed. checking org for existing KVM KVM already exists in your org configuring host edgemicroservices.apigee.net for region us-west1 saving configuration information to: /Users/jdoe/.edgemicro/myorg-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQCV9eBcO9a5WzANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAls b2NhbGhvc3QwHhcNMagwODA5MDAzMDEzWhcNMTgwODEwMDAzMDEzWjAUMRIwEAYD VQQDDBlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDh nAHT7JHX/WvWHRFb8FLm53SPIDld5LyPOUfINdEyhSIEeXoOUKg4EPweJPVSC9Vm Hw4ZMtEqWJM/XsQWvLe8ylRJa5wgmzmFCqAsuzs9+rmc9KvJqjpOh2uRTUf7KKfT iXL2UEseprcI5g8zNyqKyEf/ecWIwz3AkkPAZebVTsrdDfIDHvkyhhvlAHZAB9kn GtqP3N8kOlv4KQto9Gr7GYUGUIDugt7gM1F611+RBS+fYRi32GUAq/UQDkhYL8cp oIJiF7UYkk2+9t9CdOCDuIUCvJioHJQd0xvDpkC9f6LvwjwnCwku+4F2Q63+av5I mJoZJQPvW5aP53Qkk+kHAgMBAAEwDKYJKoZIhvcNAQELBQADggEBALyUBolXUFN8 1bf268nR+gS8MOFDTxO1bUz+bKuT/g3K1PuNUJTueT+0L1H2OiZUzazAqwn2sqzN lQuvLg6LjxjlNkqTJGiJvGDcYVq45dv7UyxAZxhqxTxhlQ+Yu5R9pbQnzujezHpH 6gtCoCkSt/QqiJ3YsmsVu5is+HpIJepMt0CyMh5tK9j87hl46QhHklaVfQ3ycMVm /wNPR/pjizg1FDUeq4nj/7DBVbMf9net/BDaZLeSW1HJ1vcsCXIcSZfQd4QymGFn 8ADrND7ydVjwO/s23soPDTy0g4yLIZvky2tpT8d7YahNqSv2n7sXsLxruzcyCoQ4 w+e3Z3F7IKI= -----END CERTIFICATE----- The following credentials are required to start edge micro key: 1a3b2754c7f20614817b86e09895825ecc252d34df6c4be21ae24356f09e6eb4 secret: 16ad2431de73f07f57a6d44048f08d93b63f783bf1f2ac4221182aa7289c7cef edgemicro configuration complete!
نشر Edge Microgateway كخدمة
نفِّذ الأمر التالي لنشر Edge Microgateway كخدمة في مجموعة Kubernetes:
kubectl apply -f <(edgemicroctl -org=org -env=env -key=edgemicro-key -sec=edgemicro-secret -conf=file path of org-env-config.yaml)
المكان:
org- مؤسسة Apigee التي حدّدتها في الأمرedgemicro configure.env- البيئة التي حدّدتها في الأمرedgemicro configure.edgemicro-key- المفتاح الذي تم عرضه من الأمرedgemicro configure.edgemicro-secret- السر الذي تم عرضه من الأمرedgemicro configure.file path of org-env-config.yaml: مسار ملف إعداد Edge Micro الذي تم عرضه من الأمرedgemicro configure.
على سبيل المثال:
kubectl apply -f <(edgemicroctl -org=jdoe -env=test -key=989cce9d41cac94e72626d906562a1d76a19445f8901b3508858bb064988eccb -sec=ec92b793178de7b7e88e346f55a951e3fdae05e700e3ddea7d63977826379784 -conf=/Users/jdoe/.edgemicro/jdoe-test-config.yaml)
مثال على الناتج:
config/myorg-test-config.yaml) service "edge-microgateway" created deployment "edge-microgateway" created secret "mgwsecret" createdانسخ الرمز التالي وألصقه في الوحدة الطرفية. يضبط الرمز وحدة التحكّم في Ingress للسماح بالوصول الخارجي إلى خدمة
edge-microgateway. قد تحتاج إلى الضغط على مفتاح Enter بعد لصق الأمر في الوحدة الطرفية:cat <<EOF | kubectl apply -f - apiVersion: extensions/v1beta1 kind: Ingress metadata: name: edge-microgateway-ingress annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - http: paths: - path: / backend: serviceName: edge-microgateway servicePort: 8000 EOFعند النجاح، سيظهر لك هذا الناتج:
ingress "edge-microgateway-ingress" createdتم الآن ضبط وحدة التحكّم في Ingress للسماح بالوصول الخارجي إلى خدمة
edge-microgateway.
نشر خدمة اختبار
تنشر الخطوات التالية خدمة اختبار بسيطة في مجموعتك. لا تسمح وحدة التحكّم في Ingress باستدعاء الخدمة من خارج المجموعة.
لاحقًا، ستضبط Edge Microgateway لاستدعاء الخدمة كهدف لها.
تسمح وحدة التحكّم في Ingress بالوصول الخارجي إلى خدمة edge-microgateway.
انشر نموذج خدمة
helloworld. بما أنّ Ingress لا يعرف هذه الخدمة، لا يمكن استدعاؤها من خارج المجموعة.kubectl apply -f samples/helloworld/helloworld-service.yaml
مثال على الناتج:
service "helloworld" created deployment "helloworld" createdتأكَّد من نجاح عملية النشر. يُرجى العِلم أنّه ليس هناك عنوان IP خارجي لخدمة
helloworld. في الخطوات التالية، ستضبط Edge Microgateway للوصول إلى عنوان IP الداخلي للخدمة.kubectl get services -n default
مثال على الناتج:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE edge-microgateway NodePort 10.35.247.222 <none> 8000:32000/TCP 12m helloworld NodePort 10.35.245.103 <none> 8081:30294/TCP 47s kubernetes ClusterIP 10.35.240.1 <none> 443/TCP 47m
ضبط Edge Microgateway ليكون خادمًا وكيلاً للخدمة
احصل على عنوان IP الداخلي لخدمة helloworld وأضِفه كهدف لخادم وكيل "متوافق مع Microgateway". إنشاء خادم وكيل "متوافق مع Microgateway" هو شرط أساسي في Edge Microgateway.
راجِع أيضًا معلومات أساسية عن الخوادم الوكيلة المتوافقة مع Microgateway الوكيلة.
الحصول على عنوان IP الداخلي لخدمة الاختبار
احصل على عنوان IP الداخلي للمجموعة ورقم المنفذ لخدمة
helloworld:kubectl get services helloworld
مثال على الناتج:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE helloworld NodePort 10.55.254.255 <none> 8081:30329/TCP 3mانسخ قيمتَي
CLUSTER-IPوPORT. على سبيل المثال، في المثال أعلاه، هاتان القيمتان هما:10.55.254.255و8081. ستكون القيم مختلفة في نظامك.
إنشاء خادم وكيل متوافق مع Microgateway على Edge
- سجِّل الدخول إلى واجهة مستخدم Edge.
- اختَر المؤسسة نفسها التي حدّدتها سابقًا عند ضبط Edge Microgateway.
- انقر على تطوير > الخوادم الوكيلة لواجهة برمجة التطبيقات في قائمة التنقّل الجانبية.
- انقر على + خادم وكيل. يفتح معالج "إنشاء خادم وكيل".
- في الصفحة الأولى من المعالج، اختَر الخادم الوكيل العكسي (الأكثر شيوعًا).
- انقر على التالي.
في صفحة "التفاصيل" من المعالج، اضبط الإعدادات على النحو التالي. احرص على ملء المعالج تمامًا كما هو موضّح. تأكَّد من أنّ اسم الخادم الوكيل يتضمّن البادئة
edgemicro_.- اسم الخادم الوكيل: edgemicro_hello
المسار الأساسي للخادم الوكيل: /hello
واجهة برمجة التطبيقات الحالية:
http://<cluster_ip>:<port>على سبيل المثال: http://10.55.254.255:8081
انقر على التالي.
في صفحة "الأمان" من المعالج، اختَر المرور (لا شيء).
انقر على التالي.
في صفحة "المضيفون الظاهريون" من المعالج، اقبل الإعدادات التلقائية.
انقر على التالي.
في صفحة "الإنشاء" من المعالج، راجِع إعدادات الخادم الوكيل. تأكَّد من اختيار بيئة الاختبار.
انقر على الإنشاء والنشر.
إنشاء مطوّر
يمكنك استخدام مطوّر حالي للاختبار، أو إنشاء مطوّر جديد على النحو التالي:
- انقر على نشر > المطوّرون في قائمة التنقّل الجانبية.
- انقر على + مطوّر.
- املأ مربّع الحوار لإنشاء مطوّر جديد. يمكنك استخدام أي اسم مطوّر أو عنوان بريد إلكتروني تريده.
إنشاء منتج واجهة برمجة تطبيقات
أنشِئ منتج واجهة برمجة تطبيقات على النحو الموضّح أدناه. ستضيف خادمَين وكيلَين إلى المنتج: edgemicro-auth وedgemicro_hello.
يمكنك قراءة المزيد عن خيارات إعداد المنتج في معلومات أساسية عن إعداد منتج واجهة برمجة التطبيقات
- انقر على نشر > منتجات واجهة برمجة التطبيقات في قائمة التنقّل الجانبية.
- انقر على + منتج واجهة برمجة التطبيقات. تظهر صفحة "تفاصيل المنتج".
املأ صفحة "تفاصيل المنتج" على النحو التالي. لا تنقر على "حفظ" إلى أن يُطلب منك ذلك.
الاسم hello-world-productالاسم المعروض Edge Micro hello productالبيئة testإمكانية الوصول Publicنوع الموافقة على المفتاح Automaticفي النصف السفلي من الصفحة، انقر على + مورد مخصّص.
اضبط المورد على
/(شرطة مائلة واحدة).انقر على + مورد مخصّص مرة أخرى وأضِف المسار
/**.في الجزء السفلي من الصفحة، انقر على + خادم وكيل لواجهة برمجة التطبيقات.
اختَر الخادم الوكيل باسم edgemicro-auth.
انقر على + خادم وكيل لواجهة برمجة التطبيقات مرة أخرى.
اختَر الخادم الوكيل المتوافق مع Microgateway باسم edgemicro_hello.
انقر على حفظ.
إنشاء تطبيق للمطوّر
- انقر على نشر > التطبيقات في قائمة التنقّل الجانبية.
- انقر على + تطبيق. تظهر صفحة "تفاصيل تطبيق المطوّر".
املأ صفحة "تطبيق المطوّر" على النحو التالي. لا تنقر على "حفظ" إلى أن يُطلب منك ذلك.
الاسم hello-world-appالاسم المعروض Edge Micro hello appالمطوّر اختَر المطوّر التجريبي الذي أنشأته أو أي مطوّر آخر. في قسم "بيانات الاعتماد"، انقر على + المنتج واختَر المنتج الذي أنشأته:
hello-world-product.انقر على حفظ.
سيتم إرجاعك إلى الصفحة التي تعرض جميع تطبيقات المطوّرين.
اختَر التطبيق الذي أنشأته للتو، وهو
hello-world-app.انقر على عرض بجانب مفتاح المستهلك.
انسخ قيمة "مفتاح المستهلك". هذه القيمة هي مفتاح واجهة برمجة التطبيقات الذي ستستخدمه لطلب بيانات آمنة من واجهة برمجة التطبيقات إلى
/hello.انتظِر بضع دقائق. تستغرق مزامنة التغييرات التي أجريتها على Apigee Edge مع مثيل Edge Microgateway الذي تم نشره في المجموعة بضع دقائق.
اختبار الخادم الوكيل
الحصول على عنوان IP الخاصّ بـ Ingress
باستخدام عنوان IP الخارجي لـ Ingress، يمكنك استدعاء خدمة Edge Microgateway من خارج المجموعة.
احصل على عنوان IP الخارجي لوحدة التحكّم في Ingress:
kubectl get ing -o wide
مثال على الناتج:
NAME HOSTS ADDRESS PORTS AGE edge-microgateway-ingress * 35.238.249.62 80 37mانسخ قيمة
ADDRESSلـ Ingress وصدِّرها إلى متغيّر. يمكنك ضبط المتغيّر يدويًا:export GATEWAY_IP=external_ip
على سبيل المثال:
export GATEWAY_IP=35.238.249.62
أو استخدِم هذا الأمر لضبطه لك:
export GATEWAY_IP=$(kubectl describe ing edge-microgateway --namespace default | grep "Address" | cut -d ':' -f2 | tr -d "[:space:]")
تأكَّد من تصدير المتغيّر. على سبيل المثال:
echo $GATEWAY_IP
مثال على الناتج:
35.238.249.62
استدعاء واجهة برمجة التطبيقات
بعد جلب تغييرات الإعدادات إلى Microgateway، يمكنك محاولة استدعاء واجهة برمجة التطبيقات. يمكنك استخدام عنوان IP الخاصّ بوحدة التحكّم في Ingress (الذي حفظته في المتغيّر GATEWAY_IP) لاستدعاء واجهة برمجة التطبيقات لأنّ عنوان IP هذا يتيح لك استدعاء الخادم الوكيل من خارج مجموعة Kubernetes. تم
إنشاء عملية الربط من Ingress إلى Edge Microgateway عند نشر Edge Microgateway
في المجموعة.
استدعِ واجهة برمجة التطبيقات بدون مفتاح واجهة برمجة التطبيقات. ستظهر لك رسالة خطأ، كما هو موضّح أدناه:
curl $GATEWAY_IP:80/hello/
الناتج المتوقّع:
{"error":"missing_authorization","error_description":"Missing Authorization header"}إذا ظهرت لك هذه الرسالة، قد تحتاج إلى الانتظار لفترة أطول قليلاً إلى أن تكتمل المزامنة:
{"message":"no match found for /hello/","status":404}لإجراء طلبات بيانات ناجحة من واجهة برمجة التطبيقات، تحتاج إلى مفتاح واجهة برمجة التطبيقات.
احصل على مفتاح المستهلك من تطبيق المطوّر الذي أنشأته. هذه القيمة هي مفتاح واجهة برمجة التطبيقات الذي تحتاجه لاستدعاء الخادم الوكيل التجريبي:
curl -H 'x-api-key:your-edge-api-key' $GATEWAY_IP:80/hello/
على سبيل المثال:
curl -H "x-api-key:DeX2eEesYAdRJ5Gdbo77nT9uUfJZql19" $GATEWAY_IP:80/hello/
إخراج:
Hello worldإذا ظهرت لك الاستجابة "Hello world"، يعني ذلك أنّك ضبطت Edge Microgateway بنجاح لاستدعاء خدمة helloworld داخل مجموعة Kubernetes.
ما هي الخطوات التالية؟
راجِع قسم المهام للحصول على معلومات عن إضافة مكوّنات إضافية مخصّصة وتوسيع نطاق عملية النشر وإجراء تغييرات في الإعدادات و مهام أخرى قد ترغب في تنفيذها.