نمای کلی نصب Edge

Edge for Private Cloud نسخه 4.16.09

یک نصب معمولی Edge شامل اجزای Edge است که در چندین گره توزیع شده اند. پس از نصب Edge بر روی یک گره، سپس یک یا چند جزء Edge را روی گره نصب و پیکربندی می‌کنید.

فرآیند نصب

نصب Edge بر روی یک گره یک فرآیند چند مرحله ای است:

  • SELinux را در گره غیرفعال کنید یا آن را روی حالت مجاز قرار دهید. برای اطلاعات بیشتر به نصب ابزار Edge apigee-setup مراجعه کنید.
  • پیکربندی Edge خود را از لیست توپولوژی های توصیه شده انتخاب کنید. به عنوان مثال، می توانید Edge را برای آزمایش روی یک گره یا برای تولید روی 13 گره نصب کنید. برای اطلاعات بیشتر به توپولوژی های نصب مراجعه کنید.
  • در هر گره در توپولوژی انتخابی خود، ابزار Edge apigee-setup را نصب کنید:
    • فایل Edge bootstrap_4.16.09.sh را در /tmp/bootstrap_4.16.09.sh دانلود کنید.
    • ابزار Edge apigee-service و Dependencies را نصب کنید.
    • ابزار Edge apigee-setup و Dependencies را نصب کنید.

      برای اطلاعات بیشتر به نصب ابزار Edge apigee-setup مراجعه کنید.
  • از ابزار apigee-setup برای نصب یک یا چند جزء Edge بر روی هر گره بر اساس توپولوژی انتخابی خود استفاده کنید.
    به نصب اجزای لبه روی یک گره روی یک گره مراجعه کنید.
  • در گره مدیریت سرور، از ابزار apigee-setup برای نصب apigee-provision استفاده کنید، ابزارهایی که برای ایجاد و مدیریت سازمان های Edge استفاده می کنید.
    برای اطلاعات بیشتر به یک سازمان مراجعه کنید.

رسیدگی به خرابی نصب

در صورت خرابی در هنگام نصب کامپوننت Edge، می توانید سعی کنید مشکل را اصلاح کنید و سپس نصب کننده را دوباره اجرا کنید. نصب کننده طوری طراحی شده است که در مواردی که نقصی را تشخیص دهد، یا اگر بعداً بخواهید پس از نصب یک مؤلفه را تغییر دهید یا به روز کنید، به طور مکرر اجرا شود.

Replication Master-standby Postgres را پیکربندی کنید

به طور پیش فرض، Edge تمام گره های Postgres را در حالت اصلی نصب می کند. با این حال، در سیستم‌های تولیدی با چندین گره Postgres، آنها را به گونه‌ای پیکربندی می‌کنید که از replication master-standby استفاده کنند تا اگر گره اصلی از کار بیفتد، گره آماده به کار بتواند به ترافیک ادامه دهد. برای اطلاعات بیشتر به تنظیم Master-Standby Replication برای Postgres مراجعه کنید.

چه کسی می تواند نصب را انجام دهد

فایل های توزیع Apigee Edge به عنوان مجموعه ای از RPM ها و وابستگی ها نصب می شوند. برای نصب، حذف و به‌روزرسانی Edge، دستورات Edge باید توسط کاربر root یا کاربری که دسترسی کامل sudo دارد اجرا شود. برای دسترسی کامل به sudo، این بدان معناست که کاربر به sudo دسترسی دارد تا همان عملیات روت را انجام دهد.

هر کاربری که می‌خواهد دستورات یا اسکریپت‌های زیر را اجرا کند باید یا root باشد یا کاربر با دسترسی کامل sudo باشد:

  • ابزار apigee-service :
    • دستورات apigee-service : install, uninstall, update .
    • دستورات apigee-all : install, uninstall, update .
  • اسکریپت setup.sh برای نصب اجزای Edge (مگر اینکه قبلاً از " apigee-service install " برای نصب RPM های مورد نیاز استفاده کرده باشید. سپس در صورت عدم نیاز به دسترسی root یا sudo کامل.)
  • اسکریپت update.sh برای به روز رسانی اجزای Edge

همچنین، نصب کننده Edge یک کاربر جدید به نام "apigee" در سیستم شما ایجاد می کند. بسیاری از دستورات Edge از sudo برای اجرا به عنوان کاربر "apigee" فراخوانی می کنند.

هر کاربری که بخواهد همه دستورات دیگر را غیر از دستورات نشان داده شده در بالا اجرا کند، باید کاربری با دسترسی کامل sudo به کاربر "apigee" باشد. این دستورات عبارتند از:

  • دستورات کاربردی apigee-service ، از جمله:
    • دستورات apigee-service مانند start، stop، restart، configure .
    • apigee-همه دستورات مانند start، stop، restart، configure .

برای پیکربندی کاربر برای دسترسی کامل sudo به کاربر "apigee"، فایل sudoers را ویرایش کنید تا اضافه شود:

installUser        ALL=(apigee)      NOPASSWD: ALL

که installUser نام کاربری شخصی است که با Edge کار می کند.

هر فایل یا منبعی که توسط دستورات Edge استفاده می شود باید برای کاربر "apigee" قابل دسترسی باشد. این شامل فایل مجوز Edge و هر فایل پیکربندی است.

هنگام ایجاد یک فایل پیکربندی، می توانید مالک آن را به "apigee:apigee" تغییر دهید تا اطمینان حاصل کنید که برای دستورات Edge قابل دسترسی است:

  1. فایل را مانند هر کاربر در ویرایشگر ایجاد کنید.
  2. مالک فایل را به "apigee:apigee" انتخاب کنید یا اگر کاربری که سرویس Edge را اجرا می کند از کاربر "apigee" تغییر داده اید، فایل را برای کاربری که سرویس Edge را اجرا می کند، انتخاب کنید.

محل فایل های پیکربندی نصب

شما باید یک فایل پیکربندی را به ابزار apigee-setup ارسال کنید که حاوی اطلاعات مربوط به نصب Edge است. تنها مورد نیاز در نصب های بی صدا این است که فایل پیکربندی باید توسط کاربر "apigee" قابل دسترسی یا خواندن باشد. به عنوان مثال، فایل را در پوشه /usr/local/var یا /usr/local/share روی گره قرار دهید و آن را به صورت "apigee:apigee" انتخاب کنید.

تمام اطلاعات موجود در فایل پیکربندی به جز رمز عبور مدیر سیستم Edge مورد نیاز است. اگر رمز عبور را حذف کنید، ابزار apigee-setup از شما می خواهد که آن را در خط فرمان وارد کنید.

برای اطلاعات بیشتر به نصب اجزای Edge روی یک گره مراجعه کنید.

نصب اینترنتی یا غیراینترنتی

برای نصب Edge بر روی یک گره، گره باید بتواند به مخزن Apigee دسترسی داشته باشد:

  • گره هایی با اتصال اینترنت خارجی

    گره هایی با اتصال اینترنت خارجی به مخزن Apigee دسترسی دارند تا RPM ها و وابستگی های Edge را نصب کنند.
  • گره های بدون اتصال به اینترنت خارجی

    گره‌های بدون اتصال به اینترنت خارجی می‌توانند به نسخه آینه‌ای از مخزن Apigee که به صورت داخلی تنظیم کرده‌اید دسترسی داشته باشند. این مخزن شامل تمام RPM های Edge است، اما باید اطمینان حاصل کنید که تمام وابستگی های دیگر را از مخازن در شبکه داخلی در دسترس دارید.

    توجه : Apigee همه وابستگی های شخص ثالث را در مخازن عمومی ما میزبانی نمی کند. شما باید این وابستگی ها را از مخازن در دسترس عموم دانلود و نصب کنید.

رفع وابستگی نصب RPM

فایل‌های توزیع Apigee Edge به‌عنوان مجموعه‌ای از فایل‌های RPM نصب می‌شوند که هر کدام می‌توانند زنجیره‌ای از وابستگی‌های نصب خود را داشته باشند. بسیاری از این وابستگی ها توسط مؤلفه های شخص ثالثی تعریف می شوند که خارج از کنترل Apigee هستند و می توانند در هر زمان تغییر کنند. بنابراین، اسناد شماره نسخه صریح هر وابستگی را فهرست نمی‌کند.

اگر در حال نصب بر روی دستگاهی با دسترسی به اینترنت هستید، گره می تواند RPM ها و وابستگی های لازم را دانلود کند. با این حال، اگر از یک گره بدون دسترسی به اینترنت نصب می‌کنید، معمولاً یک مخزن داخلی حاوی تمام وابستگی‌های لازم تنظیم می‌کنید. تنها راه برای تضمین اینکه همه وابستگی‌ها در مخزن محلی شما گنجانده شده‌اند، تلاش برای نصب، شناسایی وابستگی‌های گمشده و کپی کردن آنها در مخزن محلی تا زمانی که نصب با موفقیت انجام شود، است.

راه اندازی هاست مجازی

یک میزبان مجازی در Edge دامنه ها و پورت های Edge Router را که یک پراکسی API در معرض آن قرار می گیرد، و با فرمت، URL را که برنامه ها برای دسترسی به یک پراکسی API استفاده می کنند، تعریف می کند. یک میزبان مجازی همچنین تعیین می کند که آیا پروکسی API با استفاده از پروتکل HTTP یا با پروتکل HTTPS رمزگذاری شده قابل دسترسی است.

به عنوان بخشی از فرآیند نصب Edge، شما باید یک سازمان، محیط و میزبان مجازی ایجاد کنید. Edge دستور setup-org را برای آسان‌تر کردن این فرآیند برای کاربران جدید ارائه می‌کند.

هنگام ایجاد هاست مجازی، باید اطلاعات زیر را مشخص کنید:

  • نام میزبان مجازی که برای ارجاع به آن در پراکسی های API خود استفاده می کنید.
  • پورت روی روتر برای میزبان مجازی. به طور معمول این پورت ها از 9001 شروع می شوند و برای هر میزبان مجازی جدید یک عدد افزایش می یابند.
  • نام مستعار میزبان میزبان مجازی. معمولاً نام DNS میزبان مجازی.

Edge Router هدر Host درخواست ورودی را با لیست نام مستعار میزبان موجود به عنوان بخشی از تعیین پراکسی API که درخواست را مدیریت می کند مقایسه می کند. هنگام درخواست از طریق یک میزبان مجازی، یا نام دامنه ای را مشخص کنید که با نام مستعار میزبان مجازی مطابقت داشته باشد، یا آدرس IP روتر و هدر میزبان حاوی نام مستعار میزبان را مشخص کنید.

برای مثال، اگر یک میزبان مجازی با نام مستعار میزبان myapis.apigee.net در پورت 9001 ایجاد کرده باشید، درخواست cURL به یک API از طریق آن میزبان مجازی می تواند از یکی از اشکال زیر استفاده کند:

  • اگر یک ورودی DNS برای myapis.apigee.net دارید:

    curl http:// myapis.apigee.net :9001/{proxy-base-path}/{resource-path}
  • اگر ورودی DNS برای myapis.apigee.net ندارید:

    curl http:// <routerIP>:9001 /{proxy-base-path}/{resource-path} -H 'میزبان: myapis.apigee.net'

    در این فرم، آدرس IP روتر را مشخص می‌کنید و نام مستعار میزبان را در هدر Host ارسال می‌کنید.

    توجه : دستور curl، اکثر مرورگرها و بسیاری از ابزارهای دیگر به طور خودکار هدر Host را با دامنه به عنوان بخشی از درخواست اضافه می‌کنند، بنابراین می‌توانید از دستور curl به شکل زیر استفاده کنید:


    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}

گزینه هایی برای زمانی که ورودی DNS برای میزبان مجازی ندارید

زمانی که ورودی DNS ندارید، یکی از گزینه ها این است که نام مستعار میزبان را روی آدرس IP روتر و پورت میزبان مجازی، به عنوان <routerIP>:port تنظیم کنید. مثلا:

192.168.1.31:9001

سپس دستور curl را به شکل زیر می سازید:

curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} 

این گزینه ترجیح داده می شود زیرا با رابط کاربری Edge به خوبی کار می کند.

اگر چندین روتر دارید، یک نام مستعار میزبان برای هر روتر اضافه کنید و آدرس IP هر روتر و پورت میزبان مجازی را مشخص کنید.

همچنین، می‌توانید نام مستعار میزبان را روی یک مقدار تنظیم کنید، مانند temp.hostalias.com . سپس، شما باید هدر Host را در هر درخواست ارسال کنید:

curl -v http://<routerIP>:9001/{proxy-base-path}/{resource-path}  -H 'host: temp.hostalias.com'

یا نام مستعار میزبان را به فایل /etc/hosts خود اضافه کنید. به عنوان مثال، این خط را به /etc/hosts اضافه کنید:

192.168.1.31   temp.hostalias.com

سپس می‌توانید درخواستی را طوری ارسال کنید که انگار یک ورودی DNS دارید:

curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}

پیکربندی اجزای Edge پس از نصب

برای پیکربندی Edge پس از نصب، از ترکیبی از فایل‌های .properties و ابزارهای Edge استفاده می‌کنید. برای مثال، برای پیکربندی TLS/SSL در رابط کاربری Edge، فایل‌های .properties را برای تنظیم ویژگی‌های لازم ویرایش می‌کنید. برای تغییرات در فایل‌های .properties باید مؤلفه Edge آسیب‌دیده را مجدداً راه‌اندازی کنید.

فایل‌های .properties در پوشه /opt/apigee/customer/application قرار دارند. هر جزء دارای فایل .properties خود در آن دایرکتوری است. به عنوان مثال، router.properties و management-server.properties .

برای تنظیم یک ویژگی برای یک جزء، فایل .properties مربوطه را ویرایش کنید و سپس کامپوننت را مجددا راه اندازی کنید:

> /opt/apigee/apigee-service/bin/apigee-service component restart

مثلا:

> /opt/apigee/apigee-service/bin/apigee-service edge-router restart

وقتی Edge را به‌روزرسانی می‌کنید، فایل‌های .properties در فهرست /opt/apigee/customer/application خوانده می‌شوند. این بدان معناست که به‌روزرسانی هر ویژگی‌هایی را که روی مؤلفه تنظیم کرده‌اید حفظ می‌کند.

برای اطلاعات بیشتر در مورد پیکربندی Edge، نحوه پیکربندی Edge را ببینید.

مطمئن شوید که Edge Router می تواند به /etc/rc.d/init.d/function ها دسترسی داشته باشد

Edge Router و BaaS Portal هم از روتر Nginx استفاده می کند و هم نیاز به دسترسی خواندن به /etc/rc.d/init.d/functions دارد.

اگر فرآیند امنیتی شما نیاز به تنظیم مجوزها در /etc/rc.d/init.d/functions دارد، آنها را روی 700 تنظیم نکنید وگرنه روتر راه اندازی نمی شود. مجوزها را می توان روی 744 تنظیم کرد تا امکان دسترسی خواندن به /etc/rc.d/init.d/functions فراهم شود.

فراخوانی دستورات در اجزای Edge

Edge ابزارهای مدیریتی را در /opt/apigee/apigee-service/bin نصب می کند که می توانید از آنها برای مدیریت نصب Edge استفاده کنید. برای مثال، می‌توانید از ابزار apigee-all برای شروع، توقف، راه‌اندازی مجدد یا تعیین وضعیت همه اجزای Edge در گره استفاده کنید:

/opt/apigee/apigee-service/bin/apigee-all stop|start|restart|status|version

از ابزار apigee-service برای کنترل و پیکربندی اجزای جداگانه استفاده کنید. ابزار apigee-service به شکل زیر است:

/opt/apigee/apigee-service/bin/apigee-service component action

به عنوان مثال، برای راه اندازی مجدد Edge Router:

/opt/apigee/apigee-service/bin/apigee-service edge-router restart

با بررسی پوشه /opt/apigee می توانید لیست اجزای نصب شده روی گره را تعیین کنید. آن دایرکتوری شامل یک زیر شاخه برای هر جزء Edge نصب شده روی گره است. پیشوند هر زیرشاخه با:

  • apigee - یک جزء شخص ثالث که توسط Edge استفاده می شود. به عنوان مثال، apigee-cassandra .
  • edge - یک جزء Edge از Apigee. به عنوان مثال، edge-management-server .
  • edge-mint - یک جزء کسب درآمد. به عنوان مثال edge-mint-management-server .
  • baas - یک جزء API BaaS. به عنوان مثال baas-usergrid .

لیست کامل اقدامات برای یک جزء به خود مؤلفه بستگی دارد، اما همه مؤلفه ها از اقدامات زیر پشتیبانی می کنند:

  • شروع، توقف، راه اندازی مجدد
  • وضعیت، نسخه
  • پشتیبان گیری بازیابی
  • نصب، حذف نصب

دسترسی به فایل های گزارش

فایل log برای apigee-setup و اسکریپت setup.sh در /tmp/setup-root.log نوشته می شود.

فایل های گزارش برای هر جزء در پوشه /opt/apigee/var/log موجود است. هر کامپوننت زیرشاخه مخصوص به خود را دارد. به عنوان مثال، گزارش‌های مربوط به سرور مدیریت در دایرکتوری قرار دارند:

/opt/apigee/var/log/edge-management-server

دستورات رایج یام

ابزارهای نصب Edge برای لینوکس به Yum برای نصب و به روز رسانی اجزا متکی هستند. ممکن است مجبور شوید از چندین دستور Yum برای مدیریت نصب روی یک گره استفاده کنید.

  • تمام کش های Yum را پاک کنید:
    سودو یام همه رو پاک کن
  • برای به روز رسانی کامپوننت Edge:
    sudo yum به روز رسانی componentName
    مثلا:
    به روز رسانی sudo yum apigee-setup
    sudo yum update edge-management-server

ساختار فایل سیستم

Edge همه فایل‌ها را در پوشه /opt/apigee نصب می‌کند.

در این راهنما و در راهنمای عملیات Edge، دایرکتوری نصب ریشه به صورت زیر ذکر شده است:

<inst_root>/apigee

نصب از ساختار سیستم فایل زیر برای استقرار Apigee Edge برای Private Cloud استفاده می کند.

فایل های گزارش

اجزاء

محل

سرور مدیریت

<inst_root>/apigee/var/log/edge-management-server

روتر

<inst_root>/apigee/var/log/edge-router

پردازشگر پیام

<inst_root>/apigee/var/log/edge-message-processor

سرور Apigee Qpid

<inst_root>/apigee/var/log/edge-qpid-server

سرور Apigee Postgres

<inst_root>/apigee/var/log/edge-postgres-server

رابط کاربری لبه

<inst_root>/apigee/var/log/edge-ui

نگهبان باغ وحش

<inst_root>/apigee/var/log/apigee-zookeeper

OpenLDAP

<inst_root>/apigee/var/log/apigee-openldap

کاساندرا

<inst_root>/apigee/var/log/apigee-cassandra

Qpidd

<inst_root>/apigee/var/log/apigee-qpidd

پایگاه داده PostgreSQL

<inst_root>/apigee/var/log/apigee-postgresql

داده ها

اجزاء

محل

سرور مدیریت

<data_root>/apigee/data/edge-management-server

روتر

<data_root>/apigee/data/edge-router

پردازشگر پیام

<data_root>/apigee/data/edge-message-processor

عامل Apigee Qpid

<data_root>/apigee/data/edge-qpid-server

نماینده Apigee Postgres

<data_root>/apigee/data/edge-postgres-server

نگهبان باغ وحش

<data_root>/apigee/data/apigee-zookeeper

OpenLDAP

<data_root>/apigee/data/apigee-openldap

کاساندرا

<data_root>/apigee/data/apigee-cassandra/data

Qpidd

<data_root>/apigee/data/apigee-qpid/data

پایگاه داده PostgreSQL

<data_root>/apigee/data/apigee-postgres/pgdata