نصب API BaaS

Edge for Private Cloud نسخه 4.17.09

نمای کلی نصب

پس از نصب Edge the apigee-setup utility روی یک گره، از آن ابزار برای نصب یک یا چند جزء BaaS روی گره استفاده کنید.

ابزار apigee-setup به شکل زیر است:

sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

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

تنها شرط این است که فایل پیکربندی باید توسط کاربر "apigee" قابل دسترسی یا خواندن باشد.

به عنوان مثال، از دستور زیر برای نصب API BaaS Stack استفاده کنید:

sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig

تعیین اجزای مورد نیاز برای نصب

ابزار Apigee setup.sh از چندین گزینه برای نصب اجزای API BaaS پشتیبانی می کند. دستورالعمل‌های زیر از گزینه‌های مستقل (c، e، b و p) استفاده می‌کنند، اما می‌توانید بر اساس پیکربندی گره خود از گزینه‌های مختلفی استفاده کنید:

گزینه

شرح

ه

فقط ElasticSearch را نصب کنید.

ب

API BaaS Stack را فقط نصب کنید که Tomcat را نیز نصب می کند.

پ

فقط API BaaS Portal را نصب کنید که روتر Nginx را نیز برای استفاده به عنوان وب سرور نصب می کند.

ج

فقط Cassandra را نصب کنید.

eb

ElasticSearch، API BaaS Stack و Tomcat را روی گره نصب کنید.

ebp

ElasticSearch، API BaaS Portal، API BaaS Stack و Tomcat را نصب کنید اما Cassandra را نه. پورتال آنقدر سبک است که برای این کار نیازی به منابع اضافی نیست.

آسا

تمام اجزای API BaaS را روی یک گره نصب کنید (Cassandra، Elasticsearch، API BaaS Stack، API BaaS Portal، Tomcat). از این گزینه فقط برای توسعه و آزمایش استفاده کنید، نه برای تولید.

ایجاد یک فایل پیکربندی

فایل پیکربندی شامل تمام اطلاعات لازم برای نصب API BaaS است. شما اغلب می توانید از یک فایل پیکربندی برای نصب تمام اجزای یک نصب BaaS استفاده کنید.

هر توپولوژی نصب که در زیر توضیح داده شده است یک فایل پیکربندی نمونه برای آن توپولوژی را نشان می دهد. برای یک مرجع کامل در مورد فایل پیکربندی، به مرجع فایل پیکربندی BaaS مراجعه کنید.

API BaaS را روی یک گره نصب کنید

در زیر فایل پیکربندی برای نصب API BaaS روی یک گره نشان داده شده است. این فایل را در صورت لزوم برای پیکربندی خود ویرایش کنید. برای یک مرجع کامل در مورد فایل پیکربندی، به مرجع فایل پیکربندی BaaS مراجعه کنید.

IP1=192.168.56.101   # IP address of single node

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Define the API BaaS administrator account.
AS_ADMIN="superuser"    # User name - default is "superuser".
AS_ADMIN_EMAIL=stackAdmin@email.com
AS_PASSWD=stackAdminPWord

# Because you are installing Cassandra,
# specify Cassandra data center and rack suffix.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1"

# Specify the Cassandra region.
REGION=dc-1

# Cassandra uname/pword.
# Even if Cassandra authentication is disabled,
# you must still pass values for these properties.
CASS_USERNAME=cassandra    # Default value
CASS_PASSWORD=cassandra    # Default value

# Specify Cassandra data center name.
BAAS_CASS_LOCALDC=dc-1

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=dc-1

# Replication is in the form "dataCenterName:#CassandraNodes".
# For dc-1 with one Cassandra node, it is dc-1:1.
BAAS_CASS_REPLICATION=dc-1:1

# Defines the initial contact points for members of the BaaS cluster.
# For a single node install, specify the IP address of the node.
BAAS_CLUSTER_SEEDS="dc-1:$IP1"

# Single ElasticSearch IP.
ES_HOSTS="$IP1"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas"

# IP/DNS and port 8080 of a single Stack node.
BAAS_USERGRID_URL="http://$IP1:8080"

# URL and port of the BaaS Portal node.
BAAS_PORTAL_URL="http://$IP1:9000"

# Portal port. Default value is 9000.
BAAS_PORTAL_LISTEN_PORT=9000

# SMTP information. BaaS requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y
SMTPMAILFROM="My Company <myco@company.com>"

برای نصب API BaaS روی گره خودش:

  1. ابزار Edge apigee-setup با استفاده از روش اینترنتی یا غیراینترنتی روی گره نصب کنید. برای اطلاعات بیشتر به نصب ابزار Edge apigee-setup مراجعه کنید.
  2. در خط فرمان، اسکریپت setup را اجرا کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p asa -f configFile

    گزینه "-p asa" تعیین می کند که تمام اجزای API BaaS روی یک گره (Cassandra، Elasticsearch، API BaaS Stack، API BaaS Portal، Tomcat) نصب شوند.

    فایل پیکربندی باید توسط کاربر "apigee" قابل دسترسی یا خواندن باشد.

  3. از آنجایی که ElasticSearch را روی یک گره مستقل نصب کرده اید، گزینه حافظه پیش فرض را تنظیم کنید تا حافظه اختصاص داده شده برای ElasticSearch از 4 گیگابایت به 6 گیگابایت افزایش یابد:
    1. /opt/apigee/customer/application/elasticsearch.properties را در یک ویرایشگر باز کنید. اگر این فایل وجود ندارد، آن را ایجاد کنید.
    2. ویژگی setenv_elasticsearch_max_mem_size را روی 6g تنظیم کنید (پیش‌فرض 4g است):
      setenv_elasticsearch_max_mem_size=6g
    3. فایل را ذخیره کنید.
    4. دستور زیر را اجرا کنید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
  4. روی سازمانی که در زیر در Onboarding a new Organization توضیح داده شده است.

پیکربندی با موفقیت راه اندازی روی گره را تکمیل می کند.

API BaaS را روی 7 یا 10 گره نصب کنید

روش نصب یک نسخه 7 یا 10 گره از API BaaS بسیار مشابه است. تنها تفاوت این است که برای یک:

  • با نصب 10 گره، سه مؤلفه ElasticSearch و سه مؤلفه API BaaS Stack را روی گره‌های جداگانه نصب می‌کنید، در مجموع شش گره. این پیکربندی توصیه شده برای بالاترین عملکرد است زیرا ElasticSearch به مقدار زیادی از دیسک ورودی/خروجی و حافظه نیاز دارد.
  • با نصب نود 7، سه مؤلفه ElasticSearch و سه مؤلفه API BaaS Stack را روی همان گره ها نصب می کنید، در مجموع سه گره.

برای هر دو نسخه 7 و 10 گره API BaaS، باید به یک خوشه Cassandra متصل شوید. اگر Edge را قبلا نصب کرده اید، می توانید به کلاستر Cassandra آن متصل شوید، به این معنی که لازم نیست Cassandra را به عنوان بخشی از نصب API BaaS نصب کنید.

در زیر نمونه ای از فایل پیکربندی بی صدا برای نصب API BaaS 10 گره نشان داده شده است. اگر مؤلفه‌های ElasticSearch و API BaaS Stack را روی همان سه گره نصب می‌کنید، فایل را به گونه‌ای ویرایش کنید که:

  • IP1 و IP4 روی یک آدرس IP تنظیم شده اند
  • IP2 و IP5 روی یک آدرس IP تنظیم شده اند
  • IP3 و IP6 روی یک آدرس IP تنظیم شده اند

این فایل را در صورت لزوم برای پیکربندی خود ویرایش کنید. برای یک مرجع کامل در مورد فایل پیکربندی، به مرجع فایل پیکربندی BaaS مراجعه کنید.

# Specify IP address or DNS name of node.
IP1=192.168.1.1   # ElasticSearch
IP2=192.168.1.2   # ElasticSearch
IP3=192.168.1.3   # ElasticSearch
IP4=192.168.1.4   # API BaaS Stack
IP5=192.168.1.5   # API BaaS Stack
IP6=192.168.1.6   # API BaaS Stack
IP7=192.168.1.7   # API BaaS Portal
IP8=192.168.1.8   # Cassandra (shared with Edge or standalone)
IP9=192.168.1.9   # Cassandra (shared with Edge or standalone)
IP10=192.168.1.10  # Cassandra (shared with Edge or standalone)

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Define the API BaaS administrator account.  
AS_ADMIN="superuser"    # User name - default is "superuser".
AS_ADMIN_EMAIL=stackAdmin@email.com
AS_PASSWD=stackAdminPWord

# Only if you are installing Cassandra.
# Specify Cassandra data center and rack suffix.
# Must use IP addresses for CASS_HOSTS, not DNS names.
# CASS_HOSTS="$IP8:1,1 $IP9:1,1 $IP10:1,1"

# If connecting to existing Cassandra nodes, 
# specify Cassandra IPs.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP8 $IP9 $IP10"

# Specify the Cassandra region.
REGION=dc-1

# Cassandra uname/pword.
# Even if Cassandra authentication is disabled,
# you must still pass values for these properties.
CASS_USERNAME=cassandra    # Default value
CASS_PASSWORD=cassandra    # Default value

# Specify BaaS Cassandra connection information.
# Specify the data center name.
BAAS_CASS_LOCALDC=dc-1    # Default is dc-1.

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=dc-1

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For example, for dc-1 with three Cassandra nodes, it is dc-1:3.
BAAS_CASS_REPLICATION=dc-1:3

# Defines the initial contact points for members of the BaaS cluster. 
# Specify the IP address of no more than two Stack nodes. 
BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5"

# ElasticSearch IPs or DNS names, separated by spaces.
ES_HOSTS="$IP1 $IP2 $IP3"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas" 

# URL and port of the load balancer for the API BaaS Stack nodes, 
# or IP/DNS and port 8080 of a single Stack node with no load balancer.
BAAS_USERGRID_URL=http://myloadbalancer:8443

# API BaaS Portal information.
# URL and port number of load balancer, if there is one in front of the Portal,
# or the URL and port of the Portal node.  
BAAS_PORTAL_URL="http://$IP7:9000"

# Portal port. Default value is 9000.
BAAS_PORTAL_LISTEN_PORT=9000 

# SMTP information. BaaS requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y
SMTPMAILFROM="My Company <myco@company.com>"

اختیاری - Cassandra را نصب کنید: ماشین 8، 9، و 10

می‌توانید API BaaS را به همان خوشه Cassandra که توسط Edge استفاده می‌شود متصل کنید. اگر Edge را نصب نکرده اید، می توانید به صورت اختیاری Cassandra را برای استفاده توسط API BaaS نصب کنید.

خوشه Cassandra می تواند از احراز هویت استفاده کند، یا احراز هویت Cassandra را می توان غیرفعال کرد. برای اطلاعات بیشتر به فعال کردن احراز هویت Cassandra مراجعه کنید.

  1. ابزار Edge apigee-setup با استفاده از روش اینترنتی یا غیراینترنتی روی گره نصب کنید. برای اطلاعات بیشتر به نصب ابزار Edge apigee-setup مراجعه کنید.
  2. در خط فرمان، اسکریپت نصب را اجرا کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

    گزینه "-pc" نصب Cassandra را مشخص می کند.

    فایل پیکربندی باید توسط کاربر "apigee" قابل دسترسی یا خواندن باشد.

پیکربندی با موفقیت راه‌اندازی ذخیره‌گاه داده در گره را تکمیل می‌کند.

توجه داشته باشید که JMX به طور پیش فرض برای Cassandra فعال است. دسترسی از راه دور JMX به Cassandra نیازی به رمز عبور ندارد. می توانید کاساندرا را برای استفاده از احراز هویت برای JMX پیکربندی کنید. برای اطلاعات بیشتر، نحوه نظارت را ببینید.

کار Cassandra cron را تنظیم کنید

اگر باید Cassandra را نصب کنید، یک cron job راه‌اندازی کنید که از nodetool برای شستشوی قفل‌ها استفاده می‌کند تا هر ساعت روی هر گره Cassandra اجرا شود.

اگر چندین گره کاساندرا دارید، کار cron را در هر سرور با پنج دقیقه افست کنید تا همه گره ها به طور همزمان فلاش نشوند.

cron job باید دستور زیر را اجرا کند:

/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks

که در آن IP_address آدرس IP گره Cassandra است.

ElasticSearch را نصب کنید: ماشین 1، 2، و 3

برای نصب ElasticSearch روی گره خودش:

  1. ابزار Edge apigee-setup را با استفاده از روش اینترنتی یا غیراینترنتی روی گره نصب کنید. برای اطلاعات بیشتر به نصب ابزار Edge apigee-setup مراجعه کنید.
  2. در خط فرمان، اسکریپت نصب را اجرا کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
          

    The "-p e" option specifies to install ElasticSearch. The configuration file must be accessible or readable by the "apigee" user.

  3. (Optional) If you install ElasticSearch on a standalone node, meaning it is not installed with API BaaS Stack, then adjust the default memory option to increase the memory allocated for ElasticSearch from 4GB to 6GB:
    1. Open /opt/apigee/customer/application/elasticsearch.properties in an editor. If this file does not exist, create it.
    2. Set the setenv_elasticsearch_max_mem_size property to 6g (the default is 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. فایل را ذخیره کنید.
    4. دستور زیر را اجرا کنید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart

پیکربندی با موفقیت راه اندازی روی گره را تکمیل می کند.

API BaaS Stack: Machine 4، 5 و 6 را نصب کنید

برای نصب API BaaS Stack روی گره خودش:

  1. ابزار Edge apigee-setup را با استفاده از روش اینترنتی یا غیراینترنتی روی گره نصب کنید. برای اطلاعات بیشتر به نصب ابزار Edge apigee-setup مراجعه کنید.
  2. در خط فرمان، اسکریپت راه اندازی را اجرا کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile

    گزینه "-pb" نصب API BaaS Stack را مشخص می کند. فایل پیکربندی باید توسط کاربر "apigee" قابل دسترسی یا خواندن باشد.

پس از اینکه نصب کننده اعتبار مدیریت صحیح را واکشی کرد، Tomcat را نصب می کند، فضای کلیدی API BaaS ایجاد می کند و پشته API BaaS را روی سرور تنظیم می کند. SMTP همچنین به گونه‌ای پیکربندی شده است که به رابط کاربری اجازه می‌دهد ایمیل‌های تأیید رمز عبور ارسال کند.

API BaaS Portal: Machine 7 را نصب کنید

برای نصب API BaaS Portal:

  1. ابزار Edge apigee-setup را با استفاده از روش اینترنتی یا غیراینترنتی روی گره نصب کنید. برای اطلاعات بیشتر به نصب ابزار Edge apigee-setup مراجعه کنید.
  2. در خط فرمان، اسکریپت نصب را اجرا کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile

    گزینه "-pp" نصب API BaaS Portal را مشخص می کند. فایل پیکربندی باید توسط کاربر "apigee" قابل دسترسی یا خواندن باشد.

    نصب کننده وب سرور Nginx را راه اندازی می کند و سپس پیکربندی API BaaS Portal را تمام می کند.

  3. مرحله بعدی شما به نصب شما بستگی دارد.
    1. اگر در مقابل گره های Portalor Stack یک load balancer دارید، در بخش بعدی نحوه پیکربندی API BaaS برای متعادل کننده های بار توضیح داده می شود.
    2. اگر در مقابل گره‌های Portalor Stack یک متعادل کننده بار ندارید، همانطور که در زیر در Onboarding a new Organization توضیح داده شده است، روی سازمانی سوار شوید.

آدرس پورتال API BaaS را یادداشت کنید. این نشانی اینترنتی است که برای دسترسی به رابط کاربری API BaaS Portal وارد مرورگر می‌کنید.

گره های API BaaS را برای متعادل کننده بار پشته یا پورتال پیکربندی کنید

اگر در جلوی گره های Stack یا Portal یک بار متعادل کننده قرار دهید، باید گره ها را با URL صحیح متعادل کننده بار پیکربندی کنید. به عنوان مثال، گره های پشته به این اطلاعات نیاز دارند زمانی که:

  • شامل یک URL در پاسخ‌ها در درخواست‌های BaaS API.
  • افزودن پیوندها در قالب های ایمیل هنگام بازنشانی رمز عبور یا ارسال اعلان های دیگر.
  • هدایت کاربران به صفحات خاص پورتال.

اگر از یک متعادل کننده بار در مقابل گره های Stack استفاده می کنید، ویژگی زیر را در /opt/apigee/customer/application/usergrid.properties تنظیم کنید:

usergrid-deployment_usergrid.api.url.base=http://localhost:8080

http://localhost:8080 با URL متعادل کننده بار جایگزین کنید. اگر متعادل کننده بار برای استفاده از TLS پیکربندی شده است، از پروتکل HTTPS استفاده کنید. اگر از یک پورت غیر استاندارد استفاده می کنید، فقط باید پورت را اضافه کنید، به این معنی که چیزی غیر از پورت 80 برای HTTP و پورت 443 برای HTTPS.

همچنین اگر از یک load balancer در مقابل گره های Stack استفاده می کنید، باید ویژگی زیر را در /opt/apigee/customer/application/portal.properties تنظیم کنید:

baas.portal.config.overrideUrl=http://localhost:8080

http://localhost:8080 با URL متعادل کننده بار برای Stack جایگزین کنید.

اگر از متعادل کننده بار در مقابل گره Portal استفاده می کنید، ویژگی های زیر را در usergrid.properties تنظیم کنید:

usergrid-deployment_portal.url=http://localhost:9000

http://localhost:9000 با URL متعادل کننده بار جایگزین کنید. اگر متعادل کننده بار برای استفاده از TLS پیکربندی شده است، از پروتکل HTTPS استفاده کنید. اگر از یک پورت غیر استاندارد استفاده می کنید، فقط باید پورت را اضافه کنید، به این معنی که چیزی غیر از پورت 80 برای HTTP و پورت 443 برای HTTPS.

پس از ویرایش usergrid.properties و portal.properties :

  1. گره پشته را پیکربندی کنید:
    /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
  2. پشته BaaS را مجددا راه اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
  3. اگر portal.properties را تغییر دادید، گره Portal را پیکربندی کنید:
    /opt/apigee/apigee-service/bin/apigee-service baas-portal configure
  4. پورتال BaaS را مجددا راه اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service baas-portal restart

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

Onboarding فرآیند ایجاد یک سازمان و مدیر سازمان است. پس از ایجاد سازمان و مدیر سازمان، می توانید وارد رابط کاربری API BaaS Portal شوید و درخواست هایی را به API BaaS REST API ارسال کنید.

هنگامی که یک سازمان ایجاد می کنید، آدرس ایمیل سرپرست سازمان:

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

برای اجرای onboarding، از اسکریپت create_org_and_user.py پایتون استفاده کنید. فراخوانی این اسکریپت بدون آرگومان های خط فرمان باعث می شود که تمام اطلاعات را از شما بخواهد:

python create_org_and_user.py

همچنین، می‌توانید یک یا همه گزینه‌ها را به عنوان آرگومان خط فرمان ارسال کنید. هر اطلاعاتی که از خط فرمان حذف می کنید از شما خواسته می شود:

python create_org_and_user.py -o '<org name>'
python create_org_and_user.py -o '<org name>' -a '<new admin email>' -p '<new admin password>'

برای ایجاد یک سازمان:

  1. دایرکتوری را به /opt/apigee/baas-usergrid/bin تغییر دهید.
  2. اسکریپت پایتون create_org_and_user.py را فراخوانی کنید.

    از شما خواسته می شود که نام کاربری و رمز عبور سرپرست سیستم BaaS را وارد کنید تا فقط یک مدیر سیستم بتواند آن را اجرا کند.

  3. با استفاده از آدرس اینترنتی که در پایان نصب URL پورتال API BaaS ذکر کرده اید، در یک مرورگر وب وارد پورتال API BaaS شوید. برای دسترسی به پورتال، URL پورتال API BaaS را به این شکل وارد کنید:
    http://portalExternalIP:9000/
  4. هنگامی که صفحه ورود به پورتال ظاهر می شود، می توانید یکی از موارد زیر را انجام دهید:
    • با استفاده از نام کاربری و رمز عبور مدیر سازمان وارد شوید.
    • با استفاده از نام کاربری و رمز عبور مدیر مدیران سیستم وارد سیستم شوید.

دسترسی به API BaaS REST API

برای دسترسی به API BaaS REST API، از یک URL به شکل زیر استفاده کنید:

https://loadBalancerIP:8080/your-org/your-app

در یک محیط توسعه، می‌توانید تمام اجزای API BaaS را روی یک گره نصب کنید، به این معنی که یک پشته API BaaS دارید. یا ممکن است یک محیط کوچک با یک گره پشته API BaaS و بدون متعادل کننده بار داشته باشید. در این نوع محیط‌ها، می‌توانید تماس‌های API را مستقیماً با گره پشته API BaaS برقرار کنید:

curl -v "http://portalExternalIP:8080/status"

برای اطلاعات بیشتر درباره شروع کار با API BaaS Portal، به مستندات Apigee در: http://apigee.com/docs/content/build-apps-home مراجعه کنید.