يوضّح هذا الدليل كيفية تثبيت ونشر Apigee Edge for Private Cloud وخوادم وكيل واجهة برمجة التطبيقات في بيئة Google Distributed Cloud (GDC) غير متصلة بالإنترنت. لا تتطلّب عروض GDC air-gapped، بما في ذلك Apigee Edge للسحابة الإلكترونية الخاصة، الاتصال بخدمة Google Cloud لإدارة البنية الأساسية والخدمات. يمكنك استخدام لوحة تحكّم محلية مستضافة في مقرّك لإجراء جميع العمليات. للحصول على نظرة عامة حول GDC air-gapped، يُرجى الاطّلاع على النظرة العامة.
هذا الدليل مخصّص لمشغّلي Apigee الذين يعرفون Apigee Edge Private Cloud ولديهم فهم أساسي لـ Kubernetes.
نظرة عامة على الخطوات المطلوبة
لتثبيت Apigee Edge for Private Cloud ونشره في بيئة GDC غير متصلة بالإنترنت، على المشغّل إكمال الخطوات التالية:
- الحصول على ملفات التثبيت لخدمة Apigee Edge for Private Cloud
- إعداد حزمة تخزين
- إعداد عقدة مستودع
- نشر عُقد Apigee
- إعداد عقدة تحكّم
- ضبط Ansible
- ثبِّت مكوّنات Apigee.
- نشر وحدات pods والخدمات:
- تعديل عناوين IP الخاصة بأداة التحميل وأداة إعادة التوجيه Fluent Bit
- إعداد مؤسسة Apigee
- اختبار اتصال HTTP
- ضبط بروتوكول أمان طبقة النقل (TLS) واختبار بروتوكول HTTPS
قبل البدء
قبل بدء عملية التثبيت، تأكَّد من إكمال الخطوات التالية:
- أنشِئ مشروعًا على "مركز مطوّري Google" لاستخدامه في عملية التثبيت، إذا لم يسبق لك إنشاء مشروع. لمزيد من المعلومات، يُرجى الاطّلاع على إنشاء مشروع.
- نزِّل وأعِد ضبط
واجهة سطر الأوامر
gdcloud
على محطة عمل مرتبطة بـ GDC أو ضمن بيئة النشر المستمر في مؤسستك. - احصل على بيانات الاعتماد المطلوبة لاستخدام
gdcloud
واجهة سطر الأوامرkubectl
وواجهة برمجة التطبيقات. راجِع مقالة المصادقة على حسابك للوصول إليه للاطّلاع على الخطوات المطلوبة. - تأكَّد من اسم المستخدم وكلمة المرور في Apigee اللذين تلقّيتهما من مدير حسابك في Apigee.
- تأكَّد من اسم مجموعة مشرفي GKE واسم مجموعة مستخدمي GKE.
متطلبات السعة
يتطلّب تثبيت Apigee Edge for Private Cloud على GDC عدة أجهزة افتراضية (VM) مع تخصيص موارد محدّدة. تتضمّن هذه الأجهزة الافتراضية رسومًا استنادًا إلى موارد الحوسبة (ذاكرة الوصول العشوائي، وعدد أنوية وحدة المعالجة المركزية الافتراضية) ومساحة التخزين على القرص المحلي. لمزيد من المعلومات، يُرجى الاطّلاع على الأسعار.
يعرض الجدول التالي متطلبات الموارد لكل آلة افتراضية:
نوع الجهاز الافتراضي | ذاكرة الوصول العشوائي (RAM) | نوى وحدة المعالجة المركزية الافتراضية | مساحة التخزين على القرص |
---|---|---|---|
عقدة المستودع | 8 غيغابايت | نواة وحدة معالجة مركزية افتراضية (vCPU) ثنائية | 64 غيغابايت |
عقدة التحكّم | 8 غيغابايت | نواة وحدة معالجة مركزية افتراضية (vCPU) ثنائية | 64 غيغابايت |
عُقد إدارة واجهات برمجة التطبيقات في Apigee 1 و2 و3 | ذاكرة وصول عشوائي بسعة 16 غيغابايت | 8 نوى لوحدة المعالجة المركزية الافتراضية | 670 غيغابايت |
العُقد 4 و5 لإدارة واجهات برمجة التطبيقات في Apigee | ذاكرة وصول عشوائي بسعة 16 غيغابايت | 8 نوى لوحدة المعالجة المركزية الافتراضية | 500 غيغابايت - 1 تيرابايت |
الأدوار والأذونات
يجب توفّر الأدوار والأذونات التالية لنشر Apigee Edge for Private Cloud في بيئة GDC غير متصلة بالإنترنت:
- مشرف المنصة (PA): يجب إسناد دور
IAM Admin
. - مشغّل التطبيق (AO): يجب تعيين الأدوار التالية:
-
Harbor Instance Admin
: لديه إذن وصول كامل لإدارة مثيلات Harbor في أحد المشاريع. LoggingTarget Creator
: لإنشاءLoggingTarget
موارد مخصّصة في مساحة اسم المشروعLoggingTarget Editor
: تعديل مواردLoggingTarget
مخصّصة في مساحة اسم المشروعProject Bucket Admin
: لإدارة مجموعات البيانات والعناصر داخلها-
Project Grafana Viewer
: للوصول إلى مثيل المراقبة في مساحة اسم المشروع Project NetworkPolicy Admin
: تدير سياسات شبكة المشروع في مساحة اسم المشروع.-
Project VirtualMachine Admin
: يدير الأجهزة الافتراضية في مساحة اسم المشروع. -
Secret Admin
: تدير أسرار Kubernetes في المشاريع. -
Service Configuration Admin
: لديه إذن قراءة وكتابة لإعدادات الخدمة ضمن مساحة اسم المشروع. -
Namespace Admin
: يدير جميع الموارد ضمن مساحات أسماء المشاريع.
-
- لا تتضمّن Apigee على GDC air-gapped خوادم نظام أسماء نطاقات وتستخدم حلّاً بديلاً يتمثل في تعيين نظام أسماء نطاقات محلي. إذا تم نشر Apigee على GDC air-gapped في بيئة تتضمّن خوادم نظام أسماء نطاقات خارجية، استبدِل الخطوات التي تضبط نظام أسماء النطاقات المحلي بخطوات ضبط إدخالات نظام أسماء النطاقات في خوادم نظام أسماء النطاقات.
- لا تتضمّن Apigee على GDC air-gapped خادم SMTP مستقلاً. يمكنك ضبط خادم SMTP في أي وقت لتفعيل إشعارات البريد الإلكتروني الصادرة بشأن إنشاء الحسابات وإعادة ضبط كلمات المرور من "خادم الإدارة" و"واجهة مستخدم الإدارة". ستبقى واجهات برمجة التطبيقات الإدارية متاحة لإدارة حسابات مستخدمي Apigee. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة ضبط خادم Edge SMTP.
- لا تنفّذ Apigee على GDC air-gapped ميزة رصد التسلّل ومنعه. ثبِّت نظام منع التسلّل (IPS) وأعِدّ إعداداته، مثل Snort، لرصد الأنشطة الضارة ومنعها.
- نظام التشغيل: Rocky Linux 8
- حجم الجهاز: ذاكرة وصول عشوائي (RAM) بسعة 8 غيغابايت، ونواتان لوحدة المعالجة المركزية الافتراضية، ومساحة تخزين على القرص المحلي بسعة 64 غيغابايت
- الاتصال:
- الدخول: TCP 22 (SSH)
- الخروج: الإنترنت
- راجِع ملاحظات إصدار Apigee Edge Private Cloud لمعرفة أحدث إصدار رسمي متوافق مع GDC، كما هو موضّح في عمود Edge Private Cloud.
- نزِّل ملف إعداد Edge:
curl https://software.apigee.com/apigee/tarball/VERSION/rocky8/archive.tar -o /tmp/archive.tar -u 'APIGEE_USER:APIGEE_PASSWORD'
المكان:
- APIGEE_USER هو اسم المستخدم الذي تلقّيته لمؤسسة Apigee.
- APIGEE_PASSWORD هي كلمة المرور التي تلقّيتها لمؤسسة Apigee.
- VERSION هو إصدار Apigee Edge for Private Cloud الذي تريد تثبيته على GDC، مثل 4.53.01.
- نزِّل أحدث ملف
bootstrap_VERSION.sh
من Apigee Edge Private Cloud إلى/tmp/bootstrap_VERSION.sh
:curl https://software.apigee.com/bootstrap_VERSION.sh -o /tmp/bootstrap_VERSION.sh
حيث VERSION هو أحدث إصدار من Apigee Edge Private Cloud لاستخدامه على GDC الذي تريد تثبيته، على سبيل المثال، 4.53.01.
- ثبِّت أداة Edge
apigee-service
والبرامج التابعة:sudo bash /tmp/bootstrap_VERSION.sh apigeeuser=APIGEE_USER apigeepassword=APIGEE_PASSWORD
المكان:
- APIGEE_USER هو اسم المستخدم الذي تلقّيته لمؤسسة Apigee.
- APIGEE_PASSWORD هي كلمة المرور التي تلقّيتها لمؤسسة Apigee.
- VERSION هو إصدار Apigee Edge for Private Cloud الذي سيتم استخدامه على GDC الذي تريد تثبيته.
- شغِّل نص الإعداد البرمجي على العقدة المتصلة:
chmod a+x connected-node_setup.sh \ ./connected-node_setup.sh
في هذه الخطوة، ينشئ البرنامج النصي الملفات المطلوبة في المواقع التالية (على سبيل المثال، للإصدار 4.53.01):
/opt/apigee/data/apigee-mirror/apigee-4.53.01.tar.gz
/tmp/apigee-nginx/apigee-nginx.tar
/tmp/fluentbit/fluentbit.tar
/tmp/postgresql14/postgresql14.tar
/tmp/ansible-rpms.tar
/tmp/apigee-repos.tar
- انقل الملفات المطلوبة من العقدة المرتبطة إلى جهاز محلي عبر بروتوكول النقل الآمن (SSH):
mkdir apigee-files
cd apigee-files
for file in /opt/apigee/data/apigee-mirror/apigee-4.53.01.tar.gz /tmp/ansible-rpms.tar /tmp/apigee-nginx/apigee-nginx.tar /tmp/fluentbit/fluentbit.tar /tmp/postgresql14/postgresql14.tar /tmp/apigee-repos.tar; do scp -i SSH_PRIVATE_KEY_FILE USER@CONNECTED_NODE_IP:$file . done
المكان:
- SSH_PRIVATE_KEY_FILE هو مسار ملف مفتاح SSH الخاص.
- USER هو اسم المستخدم للعقدة المرتبطة.
- CONNECTED_NODE_IP هو عنوان IP للعقدة المتصلة.
- المصادقة باستخدام مجموعة مشرف المؤسسة:
gdcloud auth login --login-config-cert WEB_TLS_CERT
gdcloud clusters get-credentials ORG_ADMIN_CLUSTER
المكان:
- WEB_TLS_CERT هو مسار شهادة TLS على الويب.
- ORG_ADMIN_CLUSTER هو اسم مجموعة GKE الخاصة بمشرف المؤسسة.
- اضبط متغيرات البيئة الخاصة بالمشروع والحزمة:
export PROJECT=PROJECT
export BUCKET=BUCKET_NAME
المكان:
- PROJECT هو اسم مشروعك على GDC.
- BUCKET_NAME هو اسم الحزمة التي تريد إنشاءها لتخزين ملفات النسخ الاحتياطي من Apigee Edge Private Cloud.
- طبِّق إعدادات الحزمة:
kubectl apply -f - <<EOF apiVersion: object.GDC.goog/v1 kind: Bucket metadata: name: $BUCKET namespace:$PROJECT spec: description: bucket for Apigee backup files storageClass: Standard bucketPolicy : lockingPolicy : defaultObjectRetentionDays: 30 EOF
يؤدي هذا الإعداد إلى إنشاء حزمة بمدة احتفاظ تبلغ 30 يومًا.
- أنشئ حساب خدمة في المشروع:
gdcloud iam service-accounts create $BUCKET-sa \ --project=$PROJECT
- أنشئ الدور وربط الدور لإنشاء سرّ للوصول إلى الحزمة:
kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: $BUCKET-role namespace: $PROJECT rules: - apiGroups: - object.gdc.goog resourceNames: - $BUCKET resources: - buckets verbs: - get - read-object - write-object --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: $BUCKETrolebinding namespace: $PROJECT roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: $BUCKET-role subjects: - kind: ServiceAccount name: $BUCKET-sa namespace: $PROJECT EOF
- احصل على رقم تعريف مفتاح الوصول والمفتاح من السرّ:
export BUCKET_SECRET=$(kubectl get secret -n $PROJECT -o jsonpath="{range .items[*]}{.metadata.name}{':'}{.metadata.annotations['object\.GDC\.goog/subject']}{'\n'}{end}" | grep $BUCKET | tail -1 | cut -f1 -d :)
echo "access-key-id=$(kubectl get secret -n $PROJECT $BUCKET_SECRET -o jsonpath="{.data['access-key-id']}")"
echo "access-key=$(kubectl get secret -n $PROJECT $BUCKET_SECRET -o jsonpath="{.data['secret-access-key']}")"
يجب أن تبدو النتيجة مشابهة لما يلي:
access-key-id=RFdJMzRROVdWWjFYNTJFTzJaTk0= access-key=U3dSdm5FRU5WdDhMckRMRW1QRGV0bE9MRHpCZ0Ntc0cxVFJQdktqdg==
- أنشئ سرًا سيستخدمه القائم بالتحميل في مجموعة مستخدمي GKE:
- المصادقة باستخدام مجموعة GKE الخاصة بالمستخدم:
gdcloud clusters get-credentials USER_CLUSTER
حيث USER_CLUSTER هو اسم مجموعة مستخدمي GKE.
- طبِّق الإعدادات السرية باتّباع الخطوات التالية:
kubectl apply -f - <<EOF apiVersion: v1 kind: Secret metadata: namespace: $PROJECT name: $BUCKET-secret type: Opaque data: access-key-id: ACCESS_KEY_ID access-key: ACCESS_KEY EOF
المكان:
- ACCESS_KEY_ID هو رقم تعريف مفتاح الوصول الذي تم الحصول عليه في الخطوة السابقة.
- ACCESS_KEY هو مفتاح الوصول الذي تم الحصول عليه في الخطوة السابقة.
- المصادقة باستخدام مجموعة GKE الخاصة بالمستخدم:
- احصل على نقطة نهاية التخزين واسم النطاق المؤهَّل بالكامل (FQDN) والمنطقة الخاصة بالحزمة:
- المصادقة باستخدام مجموعة مشرف المؤسسة:
gdcloud clusters get-credentials ORG_ADMIN_CLUSTER
حيث ORG_ADMIN_CLUSTER هو اسم مجموعة GKE الخاصة بمشرف المؤسسة.
- احصل على نقطة نهاية التخزين واسم النطاق المؤهَّل بالكامل (FQDN) والمنطقة الخاصة بالحزمة:
kubectl get buckets ${BUCKET} -n $PROJECT -o jsonpath="{'endpoint: '}{.status.endpoint}{'\n'}{'bucket: '}{.status.fullyQualifiedName}{'\n'}{'region: '}{.status.region}{'\n'}"
يجب أن تبدو النتيجة مشابهة لما يلي:
endpoint: https://objectstorage.gpu-org.cookie.sesame.street bucket: ez9wo-apigee-backup-bucket region: cookie
- المصادقة باستخدام مجموعة مشرف المؤسسة:
- عدِّل القيم التالية في ملف
apigee/helm_user_cluster/values-cookie-air-gapped.yaml
:objectstorekeyname: "apigee-backup-bucket-secret" objectstoreurl: "BUCKET_ENDPOINT" objectstorebucket: "BUCKET_FQDN"
المكان:
- BUCKET_ENDPOINT هي نقطة نهاية المجموعة التي تم الحصول عليها في الخطوة السابقة.
- BUCKET_FQDN هو اسم النطاق المؤهَّل بالكامل للحزمة التي تم الحصول عليها في الخطوة السابقة.
- عدِّل
apigee/helm_user_cluster/values-cookie-air-gapped.yaml
على النحو التالي:repo_node: enabled: true apigee_node: enabled: false control_node: enabled: false
تأكَّد من تفعيل
repo_node
وإيقاف كل منapigee_node
وcontrol_node
. يتم نشر هذه العُقد في خطوة لاحقة. - احصل على بيانات اعتماد لمجموعة مشرف المؤسسة:
gdcloud clusters get-credentials ORG_ADMIN_CLUSTER
حيث ORG_ADMIN_CLUSTER هو اسم مجموعة GKE الخاصة بمشرف المؤسسة.
- أنشئ بيئة Python افتراضية:
python3 -m venv venv / source venv/bin/activate
- نفِّذ نص النشر البرمجي لإنشاء عقدة المستودع:
python apigee/solution_deploy.py gdc-air-gapped
- اضبط بروتوكول SSH لعقدة المستودع على النحو التالي:
export NODE=repo
kubectl create -n $PROJECT -f - <<EOF apiVersion: virtualmachine.GDC.goog/v1 kind: VirtualMachineAccessRequest metadata: generateName: $NODE- spec: ssh: key: | "cat SSH_PUBLIC_KEY_FILE" ttl: 24h user: admin vm: $NODE EOF
حيث SSH_PUBLIC_KEY_FILE هو اسم الملف الذي يحتوي على مفتاح SSH العام.
- احصل على عنوان IP الخارجي لعقدة المستودع:
kubectl get virtualmachineexternalaccess -n $PROJECT $NODE -ojsonpath='{.status.ingressIP}'
- احصل على عنوان IP الداخلي لعقدة المستودع:
kubectl get virtualmachines.virtualmachine.gdc.goog -n $PROJECT $NODE -ojsonpath='{.status.network.interfaces[1].ipAddresses[0]}'
apigee-4.53.01
apigee-nginx.tar
postgresql14.tar
fluentbit.tar
ansible-rpms.tar
apigee-repos.tar
- انسخ ملف مفتاح SSH الخاص إلى عقدة المستودع:
scp -i SSH_PRIVATE_KEY_FILE ~/apigee-files/* admin@REPO_EXTERNAL_IP:/tmp
المكان:
- SSH_PRIVATE_KEY_FILE هو اسم الملف الذي يحتوي على مفتاح SSH الخاص.
- REPO_EXTERNAL_IP هو عنوان IP الخارجي لعقدة المستودع التي تم الحصول عليها في الخطوة السابقة.
- حمِّل المجلد الذي يحتوي على إعدادات Fluent Bit إلى عقدة المستودع:
scp -i SSH-PRIVATE-KEY-FILE -r apigee/scripts/fluent-bit admin@REPO_EXTERNAL_IP:/tmp/fluent-bit
المكان:
- SSH_PRIVATE_KEY_FILE هو اسم الملف الذي يحتوي على مفتاح SSH الخاص.
- REPO_EXTERNAL_IP هو عنوان IP الخارجي لعقدة المستودع.
- انسخ
apigee/scripts/repo_setup.sh
إلى عقدة المستودع. - في النص البرمجي، استبدِل REPO_USER وREPO_PASSWORD باسم المستخدم وكلمة المرور المطلوبَين لمستودع النسخ المطابق.
- شغِّل النص البرمجي:
chmod a+x repo_setup.sh
./repo_setup.sh
في حال ظهور الخطأ
No such file or directory
، أعِد تشغيل النص البرمجي. - اختبِر الاتصال بالمستودع المتطابق محليًا من عقدة المستودع.
curl http://REPO_USER:REPO_PASSWORD@REPO_INTERNAL_IP:3939/bootstrap_VERSION.sh -o /tmp/bootstrap_VERSION.sh
curl http://REPO_USER:REPO_PASSWORD@REPO_INTERNAL_IP:3939/apigee/release/VERSION/repodata/repomd.xml
استبدِل VERSION بإصدار Apigee Edge for Private Cloud الذي تريد تثبيته.
- استبدِل
REPO_INTERNAL_IP
وREPO_USER_NAME
وREPO_PASSWORD
فيapigee/helm/scripts/apigee_setup.sh
بالقيم المطلوبة. - صدِّر القيم كمتغيرات بيئية:
export REPO_IP=REPO_INTERNAL_IP
export REPO_USER=REPO_USER_NAME
export REPO_PASSWORD=REPO_PASSWORD
- فعِّل
apigee_node
فيapigee/helm/values-cookie-air-gapped.yaml
كما هو موضّح::apigee_node: enabled: true
- نفِّذ النص البرمجي للنشر لإنشاء عُقد Apigee:
source venv/bin/activate
python apigee/solution_deploy.py gdc-air-gapped
- المصادقة باستخدام مجموعة مشرف المؤسسة:
gdcloud clusters get-credentials ORG_ADMIN_CLUSTER
حيث ORG_ADMIN_CLUSTER هو اسم مجموعة GKE الخاصة بمشرف المؤسسة.
- أنشئ مفتاح SSH لكل عقدة:
for i in 1 2 3 4 5; do kubectl create -n $PROJECT -f - <<EOF apiVersion: virtualmachine.GDC.goog/v1 kind: VirtualMachineAccessRequest metadata: generateName: node$i spec: ssh: key: | "cat SSH_PUBLIC_KEY_FILE" ttl: 24h user: admin vm: node$i EOF done
حيث SSH_PUBLIC_KEY_FILE هو اسم الملف الذي يحتوي على مفتاح SSH العام.
- احصل على عناوين IP الخارجية لعُقد Apigee:
for i in 1 2 3 4 5; do kubectl get virtualmachineexternalaccess -n $PROJECT node$i -ojsonpath='{.status.ingressIP}' echo done
- احصل على عناوين IP الداخلية لعُقد Apigee:
for i in 1 2 3 4 5; do kubectl get virtualmachines.virtualmachine.gdc.goog -n $PROJECT node$i -ojsonpath='{.status.network.interfaces[1].ipAddresses[0]}' echo done
- (اختياري) تحقَّق مما إذا كانت نصوص البرامج لبدء التشغيل تعمل بنجاح على عُقد Apigee:
- انتقِل إلى العُقدة باستخدام SSH ونفِّذ الأمر التالي:
sudo journalctl -u cloud-final -f
- ابحث عن سجلات مشابهة لما يلي:
Aug 29 18:17:00 172.20.128.117 cloud-init[1895]: Complete! Aug 29 18:17:00 172.20.128.117 cloud-init[1895]: Finished running the command: . /var/lib/google/startup-scripts/apigee-setup
- انتقِل إلى العُقدة باستخدام SSH ونفِّذ الأمر التالي:
- استبدِل
REPO_INTERNAL_IP
وREPO_USER_NAME
وREPO_PASSWORD
فيapigee/helm/scripts/control_setup.sh
بالقيم المطلوبة. - فعِّل ميزة
control_node
فيapigee/helm/values-cookie-air-gapped.yaml
كما هو موضّح:control_node: enabled: true
- نفِّذ النص البرمجي للنشر لإنشاء عقدة التحكّم:
source venv/bin/activate
python apigee/solution_deploy.py gdc-air-gapped
- اضبط إذن الوصول إلى عقدة التحكّم باستخدام بروتوكول SSH:
kubectl create -n $PROJECT -f - <<EOF apiVersion: virtualmachine.GDC.goog/v1 kind: VirtualMachineAccessRequest metadata: generateName: control- spec: ssh: key: | "cat SSH_PUBLIC_KEY_FILE" ttl: 24h user: admin vm: control EOF
- احصل على عنوان IP الخارجي لعقدة التحكّم:
kubectl get virtualmachineexternalaccess -n $PROJECT control -ojsonpath='{.status.ingressIP}'
- احصل على عنوان IP الداخلي لعقدة التحكّم:
kubectl get virtualmachines.virtualmachine.GDC.goog -n $PROJECT control -ojsonpath='{.status.network.interfaces[1].ipAddresses[0]}'
- انتقِل إلى عقدة التحكّم عبر بروتوكول SSH وأعِد إعداد بيئة Ansible:
cd /home/admin
cp -r /tmp/apigee-repos .
cd apigee-repos/ansible-opdk-accelerator/setup
- استبدِل مستودعات git البعيدة بملف محلي:
sed -i 's/https:\/\/github.com\/carlosfrias/git+file:\/\/\/home\/admin\/apigee-repos/g' requirements.yml
sed -i 's/\.git$//g' requirements.yml
- Install Ansible requirements:
sudo chown -R admin /home/admin/apigee-repos
ansible-galaxy install -r requirements.yml -f
- تعديل إعدادات عملية الإعداد:
- عدِّل ملف
main.yml
:vi ~/apigee-repos/ansible-opdk-accelerator/setup/roles/apigee-opdk-setup-ansible-controller/tasks/main.yml
- أزِل المهام التي تتطلّب الوصول إلى GitHub:
- استخدام Git SSH لاستخراج مستودعات الإعدادات
- استخراج مستودعات الإعدادات باستخدام بروتوكول HTTPS في Git
- شغِّل دليل الإعداد:
cd ~/apigee-repos/ansible-opdk-accelerator/setup
ansible-playbook setup.yml
- عدِّل ملف
- حمِّل مفتاح SSH لعُقد Apigee إلى عقدة التحكّم:
scp -i CONTROL_SSH_PRIVATE_KEY_FILE APIGEE_NODE_SSH_PRIVATE_KEY_FILE admin@CONTROL_EXTERNAL_IP:/home/admin/.ssh/id_rsa
المكان:
- CONTROL_SSH_PRIVATE_KEY_FILE هو اسم الملف الذي يحتوي على مفتاح SSH الخاص بعقدة التحكّم.
- APIGEE_NODE_SSH_PRIVATE_KEY_FILE هو اسم الملف الذي يحتوي على مفتاح SSH الخاص بعقدة Apigee.
- CONTROL_EXTERNAL_IP هو عنوان IP الخارجي لعقدة التحكّم.
- أنشئ ملف إعداد مستودع Ansible:
- انسخ محتوى الملف
apigee/scripts/ansible/prod.cfg
إلى الملفprod.cfg
:vi ~/.ansible/multi-planet-configurations/prod.cfg
- أنشِئ المجلد
edge-dc1
وانسخ محتوى الملفapigee/scripts/ansible/edge-dc1
إلى الملفedge-dc1
:mkdir ~/.ansible/inventory/prod
vi ~/.ansible/inventory/prod/edge-dc1
- انسخ محتوى الملف
- عدِّل عناوين IP الداخلية لعُقد Apigee في
edge-dc1
:apigee_000 ansible_host=APIGEE_NODE1_INTERNAL_IP
apigee_001 ansible_host=APIGEE_NODE2_INTERNAL_IP
apigee_002 ansible_host=APIGEE_NODE3_INTERNAL_IP
apigee_003 ansible_host=APIGEE_NODE4_INTERNAL_IP
apigee_004 ansible_host=APIGEE_NODE5_INTERNAL_IP
حيث تكون قيم APIGEE_NODE*_INTERNAL_IP هي عناوين IP الداخلية لعُقد Apigee التي تم الحصول عليها في خطوة سابقة.
- اضبط ملف
~/.apigee-secure/credentials.yml
باستخدام القيم التالية:- apigee_repo_user: 'APIGEE_REPO_USER'
- apigee_repo_password: 'APIGEE_REPO_PASSWORD'
- opdk_qpid_mgmt_username: 'OPDK_QPID_MGMT_USERNAME'
- opdk_qpid_mgmt_password: 'OPDK_QPID_MGMT_PASSWORD'
المكان:
- APIGEE_REPO_USER هو اسم المستخدم لمستودع Apigee.
- APIGEE_REPO_PASSWORD هي كلمة المرور لمستودع Apigee.
- OPDK_QPID_MGMT_USERNAME هو اسم المستخدم لخادم إدارة Apigee QPID.
- OPDK_QPID_MGMT_PASSWORD هي كلمة المرور لخادم إدارة Apigee QPID.
- أضِف ملف ترخيص يتضمّن ملف ترخيص صالحًا لخدمة Apigee Edge for Private Cloud. يجب أن يكون اسم الملف
license.txt
. - انسخ محتوى الملف
~/.apigee-secure/license.txt
إلى الملفlicense.txt
الذي أنشأته للتو. - اضبط القيم التالية في ملف
~/.apigee/custom-properties.yml
:- opdk_version: 'OPDK_VERSION'
- apigee_repo_url: 'APIGEE_REPO_URL'
المكان:
- OPDK_VERSION هو إصدار Apigee Edge for Private Cloud الذي تريد تثبيته.
- APIGEE_REPO_URL هو عنوان URL لمستودع Apigee.
- صدِّر ملف الإعداد كمتغيّر بيئة:
export ANSIBLE_CONFIG=~/.ansible/multi-planet-configurations/prod.cfg
- استبدِل مستودعات git البعيدة بالملفات المحلية:
cd ~/apigee-repos/ansible-opdk-accelerator/installations/multi-node/
sed -i 's/https:\/\/github.com\/carlosfrias/git+file:\/\/\/home\/admin\/apigee-repos/g' requirements.yml
sed -i 's/\.git$//g' requirements.yml
- ثبِّت متطلبات Ansible:
ansible-galaxy install -r requirements.yml -f
- تصحيح أدوار Ansible:
sed -i 's/private_address/inventory_hostname/g' ~/.ansible/roles/apigee-opdk-settings-cassandra/tasks/main.yml
sed -i 's/include/include_tasks/g' ~/.ansible/roles/apigee-opdk-server-self/tasks/main.yml
sed -i 's/include/include_tasks/g' ~/.ansible/roles/apigee-opdk-setup-silent-installation-config/tasks/main.yml
cat << EOF >> ~/.ansible/roles/apigee-opdk-setup-silent-installation-config/templates/response-file-template.conf.j2 QPID_MGMT_USERNAME= opdk_qpid_mgmt_username QPID_MGMT_PASSWORD= opdk_qpid_mgmt_password EOF
sed -i 's/mode: 0700/mode: 0700\n recurse: yes/g' ~/.ansible/roles/apigee-opdk-setup-postgres-config/tasks/main.yml
- استبدِل محتوى الملف
install.yml
بالمحتوى فيapigee/scripts/ansible/install.yml
. - شغِّل دليل التشغيل لتثبيت مكوّنات Apigee:
ansible-playbook install.yml
- عطِّل رابط إعادة ضبط كلمة مرور المستخدم في واجهة مستخدم Edge. لا يتضمّن إصدار Apigee على GDC الذي لا يتصل بالإنترنت خادم SMTP. اتّبِع الخطوات الواردة في إيقاف رابط إعادة ضبط كلمة المرور في واجهة مستخدم Edge.
- اتّبِع التعليمات الواردة في
إنشاء مثيلات Harbor لإنشاء مثيل Harbor في مشروع GDC
dev-apigee
. - اتّبِع التعليمات الواردة في
إنشاء مشاريع Harbor لإنشاء مشروع Harbor باسم
apigee
. - اتّبِع التعليمات الواردة في ضبط التحكّم في الوصول لإعداد التحكّم في الوصول إلى مشروع Harbor.
- اتّبِع التعليمات الواردة في تسجيل الدخول إلى Docker وHelm لإعداد مصادقة Docker.
- عدِّل عناوين IP في الملف
apigee/apigee_user_cluster.toml
كما هو موضّح:mgmt-server-proxy = "APIGEE_NODE1_EXTERNAL_IP" router-proxy1 = "APIGEE_NODE2_EXTERNAL_IP" router-proxy2 = "APIGEE_NODE3_EXTERNAL_IP"
المكان:
- APIGEE_NODE1_EXTERNAL_IP هو عنوان IP الخارجي للعقدة 1 في Apigee الذي تم الحصول عليه في خطوة سابقة.
- APIGEE_NODE2_EXTERNAL_IP هو عنوان IP الخارجي لعقدة Apigee2 الذي تم الحصول عليه في خطوة سابقة.
- APIGEE_NODE3_EXTERNAL_IP هو عنوان IP الخارجي للعقدة 3 من Apigee الذي تم الحصول عليه في خطوة سابقة.
- ضَع ملف شهادة SSL (
server.crt
) وملف المفتاح (server.key
) لتفعيل بروتوكول HTTPS ضمن المجلدَينapigee/mgmt-server-proxy
وapigee/router-proxy
.لإنشاء شهادات موقَّعة ذاتيًا، استخدِم الأمر التالي:
openssl req -newkey rsa:4096 -x509 -nodes -keyout server.key -new -out server.crt -subj "/CN=*.apigeetest.com" -sha256 -days 365
- عدِّل قيمة
SSH-PASSWORD
للمستخدم الجذر في حاوية أداة التحميل في الملفapigee/uploader/Dockerfile
:RUN echo 'root:SSH_PASSWORD' | chpasswd
- احصل على بيانات اعتماد مجموعة المستخدمين:
gdcloud clusters get-credentials USER_CLUSTER
حيث USER_CLUSTER هو اسم مجموعة مستخدمي GKE.
- نفِّذ النص البرمجي للنشر من أجل نشر وحدات Pod والخدمات:
source venv/bin/activate
python apigee/solution_deploy_user_cluster.py gdc-air-gapped
- احصل على عناوين IP الخارجية للخدمات:
kubectl get svc -n $PROJECT_ID
- تعديل
SSH_PASSWORD
وroot
وUPLOADER_EXTERNAL_IP
فيapigee/helm/scripts/backup_setup.sh
:sshpass -p SSH_PASSWORD scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null apigee-backup* root@UPLOADER_EXTERNAL_IP:/temp/
المكان:
- SSH_PASSWORD هي كلمة مرور مستخدم الجذر.
- UPLOADER_EXTERNAL_IP هو عنوان IP الخارجي لخدمة التحميل الذي تم الحصول عليه في خطوة سابقة.
- تعديل
FLUENTBIT_EXTERNAL_IP
فيapigee/helm/scripts/apigee_setup.sh
:export FLUENTBIT_EXTERNAL_IP=FLUENTBIT_EXTERNAL_IP
- أوقِف الأجهزة الافتراضية باتّباع الخطوات التالية:
gdcloud clusters get-credentials ORG_ADMIN_CLUSTER
export PROJECT=dev-apigee
for i in 1 2 3 4 5; do gdcloud compute instances stop node$i --project $PROJECT done
- أعِد نشر مخطط Helm:
python apigee/solution_deploy.py gdc-air-gapped
- ابدأ تشغيل الأجهزة الافتراضية:
for i in 1 2 3 4 5; do GDCloud compute instances start node$i --project $PROJECT done
- عدِّل القيم التالية في
apigee/scripts/apigee_org_setup.sh
كما هو موضّح. عدِّل المَعلمات الأخرى حسب الحاجة.IP1=APIGEE_NODE1_INTERNAL_IP VHOST_ALIAS="APIGEE_NODE2_EXTERNAL_IP:9001 APIGEE_NODE3_EXTERNAL_IP:9001"
المكان:
- APIGEE_NODE1_INTERNAL_IP هو عنوان IP الداخلي لعقدة Apigee1 الذي تم الحصول عليه في خطوة سابقة.
- APIGEE_NODE2_EXTERNAL_IP هو عنوان IP الخارجي لعقدة Apigee2 الذي تم الحصول عليه في خطوة سابقة.
- APIGEE_NODE3_EXTERNAL_IP هو عنوان IP الخارجي للعقدة 3 من Apigee الذي تم الحصول عليه في خطوة سابقة.
- نفِّذ النص البرمجي على node1 لإعداد المؤسسة:
chmod a+x apigee_org_setup.sh
./apigee_org_setup.sh
- احصل على عنوان IP الخارجي للخدمة
apigee-elb
:gdcloud clusters get-credentials USER_CLUSTER
export PROJECT=dev-apigee
kubectl get svc apigee-elb -n $PROJECT
حيث USER_CLUSTER هو اسم مجموعة مستخدمي GKE.
تعمل هذه الخدمة كنقطة نهاية لواجهة مستخدم Edge وManagement API وخادم وكيل لواجهة برمجة التطبيقات.
- APIGEE_ELB_EXTERNAL_IP هو عنوان IP الخارجي لخدمة
apigee-elb
التي تم الحصول عليها في خطوة سابقة. - ORG_NAME هو اسم مؤسسة Apigee.
- ENV_NAME هو اسم بيئة Apigee.
- سجِّل الدخول إلى واجهة مستخدم Edge.
- في صفحة خوادم API الوكيلة، انقر على إنشاء لإنشاء خادم API وكيل جديد.
- في صفحة تفاصيل الخادم الوكيل، أدخِل القيم التالية:
- نوع الخادم الوكيل: اختَر بدون استهداف.
- اسم الخادم الوكيل:
ok
- المسار الأساسي:
/ok
- الهدف:
http://APIGEE_ELB_EXTERNAL_IP:9001
- انقر على إنشاء لإنشاء خادم وكيل لواجهة برمجة التطبيقات.
- أرسِل طلب HTTP إلى
/ok
:curl -i http://APIGEE_ELB_EXTERNAL_IP:9001/ok
- تأكَّد من أنّ الردّ هو
200 OK
. - اتّبِع الخطوات الواردة في إنشاء ملف تخزين مفاتيح/ملف تخزين موثوق وعنوان بديل
لإنشاء شهادة موقعة ذاتيًا بالقيم التالية:
- KeyStore: myTestKeystore
- KeyAlias: myKeyAlias
- الاسم الشائع: apigeetest.com
- أرسِل طلب بيانات من واجهة برمجة التطبيقات لإنشاء المضيف الافتراضي باسم
api.apigeetest.com
:curl -v -H "Content-Type:application/xml" \ -u "opdk@apigee.com:Apigee123!" "http://APIGEE_ELB_EXTERNAL_IP:8080/v1/o/ORG_NAME/e//virtualhosts" \ -d '<VirtualHost name="secure"> <HostAliases> <HostAlias>api.apigeetest.com</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> <OCSPStapling>off</OCSPStapling> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> <KeyStore>myTestKeystore</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> </SSLInfo> </VirtualHost>'
المكان:
- APIGEE_ELB_EXTERNAL_IP هو عنوان IP الخارجي لخدمة
apigee-elb
التي تم الحصول عليها في خطوة سابقة. - ORG_NAME هو اسم مؤسسة Apigee.
- ENV_NAME هو اسم بيئة Apigee التي يجب إنشاء المضيف الافتراضي فيها.
- APIGEE_ELB_EXTERNAL_IP هو عنوان IP الخارجي لخدمة
- أنشئ خادمًا وكيلاً لواجهة برمجة التطبيقات باستخدام المضيف الافتراضي الآمن.
- على أجهزة التوجيه، اضبط عملية حلّ نظام أسماء النطاقات للمضيفات الافتراضية:
echo '127.0.0.1 api.apigeetest.com' | sudo tee -a /etc/hosts
- تأكَّد من أنّ المضيفات الافتراضية تعمل محليًا عن طريق إرسال طلب HTTPS إلى نقطة النهاية:
curl https://api.apigeetest.com:9005/ok -v -k
- اضبط عملية التحويل باستخدام نظام أسماء النطاقات لنقطة النهاية:
echo 'APIGEE_ELB_EXTERNAL_IP apigeetest.com' | sudo tee -a /etc/hosts
حيث APIGEE_ELB_EXTERNAL_IP هو عنوان IP الخارجي لخدمة
apigee-elb
التي تم الحصول عليها في خطوة سابقة. - انتقِل إلى
https://apigeetest.com/ok
في متصفّح الويب وتأكَّد من أنّه يعمل. - أنشئ ملف تخزين مفاتيح من ملف شهادة طبقة المقابس الآمنة (SSL) وملف المفتاح:
openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out keystore.pkcs12
keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks
- ضَع ملف تخزين المفاتيح ضمن مجلد Apigee على node1:
scp -i SSH_PRIVATE_KEY_FILE keystore.jks admin@APIGEE_NODE1_EXTERNAL_IP:/home/admin/
المكان:
- SSH_PRIVATE_KEY_FILE هو اسم الملف الذي يحتوي على مفتاح SSH الخاص بعقدة Apigee.
- APIGEE_NODE1_EXTERNAL_IP هو عنوان IP الخارجي للعقدة 1 في Apigee الذي تم الحصول عليه في خطوة سابقة.
- انتقِل إلى node1 عبر SSH وانقل ملف تخزين المفاتيح إلى مجلد Apigee:
sudo mv keystore.jks /opt/apigee/customer/application/
- أنشئ ملف إعداد SSL:
sudo vi /tmp/sslConfigFile
- عدِّل قيمة
KEY-PASS-PHRASE
كما هو موضّح:HTTPSPORT=9443 DISABLE_HTTP=n KEY_ALGO=JKS KEY_FILE_PATH=/opt/apigee/customer/application/keystore.jks KEY_PASS=KEY_PASS_PHRASE
- ضبط إعدادات SSL باستخدام ملف الإعداد:
sudo chown apigee:apigee /tmp/sslConfigFile
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f /tmp/sslConfigFile
- اضبط إعدادات التحويل باستخدام نظام أسماء النطاقات لواجهة مستخدم Edge باتّباع الخطوات التالية:
echo 'APIGEE_ELB_EXTERNAL_IP ui.apigeetest.com' | sudo tee -a /etc/hosts
حيث APIGEE_ELB_EXTERNAL_IP هو عنوان IP الخارجي لخدمة
apigee-elb
التي تم الحصول عليها في خطوة سابقة. - افتح
https://ui.apigeetest.com:9443
في متصفّح ويب وتأكَّد من أنّه يعمل. لمزيد من التفاصيل، يُرجى الرجوع إلى الدليل. - اضبط المالك لملف تخزين المفاتيح (استخدِم المالك نفسه الذي استخدمته في واجهة Edge):
sudo chown apigee:apigee /opt/apigee/customer/application/keystore.jks
- أنشئ ملف السمات:
sudo vi /opt/apigee/customer/application/management-server.properties
- أعِد تشغيل خادم الإدارة لتفعيل التغييرات:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- تأكَّد من أنّ بروتوكول HTTPS يعمل على جهازك:
curl -u "opdk@apigee.com:Apigee123!" "https://localhost:8443/v1/users" -k
- من العميل، انتقِل إلى https://apigeetest.com:8443/v1/users في المتصفّح. أدخِل اسم المستخدم وكلمة المرور للمشرف للتأكّد من ضبط بيانات الاعتماد بشكلٍ صحيح.
لمزيد من المعلومات عن منح أدوار وأذونات GDC في بيئة غير متصلة بالإنترنت، يُرجى الاطّلاع على منح إذن الوصول وإبطاله.
القيود
تنطبق القيود التالية على Apigee على GDC air-gapped:
الحصول على الملفات المطلوبة
للحصول على ملفات التثبيت، عليك أولاً إعداد عقدة مرتبطة ثم تنزيل الملفات.
إعداد عقدة مرتبطة
العُقدة المرتبطة هي جهاز افتراضي واحد خارج GDC تستخدمه لتنزيل ملفات التثبيت. تتطلّب هذه الآلة الافتراضية الاتصال بالإنترنت ولا تُستخدَم إلا في عملية التثبيت.
تتطلّب العُقدة المرتبطة السعة والإعدادات التالية:
لإنشاء العُقدة المرتبطة، اتّبِع التعليمات الواردة في إنشاء مثيل جهاز افتراضي وبدء تشغيله. بعد إنشاء الجهاز الافتراضي، اتّبِع التعليمات الواردة في الاتصال بالأجهزة الافتراضية التي تعمل بنظام التشغيل Linux. للاتصال بالجهاز الافتراضي. اطّلِع على أنظمة التشغيل المتوافقة مع GDC للاطّلاع على قائمة بأنظمة التشغيل المتوافقة.
تنزيل ملفات التثبيت
لتنزيل ملفات التثبيت، اتّبِع الخطوات التالية:
إعداد حزمة التخزين
في هذه الخطوة، يضبط مشغّل GDC حزمة تخزين في مشروع GDC لتخزين ملفات النسخ الاحتياطي من Apigee Edge for Private Cloud.
إنشاء حزمة تخزين
لإنشاء حزمة تخزين في مشروع GDC، اتّبِع الخطوات التالية:
ضبط إذن الوصول إلى الحزمة
لضبط إذن الوصول إلى حزمة التخزين، اتّبِع الخطوات التالية:
إعداد عقدة المستودع
في هذه الخطوة، يضبط مشغّل GDC عقدة مستودع لاستضافة مستودع Apigee Edge for Private Cloud المتطابق.
إنشاء عقدة مستودع
لإنشاء عقدة مستودع، اتّبِع الخطوات التالية:
ضبط إذن الوصول إلى عقدة المستودع
لضبط إذن الوصول إلى عقدة المستودع، اتّبِع الخطوات التالية:
تحميل ملفات التثبيت
في هذه الخطوة، يحمِّل مشغّل GDC أحدث إصدار من الملفات التالية إلى عقدة المستودع:
لتحميل ملفات التثبيت، اتّبِع الخطوات التالية:
ضبط مستودع النسخ المطابق
لضبط مستودع النسخ الاحتياطي، اتّبِع الخطوات التالية:
تفعيل عُقد Apigee
في هذه الخطوة، ينشر مشغّل GDC عُقد إدارة واجهة برمجة التطبيقات Apigee.
إنشاء عُقد Apigee
لإنشاء عُقد إدارة واجهة برمجة التطبيقات في Apigee، اتّبِع الخطوات التالية:
ضبط إذن الوصول إلى عقدة Apigee
اضبط إذن الوصول إلى عُقد إدارة واجهة برمجة التطبيقات Apigee API Management باتّباع الخطوات التالية:
إعداد عقدة التحكّم
في هذه الخطوة، يضبط مشغّل GDC عقدة تحكّم لإدارة عمليات تثبيت Apigee.
إنشاء عقدة تحكّم
لإنشاء عقدة تحكّم، اتّبِع الخطوات التالية:
ضبط إذن الوصول إلى عقدة التحكّم
لضبط إذن الوصول إلى عقدة التحكّم، اتّبِع الخطوات التالية:
إعداد Ansible
في هذه الخطوة، يضبط مشغّل GDC بيئة على عقدة التحكّم.
لضبط بيئة Ansible، اتّبِع الخطوات التالية:
تثبيت مكوّنات Apigee
في هذه الخطوة، يثبّت مشغّل GDC مكوّنات Apigee باستخدام Ansible.
لتثبيت مكوّنات Apigee، اتّبِع الخطوات التالية:
نشر وحدات pods والخدمات
في هذه الخطوة، عليك نشر أدوات التحميل والوكيل العكسي وموازنة الحمل ووحدات تسجيل البيانات والخدمات.
لنشر الحاويات والخدمات، اتّبِع الخطوات التالية:
تعديل عناوين IP الخاصة بالقائم بالتحميل وبرنامج Fluent Bit Forwarder
في هذه الخطوة، عليك تعديل عناوين IP الخاصة بأداة التحميل وأداة إعادة التوجيه Fluent Bit في نصوص برامج الإعداد والاحتفاظ بنسخة احتياطية من Apigee.
يتطلّب تعديل نص البرمجة عند بدء التشغيل إعادة تشغيل عُقد Apigee. لإعادة تشغيل العُقد، اتّبِع الخطوات التالية:
إعداد مؤسسة Apigee
في هذه الخطوة، يضيف مشغّل GDC مؤسسة Apigee من خلال تنفيذ نص برمجي للإعداد على node1.
لإعداد مؤسسة Apigee، اتّبِع الخطوات التالية:
اختبار الاتصال عبر HTTP
في هذه الخطوة، ستختبر إمكانية الاتصال عبر HTTP لكلّ من Management API وخادم وكيل لواجهة برمجة التطبيقات.
لاختبار إمكانية الاتصال عبر HTTP، اتّبِع الخطوات التالية:
اختبار Management API
لاختبار Management API، أرسِل طلب HTTP إلى نقطة النهاية:
curl -u "opdk@apigee.com:Apigee123!" "http://APIGEE_ELB_EXTERNAL_IP:8080/v1/o/ORG_NAME/e/ENV_NAME/provisioning/axstatus"
المكان:
اختبار خادم وكيل لواجهة برمجة التطبيقات
لاختبار خادم وكيل لواجهة برمجة التطبيقات، اتّبِع الخطوات التالية:
ضبط بروتوكول أمان طبقة النقل واختبار HTTPS
في هذه الخطوة، يضبط مشغّل GDC بروتوكول أمان طبقة النقل (TLS) لخادم وكيل واجهة برمجة التطبيقات وواجهة مستخدم Edge وManagement API.
ضبط بروتوكول أمان طبقة النقل (TLS) لخادم وكيل واجهة برمجة التطبيقات
ضبط بروتوكول أمان طبقة النقل (TLS) لواجهة مستخدم Edge
لضبط بروتوكول أمان طبقة النقل (TLS) لواجهة مستخدم Edge، اتّبِع الخطوات التالية:
ضبط بروتوكول أمان طبقة النقل (TLS) لواجهة Management API
لضبط بروتوكول أمان طبقة النقل (TLS) لواجهة Management API، اتّبِع الخطوات التالية:
استبدِل قيمة KEY_PASS_PHRASE
بكلمة مرور ملف تخزين المفاتيح، كما هو موضّح:
conf_webserver_ssl.enabled=true # Leave conf_webserver_http.turn.off set to false # because many Edge internal calls use HTTP. conf_webserver_http.turn.off=false conf_webserver_ssl.port=8443 conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks # Enter the obfuscated keystore password below. conf_webserver_keystore.password=KEY_PASS_PHRASE