نصب Apigee در Google Distributed Cloud بدون اتصال به اینترنت

این راهنما نحوه نصب و استقرار Apigee Edge for Private Cloud و پراکسی‌های API را در محیط Google Distributed Cloud (GDC) بدون اتصال به اینترنت شرح می‌دهد. برای مدیریت زیرساخت و سرویس‌های پیشنهادهای GDC air-gapped، ازجمله Apigee Edge for Private Cloud، نیازی به اتصال‌پذیری به Google Cloud نیست. می‌توانید از صفحه کنترل محلی میزبانی‌شده در محل خود برای همه عملیات استفاده کنید. برای نمای کلی GDC بدون اتصال به اینترنت، نمای کلی را ببینید.

این راهنما برای اپراتورهای Apigee درنظر گرفته شده است که با Apigee Edge for Private Cloud آشنا هستند و درک اولیه‌ای از Kubernetes دارند.

نمای کلی مراحل لازم

برای نصب و استقرار Apigee Edge for Private Cloud در محیط GDC بدون اتصال به اینترنت، اپراتور باید مراحل زیر را تکمیل کند:

قبل‌از شروع

قبل‌از شروع فرایند نصب، حتماً مراحل زیر را تکمیل کنید:

  1. اگر ازقبل پروژه GDC ندارید، پروژه‌ای برای استفاده در نصب ایجاد کنید. برای اطلاعات بیشتر، ایجاد پروژه را ببینید.
  2. «خط فرمان» gdcloud را در ایستگاه کاری متصل به GDC یا در محیط استقرار پیوسته سازمانتان بارگیری، نصب، و پیکربندی کنید.
  3. اطلاعات اعتباری لازم برای استفاده از gdcloud CLI و kubectl API را دریافت کنید. برای اطلاع از مراحل لازم، به اصالت‌سنجی حساب برای دسترسی مراجعه کنید.
  4. نام کاربری و گذرواژه Apigee را که از مدیر حساب Apigee خود دریافت کرده‌اید تأیید کنید.
  5. نام خوشه سرپرست GKE و نام خوشه کاربر GKE را تأیید کنید.

الزامات ظرفیت

نصب Apigee Edge for Private Cloud در GDC به چندین ماشین مجازی (VM) با تخصیص منابع خاص نیاز دارد. این ماشین‌های مجازی براساس منابع محاسباتی (RAM، هسته‌های vCPU) و فضای ذخیره‌سازی دیسک محلی هزینه دارند. برای اطلاعات بیشتر، به قیمت‌گذاری مراجعه کنید.

جدول زیر الزامات منبع برای هر ماشین مجازی را نشان می‌دهد:

نوع ماشین مجازی حافظه دسترسی تصادفی (RAM) هسته‌های vCPU فضای ذخیره‌سازی دیسک
گره Repo ‫۸ گیگابایت ‫۲ هسته vCPU ‫۶۴ گیگابایت
گره کنترل ‫۸ گیگابایت ‫۲ هسته vCPU ‫۶۴ گیگابایت
گره‌های مدیریت Apigee API 1، 2، و 3 ‫۱۶ گیگابایت حافظه دسترسی تصادفی ‫۸ هسته vCPU ‫۶۷۰ گیگابایت
گره‌های مدیریت Apigee API 4 و 5 ‫۱۶ گیگابایت حافظه دسترسی تصادفی ‫۸ هسته vCPU ‫۵۰۰ گیگابایت - ۱ ترابایت

نقش‌ها و اجازه‌ها

نقش‌ها و اجازه‌های زیر برای استقرار 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: همه منابع را در فضاهای نام پروژه مدیریت می‌کند.
  • برای کسب اطلاعات بیشتر درباره اعطای نقش‌ها و اجازه‌های GDC بدون اتصال به اینترنت، اعطای دسترسی و لغو آن را ببینید.

    محدودیت‌ها

    محدودیت‌های زیر برای Apigee در GDC air-gapped اعمال می‌شود:

    • ‫Apigee on GDC air-gapped با سرورهای ساناد ارائه نمی‌شود و از تجزیه‌وتحلیل ساناد محلی به‌عنوان راهکار موقت استفاده می‌کند. اگر Apigee on GDC air-gapped در محیطی با سرورهای ساناد خارجی مستقر شده است، مراحلی را که ساناد محلی را پیکربندی می‌کند با پیکربندی ورودی‌های ساناد در سرورهای ساناد جایگزین کنید.
    • ‫Apigee on GDC air-gapped شامل سرور SMTP مستقل نمی‌شود. هرزمان بخواهید می‌توانید سرور SMTP را پیکربندی کنید تا اعلان‌های ایمیل خروجی برای ایجاد حساب و بازنشانی گذرواژه از «سرور مدیریت» و «واسط کاربر مدیریت» فعال شود. «میاناهای برنامه‌سازی کاربردی مدیریت» برای مدیریت حساب کاربری Apigee دردسترس باقی می‌ماند. برای کسب اطلاعات بیشتر، پیکربندی سرور SMTP Edge را ببینید.
    • ‫Apigee در GDC بدون اتصال به اینترنت، تشخیص و جلوگیری از ورود غیرمجاز را پیاده‌سازی نمی‌کند. برای شناسایی و جلوگیری از فعالیت‌های مخرب، «سیستم جلوگیری از نفوذ» (IPS) مانند Snort را نصب و پیکربندی کنید.

    دریافت فایل‌های موردنیاز

    برای دریافت فایل‌های نصب، ابتدا باید گره متصلی را راه‌اندازی کنید و سپس فایل‌ها را بارگیری کنید.

    راه‌اندازی گره متصل

    گره متصل یک ماشین مجازی واحد خارج از GDC است که از آن برای بارگیری فایل‌های نصب استفاده می‌کنید. این ماشین مجازی به دسترسی به اینترنت نیاز دارد و فقط برای فرایند نصب استفاده می‌شود.

    گره متصل به ظرفیت و پیکربندی زیر نیاز دارد:

    • سیستم‌عامل: Rocky Linux 8
    • اندازه ماشین: ۸ گیگابایت حافظه دسترسی تصادفی؛ ۲ هسته CPU مجازی؛ ۶۴ گیگابایت فضای ذخیره‌سازی دیسک محلی
    • اتصال‌پذیری:
      • ورودی: ‏TCP 22 (SSH)
      • خروجی: اینترنت

    برای ایجاد گره متصل، دستورالعمل‌های ایجاد و شروع نمونه ماشین مجازی را دنبال کنید. پس‌از ایجاد ماشین مجازی، دستورالعمل‌های اتصال به ماشین‌های مجازی Linux را دنبال کنید. برای اتصال به ماشین مجازی. برای فهرست سیستم‌عامل‌های پشتیبانی‌شده، سیستم‌عامل‌های پشتیبانی‌شده GDC را ببینید.

    بارگیری فایل‌های نصب

    برای بارگیری فایل‌های نصب:

    1. یادداشت‌های انتشار Apigee Edge for Private Cloud را برای جدیدترین نسخه رسمی انتشار پشتیبانی‌شده برای GDC، همان‌طور که در ستون Edge for Private Cloud ذکر شده است، بررسی کنید.
    2. فایل راه‌اندازی 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.
    3. آخرین فایل Apigee Edge for Private Cloud bootstrap_VERSION.sh را در /tmp/bootstrap_VERSION.sh بارگیری کنید:
      curl https://software.apigee.com/bootstrap_VERSION.sh -o /tmp/bootstrap_VERSION.sh

      در اینجا VERSION جدیدترین نسخه انتشار Apigee Edge for Private Cloud برای استفاده در GDC است که می‌خواهید نصب کنید، برای مثال، 4.53.01.

    4. ابزار 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 است که قصد دارید نصب کنید.

    5. دستورگان راه‌اندازی را در گره متصل اجرا کنید:
      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
    6. فایل‌های موردنیاز را از گره متصل‌شده ازطریق 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 گره متصل است.

    راه‌اندازی کردن مخزن ذخیره‌سازی

    در این مرحله، اپراتور GDC یک مخزن فضای ذخیره‌سازی در پروژه GDC راه‌اندازی می‌کند تا فایل‌های پشتیبان Apigee Edge for Private Cloud را در آن ذخیره کند.

    ایجاد کردن مخزن ذخیره‌سازی

    برای ایجاد باکت فضای ذخیره‌سازی در پروژه GDC:

    1. با خوشه سرپرست سازمان اصالت‌سنجی کنید:
      gdcloud auth login --login-config-cert WEB_TLS_CERT
      gdcloud clusters get-credentials ORG_ADMIN_CLUSTER

      مکان:

      • ‫WEB_TLS_CERT مسیر گواهینامه وب TLS است.
      • ‫ORG_ADMIN_CLUSTER نام خوشه GKE سرپرست سازمان است.

    2. متغیرهای محیط پروژه و باکت را تنظیم کنید:
      export PROJECT=PROJECT
      export BUCKET=BUCKET_NAME

      مکان:

      • ‫PROJECT نام پروژه GDC شما است.
      • ‫BUCKET_NAME نام سطلی است که می‌خواهید برای ذخیره کردن فایل‌های پشتیبان Apigee Edge for Private Cloud ایجاد کنید.
    3. پیکربندی دسته‌بندی را اعمال کنید:
      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

      این پیکربندی سطلی با دوره نگهداری ۳۰ روزه ایجاد می‌کند.

    پیکربندی دسترسی به سطل

    برای پیکربندی دسترسی به سطل ذخیره‌سازی:

    1. ایجاد حساب سرویس در پروژه:
      gdcloud iam service-accounts create $BUCKET-sa \
          --project=$PROJECT
    2. نقش و اتصال نقش را برای تولید رمز دسترسی به محفظه ایجاد کنید:
      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
    3. شناسه کلید دسترسی و کلید را از رمز دریافت کنید:
      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==
    4. راز را ایجاد کنید تا بارگذارنده در خوشه GKE کاربر از آن استفاده کند:
      1. با خوشه GKE کاربر اصالت‌سنجی کنید:
        gdcloud clusters get-credentials USER_CLUSTER

        که در آن USER_CLUSTER نام خوشه GKE کاربر است.

      2. پیکربندی رمز را اعمال کنید:
        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 کلید دسترسی است که در مرحله قبلی به‌دست آمده است.
    5. نقطه پایانی فضای ذخیره‌سازی، نام دامنه کاملاً واجدشرایط (FQDN)، و منطقه دسته‌بندی را دریافت کنید:
      1. با خوشه سرپرست سازمان اصالت‌سنجی کنید:
        gdcloud clusters get-credentials ORG_ADMIN_CLUSTER

        که در آن ORG_ADMIN_CLUSTER نام خوشه GKE سرپرست سازمان است.

      2. نقطه پایانی فضای ذخیره‌سازی، نام دامنه کاملاً واجدشرایط (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
    6. مقادیر زیر را در فایل apigee/helm_user_cluster/values-cookie-air-gapped.yaml به‌روز کنید:
      objectstorekeyname: "apigee-backup-bucket-secret"
      objectstoreurl: "BUCKET_ENDPOINT"
      objectstorebucket: "BUCKET_FQDN"

      مکان:

      • ‫BUCKET_ENDPOINT نقطه پایانی مخزن به‌دست‌آمده در مرحله قبلی است.
      • ‫BUCKET_FQDN نام دامنه کاملاً واجدشرایط مربوط به سطلی است که در مرحله قبلی به‌دست آمده است.

    راه‌اندازی گره مخزن

    در این مرحله، اپراتور GDC یک گره مخزن را برای میزبانی مخزن آینه‌ای Apigee Edge for Private Cloud راه‌اندازی می‌کند.

    ایجاد گره مخزن

    برای ایجاد گره مخزن:

    1. ‫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 غیرفعال باشند. این گره‌ها در مرحله بعدی مستقر می‌شوند.

    2. دریافت اطلاعات اعتباری برای خوشه سرپرست سازمان:
      gdcloud clusters get-credentials ORG_ADMIN_CLUSTER

      که در آن ORG_ADMIN_CLUSTER نام خوشه GKE سرپرست سازمان است.

    3. محیط مجازی Python بسازید:
      python3 -m venv venv /
      source venv/bin/activate
    4. دستورگان پیاده‌سازی را برای ایجاد گره مخزن اجرا کنید:
      python apigee/solution_deploy.py gdc-air-gapped

    پیکربندی دسترسی گره مخزن

    برای پیکربندی دسترسی به گره مخزن:

    1. ‫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 شما است.

    2. نشانی IP خارجی را برای گره مخزن دریافت کنید:
      kubectl get virtualmachineexternalaccess -n $PROJECT $NODE -ojsonpath='{.status.ingressIP}'
    3. نشانی IP داخلی گره مخزن را دریافت کنید:
      kubectl get virtualmachines.virtualmachine.gdc.goog -n $PROJECT $NODE -ojsonpath='{.status.network.interfaces[1].ipAddresses[0]}'

    بارگذاری فایل‌های نصب

    در این مرحله، کارگزار GDC جدیدترین نسخه فایل‌های زیر را در گره مخزن بارگذاری می‌کند:

    • apigee-4.53.01
    • apigee-nginx.tar
    • postgresql14.tar
    • fluentbit.tar
    • ansible-rpms.tar
    • apigee-repos.tar

    برای بارگذاری فایل‌های نصب:

    1. فایل کلید خصوصی SSH را در گره مخزن کپی کنید:
      scp -i SSH_PRIVATE_KEY_FILE ~/apigee-files/* admin@REPO_EXTERNAL_IP:/tmp

      مکان:

      • SSH_PRIVATE_KEY_FILE نام فایلی است که حاوی کلید خصوصی SSH شما است.
      • ‫REPO_EXTERNAL_IP نشانی IP خارجی گره مخزن است که در مرحله قبلی به‌دست آمده است.
    2. پوشه حاوی پیکربندی‌های 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 خارجی گره مخزن است.

    پیکربندی مخزن آینه‌ای

    برای پیکربندی مخزن آینه‌ای:

    1. ‫apigee/scripts/repo_setup.sh را در گره مخزن کپی کنید.
    2. در این دستورگان، REPO_USER و REPO_PASSWORD را با نام کاربری و گذرواژه موردنظر برای مخزن آینه‌ای جایگزین کنید.
    3. اجرای متن:
      chmod a+x repo_setup.sh
      ./repo_setup.sh

      اگر با خطای No such file or directory مواجه شدید، دوباره این دستورگان را اجرا کنید.

    4. اتصال به مخزن آینه را به‌صورت محلی از گره مخزن آزمایش کنید.
      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 که می‌خواهید نصب کنید جایگزین کنید.

    مستقر کردن گره‌های Apigee

    در این مرحله، اپراتور GDC گره‌های مدیریت Apigee API را مستقر می‌کند.

    ایجاد گره‌های Apigee

    برای ایجاد گره‌های مدیریت Apigee API:

    1. ‫REPO_INTERNAL_IP، REPO_USER_NAME، و REPO_PASSWORD را در apigee/helm/scripts/apigee_setup.sh با مقادیر موردنظر جایگزین کنید.
    2. مقادیر را به‌عنوان متغیرهای محیط صادر کنید:
      export REPO_IP=REPO_INTERNAL_IP
      export REPO_USER=REPO_USER_NAME
      export REPO_PASSWORD=REPO_PASSWORD
    3. apigee_node را در apigee/helm/values-cookie-air-gapped.yaml همان‌طور که نشان داده شده است فعال کنید::
      apigee_node:
        enabled: true
      
    4. برای ایجاد گره‌های Apigee، دستورگان استقرار را اجرا کنید:
        source venv/bin/activate
        python apigee/solution_deploy.py gdc-air-gapped

    پیکربندی دسترسی گره Apigee

    دسترسی به گره‌های مدیریت Apigee API را پیکربندی کنید:

    1. با خوشه سرپرست سازمان اصالت‌سنجی کنید:
      gdcloud clusters get-credentials ORG_ADMIN_CLUSTER

      که در آن ORG_ADMIN_CLUSTER نام خوشه GKE سرپرست سازمان است.

    2. برای هر گره، کلید 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 شما است.

    3. نشانی‌های IP خارجی را برای گره‌های Apigee دریافت کنید:
      for i in 1 2 3 4 5; do
        kubectl get virtualmachineexternalaccess -n $PROJECT node$i -ojsonpath='{.status.ingressIP}'
        echo
        done
    4. نشانی‌های 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
    5. (اختیاری) بررسی کنید که آیا دستورگان راه‌اندازی در گره‌های Apigee باموفقیت اجرا می‌شوند:
      1. بااستفاده از SSH به گره بروید و فرمان زیر را اجرا کنید:
        sudo journalctl -u cloud-final -f
      2. گزارش‌های مشابه موارد زیر را پیدا کنید:
        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

    راه‌اندازی گره کنترل

    در این مرحله، اپراتور GDC یک گره کنترل برای مدیریت نصب‌های Apigee راه‌اندازی می‌کند.

    ایجاد گره کنترل

    برای ایجاد گره کنترل:

    1. ‫REPO_INTERNAL_IP،‏ REPO_USER_NAME، و REPO_PASSWORD را در apigee/helm/scripts/control_setup.sh با مقادیر موردنظر جایگزین کنید.
    2. ‫control_node را در apigee/helm/values-cookie-air-gapped.yaml فعال کنید، همان‌طور که نشان داده شده است:
      control_node:
        enabled: true
      
    3. برای ایجاد گره کنترل، دستورگان پیاده‌سازی را اجرا کنید:
      source venv/bin/activate
      python apigee/solution_deploy.py gdc-air-gapped

    پیکربندی دسترسی گره کنترل

    برای پیکربندی دسترسی گره کنترل:

    1. دسترسی «پوسته ایمن» به گره کنترل را پیکربندی کنید:
      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
    2. نشانی IP خارجی را برای گره کنترل دریافت کنید:
      kubectl get virtualmachineexternalaccess -n $PROJECT control -ojsonpath='{.status.ingressIP}'
    3. نشانی IP داخلی گره کنترل را دریافت کنید:
      kubectl get virtualmachines.virtualmachine.GDC.goog -n $PROJECT control -ojsonpath='{.status.network.interfaces[1].ipAddresses[0]}'

    پیکربندی Ansible

    در این مرحله، اپراتور GDC محیط را در گره کنترل راه‌اندازی می‌کند.

    برای پیکربندی محیط Ansible:

    1. ازطریق SSH به گره کنترل متصل شوید و محیط Ansible را راه‌اندازی کنید:
      cd /home/admin
      cp -r /tmp/apigee-repos .
      cd apigee-repos/ansible-opdk-accelerator/setup
    2. جایگزین کردن مخازن git راه دور با فایل محلی:
      sed -i 's/https:\/\/github.com\/carlosfrias/git+file:\/\/\/home\/admin\/apigee-repos/g'  requirements.yml
      sed -i 's/\.git$//g'  requirements.yml
      
    3. Install Ansible requirements:
        sudo chown -R admin /home/admin/apigee-repos
        ansible-galaxy install -r requirements.yml -f
    4. پیکربندی راه‌اندازی را به‌روزرسانی کنید:
      1. ویرایش فایل main.yml:
        vi ~/apigee-repos/ansible-opdk-accelerator/setup/roles/apigee-opdk-setup-ansible-controller/tasks/main.yml
      2. تکالیفی را که به دسترسی GitHub نیاز دارند بردارید:
        • بررسی Git SSH مخزن‌های پیکربندی
        • بررسی Git HTTPS مخزن‌های پیکربندی
      3. اجرای کتابچه نمایشی راه‌اندازی:
        cd ~/apigee-repos/ansible-opdk-accelerator/setup
        ansible-playbook setup.yml
    5. کلید 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 خارجی گره کنترل است.
    6. فایل پیکربندی فهرستگان Ansible را ایجاد کنید:
      1. محتوای فایل apigee/scripts/ansible/prod.cfg را در فایل prod.cfg کپی کنید:
        vi ~/.ansible/multi-planet-configurations/prod.cfg
      2. پوشه edge-dc1 را ایجاد کنید و محتوای فایل apigee/scripts/ansible/edge-dc1 را در فایل edge-dc1 کپی کنید:
        mkdir ~/.ansible/inventory/prod
        vi ~/.ansible/inventory/prod/edge-dc1
    7. نشانی‌های 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 است که در مرحله قبلی به‌دست آمده است.

    8. فایل ~/.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 است.

    9. فایل پروانه‌ای با فایل پروانه Apigee Edge for Private Cloud معتبر اضافه کنید. نام فایل باید license.txt باشد.
    10. محتوای فایل ~/.apigee-secure/license.txt را در license.txt که به‌تازگی ایجاد کرده‌اید کپی کنید.
    11. مقادیر زیر را در فایل ~/.apigee/custom-properties.yml پیکربندی کنید:
      • opdk_version: 'OPDK_VERSION'
      • apigee_repo_url: 'APIGEE_REPO_URL'

      مکان:

      • ‫OPDK_VERSION نسخه Apigee Edge for Private Cloud است که می‌خواهید نصب کنید.
      • ‫APIGEE_REPO_URL نشانی وب مخزن Apigee است.

    12. فایل پیکربندی را به‌عنوان متغیر محیطی صادر کنید:
      export ANSIBLE_CONFIG=~/.ansible/multi-planet-configurations/prod.cfg

    نصب مؤلفه‌های Apigee

    در این مرحله، عامل GDC مؤلفه‌های Apigee را بااستفاده از Ansible نصب می‌کند.

    برای نصب عناصر Apigee:

    1. جایگزین کردن مخازن 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
    2. الزامات Ansible را نصب کنید:
      ansible-galaxy install -r requirements.yml -f
    3. نقش‌های 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
    4. محتوای فایل install.yml را با محتوای apigee/scripts/ansible/install.yml جایگزین کنید.
    5. کتابچه نمایشی را برای نصب مؤلفه‌های Apigee اجرا کنید:
      ansible-playbook install.yml
    6. پیوند بازنشانی گذرواژه کاربر را در واسط کاربر Edge غیرفعال کنید. ‫Apigee on GDC air-gapped شامل سرور SMTP نمی‌شود. مراحل ذکرشده در غیرفعال کردن پیوند بازنشانی گذرواژه در واسط کاربر Edge را دنبال کنید.

    پیاده‌سازی واحدها و سرویس‌ها

    در این مرحله، واحد‌های بارگذار، پراکسی معکوس، ترازکننده بار، و گزارش‌گیری و سرویس‌ها را مستقر می‌کنید.

    برای استقرار غلاف‌ها و سرویس‌ها:

    1. برای ایجاد نمونه Harbor در پروژه GDC dev-apigee، دستورالعمل‌های ایجاد نمونه‌های ثبت Harbor را دنبال کنید.
    2. برای ایجاد پروژه Harbor به‌نام apigee، دستورالعمل‌های ایجاد پروژه‌های Harbor را دنبال کنید.
    3. برای راه‌اندازی کنترل دسترسی برای پروژه Harbor، دستورالعمل‌های پیکربندی کنترل دسترسی را دنبال کنید.
    4. برای پیکربندی اصالت‌سنجی Docker، دستورالعمل‌های وارد شدن به سیستم Docker و Helm را دنبال کنید.
    5. نشانی‌های 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 خارجی گره Apigee1 است که در مرحله قبلی به‌دست آمده است.
      • ‫APIGEE_NODE2_EXTERNAL_IP نشانی IP خارجی گره Apigee2 است که در مرحله قبلی به‌دست آمده است.
      • ‫APIGEE_NODE3_EXTERNAL_IP نشانی IP خارجی گره Apigee3 است که در مرحله قبلی به‌دست آمده است.

    6. فایل گواهینامه 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
    7. مقدار SSH-PASSWORD را برای کاربر ریشه در محتوی بارگذارنده در فایل apigee/uploader/Dockerfile به‌روز کنید:
      RUN echo 'root:SSH_PASSWORD' | chpasswd
    8. اطلاعات اعتباری خوشه کاربر را دریافت کنید:
      gdcloud clusters get-credentials USER_CLUSTER

      که در آن USER_CLUSTER نام خوشه GKE کاربر است.

    9. دستورگان پیاده‌سازی را برای پیاده‌سازی واحدها و سرویس‌ها اجرا کنید:
      source venv/bin/activate
      python apigee/solution_deploy_user_cluster.py gdc-air-gapped
    10. نشانی‌های IP خارجی سرویس‌ها را دریافت کنید:
      kubectl get svc -n $PROJECT_ID

    به‌روزرسانی IPهای بارگذارنده و انتقال‌دهنده Fluent Bit

    در این مرحله، نشانی‌های IP بارگذار و ارسال‌کننده Fluent Bit را در نسخه پشتیبان و نوشتارهای راه‌اندازی Apigee به‌روزرسانی می‌کنید.

    1. به‌روزرسانی 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 خارجی سرویس بارگذار است که در مرحله قبلی به‌دست آمده است.

    2. به‌روزرسانی FLUENTBIT_EXTERNAL_IP در apigee/helm/scripts/apigee_setup.sh:
      export FLUENTBIT_EXTERNAL_IP=FLUENTBIT_EXTERNAL_IP

    به‌روزرسانی کردن دستورگان راه‌اندازی مستلزم بازراه‌اندازی گره‌های Apigee است. برای بازراه‌اندازی گره‌ها:

    1. توقف ماشین‌های مجازی:
      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
    2. نمودار Helm را مجدداً مستقر کنید:
      python apigee/solution_deploy.py gdc-air-gapped
    3. شروع ماشین‌های مجازی:
      for i in 1 2 3 4 5; do
        GDCloud compute instances start node$i --project $PROJECT
        done

    سازمان Apigee را آماده کنید

    در این مرحله، اپراتور GDC سازمان Apigee را با اجرای یک اسکریپت راه‌اندازی روی node1 آماده می‌کند.

    برای آماده‌سازی سازمان Apigee:

    1. مقادیر زیر را در 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 داخلی گره Apigee است که در مرحله قبلی به‌دست آمده است.
      • ‫APIGEE_NODE2_EXTERNAL_IP نشانی IP خارجی گره Apigee2 است که در مرحله قبلی به‌دست آمده است.
      • ‫APIGEE_NODE3_EXTERNAL_IP نشانی IP خارجی گره Apigee3 است که در مرحله قبلی به‌دست آمده است.

    2. دستورگان را در node1 اجرا کنید تا سازمان را آماده کنید:
      chmod a+x apigee_org_setup.sh
      ./apigee_org_setup.sh

    آزمایش اتصال‌پذیری HTTP

    در این مرحله، اتصال‌پذیری HTTP را برای «میانای برنامه‌سازی کاربردی مدیریت» و پراکسی API آزمایش خواهید کرد.

    برای آزمایش اتصال‌پذیری HTTP:

    1. دریافت نشانی 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، و پراکسی API عمل می‌کند.

    امتحان کردن 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"

    مکان:

    • ‫APIGEE_ELB_EXTERNAL_IP نشانی IP خارجی سرویس apigee-elb است که در مرحله قبلی به‌دست آمده است.
    • ‫ORG_NAME نام سازمان Apigee است.
    • ‫ENV_NAME نام محیط Apigee است.

    آزمایش پراکسی میانای برنامه‌سازی کاربردی

    برای آزمایش کردن پراکسی میانای برنامه‌سازی کاربردی:

    1. به سیستم واسط کاربر Edge وارد شوید.
    2. در صفحه پراکسی‌های API، روی ایجاد کلیک کنید تا پراکسی API جدیدی ایجاد کنید.
    3. در صفحه جزئیات پراکسی، مقادیر زیر را وارد کنید:
      • نوع پراکسی: بدون هدف را انتخاب کنید.
      • نام پراکسی: ok
      • مسیر پایه: /ok
      • هدف: http://APIGEE_ELB_EXTERNAL_IP:9001
    4. برای ایجاد پراکسی API، روی ایجاد کلیک کنید.
    5. درخواست HTTP به /ok ارسال کنید:
      curl -i http://APIGEE_ELB_EXTERNAL_IP:9001/ok
    6. تأیید کنید که پاسخ 200 OK است.

    پیکربندی «امنیت لایه انتقال» و آزمایش HTTPS

    در این مرحله، اپراتور GDC «امنیت لایه انتقال» (TLS) را برای پراکسی API، «میانای کاربر Edge»، و «میانای برنامه‌سازی کاربردی مدیریت» پیکربندی می‌کند.

    پیکربندی «امنیت لایه انتقال» برای پراکسی میانای برنامه‌سازی کاربردی

    1. مراحل ایجاد keystore/truststore و نام مستعار را برای ایجاد گواهینامه خودامضا با مقادیر زیر دنبال کنید:
      • KeyStore: myTestKeystore
      • KeyAlias: myKeyAlias
      • نام معمول: apigeetest.com
    2. برای ایجاد میزبان مجازی با نام api.apigeetest.com، یک فراخوانی API انجام دهید:
      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 است که میزبان مجازی باید در آن ایجاد شود.
    3. بااستفاده از میزبان مجازی امن، پراکسی API ایجاد کنید.
    4. در مسیریاب‌ها، وضوح ساناد را برای میزبان‌های مجازی پیکربندی کنید:
      echo '127.0.0.1 api.apigeetest.com' | sudo tee -a /etc/hosts
    5. با ارسال درخواست HTTPS به نقطه پایانی، تأیید کنید که میزبان‌های مجازی به‌صورت محلی کار می‌کنند:
      curl https://api.apigeetest.com:9005/ok -v -k
    6. پیکربندی تفکیک نام ساناد برای نقطه پایانی:
      echo 'APIGEE_ELB_EXTERNAL_IP apigeetest.com' | sudo tee -a /etc/hosts

      که در آن APIGEE_ELB_EXTERNAL_IP نشانی IP خارجی سرویس apigee-elb است که در مرحله قبلی به‌دست آمده است.

    7. در مرورگر وب به https://apigeetest.com/ok بروید و تأیید کنید که کار می‌کند.

    پیکربندی «امنیت لایه انتقال» برای «واسط کاربر Edge»

    برای پیکربندی «امنیت لایه انتقال» برای «میانای کاربری Edge»:

    1. فایل انبار کلید را از فایل گواهینامه 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
    2. فایل انبار کلید را در پوشه 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 خارجی گره Apigee1 است که در مرحله قبلی به‌دست آمده است.

    3. بااستفاده از SSH به node1 بروید و فایل انبار کلید را به پوشه Apigee منتقل کنید:
      sudo mv keystore.jks /opt/apigee/customer/application/
    4. فایل پیکربندی SSL را ایجاد کنید:
      sudo vi /tmp/sslConfigFile
    5. مقدار 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
    6. پیکربندی SSL بااستفاده از فایل پیکربندی:
      sudo chown apigee:apigee /tmp/sslConfigFile
      /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f /tmp/sslConfigFile
    7. پیکربندی تفکیک ساناد برای «واسط کاربر Edge»:
      echo 'APIGEE_ELB_EXTERNAL_IP ui.apigeetest.com' | sudo tee -a /etc/hosts

      که در آن APIGEE_ELB_EXTERNAL_IP نشانی IP خارجی سرویس apigee-elb است که در مرحله قبلی به‌دست آمده است.

    8. در مرورگر وب به https://ui.apigeetest.com:9443 دسترسی پیدا کنید و تأیید کنید که کار می‌کند. برای جزئیات بیشتر، به راهنما مراجعه کنید.

    پیکربندی «امنیت لایه انتقال» برای «میانای برنامه‌سازی کاربردی مدیریت»

    برای پیکربندی «امنیت لایه انتقال» برای «میانای برنامه‌سازی کاربردی مدیریت»:

    1. مالک فایل انبار کلید را پیکربندی کنید (از همان مالک «واسط کاربر Edge» استفاده کنید):
      sudo chown apigee:apigee /opt/apigee/customer/application/keystore.jks
    2. فایل دارایی‌ها را ایجاد کنید:
      sudo vi /opt/apigee/customer/application/management-server.properties
    3. مقدار 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
    4. برای اعمال تغییرات، سرور مدیریت را بازراه‌اندازی کنید:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    5. تأیید کنید که HTTPS به‌صورت محلی کار می‌کند:
      curl -u "opdk@apigee.com:Apigee123!" "https://localhost:8443/v1/users" -k
    6. از مشتری، در مرورگر به https://apigeetest.com:8443/v1/users دسترسی پیدا کنید. نام کاربری و گذرواژه سرپرست را وارد کنید تا تأیید کنید اطلاعات اعتباری به‌درستی پیکربندی شده است.

    قدم بعدی چیست