نصب API BaaS

Edge for Private Cloud نسخه 4.16.09

استفاده از Load Balancer

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

به عنوان جایگزینی برای متعادل کننده بار، می توانید از DNS دور روبین استفاده کنید. در این سناریو، یک ورودی DNS با چندین رکورد A مربوط به آدرس‌های IP پشته BaaS ایجاد می‌کنید. در حین جستجوی DNS، سرور DNS به طور خودکار مقادیر رکورد A را به صورت دور برمی گرداند.

اتصال به کاساندرا

هنگام نصب BaaS، می توانید انتخاب کنید که BaaS و Edge را به همان خوشه Cassandra متصل کنید یا یک کلاستر Cassandra جداگانه برای BaaS ایجاد کنید. نصب‌های کوچکتر BaaS، به معنی آنهایی که حجم ترافیک کمتری دارند، اغلب یک خوشه Cassandra را با Edge به اشتراک می‌گذارند.

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

همگام سازی تاریخ

شما باید تاریخ/زمان را در همه سرورها همگام سازی کنید. اگر قبلاً پیکربندی نشده باشد، ابزار 'ntpdate' می‌تواند این هدف را انجام دهد، که تأیید می‌کند آیا سرورها همگام‌سازی شده‌اند یا خیر. می توانید از "yum install ntp" برای نصب ابزار استفاده کنید.

امنیت تامکت

نصب کننده API BaaS همچنین سرور Apache Tomcat را بر روی تمام گره های API BaaS Stack، از جمله رابط کاربری مدیر Tomcat نصب می کند. نصب کننده اعتبار پیش فرض مدیر را از admin:admin بدون تغییر می گذارد.

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

نمای کلی نصب

پس از نصب 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 را نصب کنید. پورتال آنقدر سبک است که برای این کار نیازی به منابع اضافی نیست.

آسا

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

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

در زیر نمونه ای از فایل پیکربندی بی صدا برای نصب API BaaS 10 گره نشان داده شده است. این فایل را در صورت لزوم برای پیکربندی خود ویرایش کنید. برای قرار دادن این فایل از گزینه -f برای setup.sh استفاده کنید.

# 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=stackAdminPWrod

# Only if you are installing Cassandra.
# Specify Cassandra configuration information.
# 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"

# 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.

# 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

# 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

جدول زیر حاوی اطلاعات اضافی در مورد این خواص است:

اموال

توجه داشته باشید

CASS_HOSTS

اگر Cassandra را نصب می کنید، IP های گره Cassandra (نه نام های DNS) را مشخص کنید و اصلاح کننده ":dc,ra" را وارد کنید که مرکز داده و رک گره Cassandra را مشخص می کند.

برای مثال '192.168.124.201:1,1 = مرکز داده 1 و رک/منطقه در دسترس 1، و '192.168.124.204:2,1 = مرکز داده 2 و رک/منطقه در دسترس بودن 1.

CASS_USERNAME
CASS_PASSWORD

نام کاربری و رمز عبور کاساندرا.

اگر احراز هویت Cassandra غیرفعال است، همچنان باید این مقادیر را پاس کنید. با این حال، ارزش ها نادیده گرفته می شوند.

BAAS_CASS_LOCALDC

نام منطقه باید به شکل dc-# باشد که در آن # با یک مقدار صحیح مطابقت دارد.

به عنوان مثال، dc-1، dc-2 و غیره. اگر به یک کلاستر Cassandra نصب شده با Edge متصل می شوید، می توانید این مقدار را از مدیر سیستم Edge بخواهید. در نصب یک مرکز داده تک Edge، مقدار پیش فرض dc-1 است.

اگر Cassandra را به‌عنوان بخشی از نصب API BaaS نصب کرده‌اید، در حین نصب Cassandra، اصلاح‌کننده “:dc,ra” را به آدرس‌های IP Cassandra اضافه کرده‌اید. اولین مقدار "dc" شماره مرکز داده است. نام مرکز داده رشته "dc-" با شماره مرکز داده به عنوان پسوند است.

BAAS_CASS_REPLICATION

قالب " dataCenterName:#CassandraNodes " است. به عنوان مثال، برای dc-1 با سه گره کاساندرا، dc-1:3 است.

BAAS_USERGRID_URL

در یک محیط تولید، این آدرس URL و پورت بار متعادل کننده است که در مقابل گره های API BaaS Stack قرار دارد، به شکل:

http://myStackLoadBalancer:8443

در یک محیط آزمایش یا توسعه، که در آن شما فقط یک گره پشته API BaaS دارید، این می تواند URL و شماره پورت یک گره پشته API BaaS باشد، به شکل:

http://stackIPorDNS:8080

شماره پورت برای سرور API BaaS Stack 8080 است.

BAAS_PORTAL_URL

URL و شماره پورت بار متعادل کننده، اگر در جلوی پورتال وجود داشته باشد، به شکل:

http://myPortalLoadBalancer:8443

اگر متعادل کننده بار وجود ندارد، URL و شماره پورت گره پورتال به شکل زیر است:

http://portalIPorDNS:9000

به طور پیش فرض، شماره پورت برای پورتال API BaaS 9000 است.

BAAS_PORTAL_LISTEN_PORT

شماره پورت سرور API BaaS Portal 9000 است. اگر این پورت در دسترس نیست، پورت دیگری را مشخص کنید.

اگر BAAS_PORTAL_URL را روی URL گره پورتال تنظیم می کنید، شماره پورت باید برای هر دو ویژگی یکسان باشد.

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

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

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

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

    گزینه “-p c” نصب Cassandra را مشخص می کند.
    فایل پیکربندی باید توسط کاربر "apigee" قابل دسترسی یا خواندن باشد.

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

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

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

یک 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. در خط فرمان، اسکریپت setup را اجرا کنید:
    > /opt/apigee/apigee-setup/bin/setup.sh -pe -f configFile

    گزینه "-p e" نصب ElasticSearch را مشخص می کند.
    فایل پیکربندی باید توسط کاربر "apigee" قابل دسترسی یا خواندن باشد.
  3. (اختیاری) اگر ElasticSearch را روی یک گره مستقل نصب می کنید، به این معنی که با API BaaS Stack نصب نشده است، سپس گزینه حافظه پیش فرض را تنظیم کنید تا حافظه اختصاص داده شده برای ElasticSearch از 4 گیگابایت به 6 گیگابایت افزایش یابد:
    1. /opt/apigee/customer/application/elasticsearch.properties را در یک ویرایشگر باز کنید. اگر این فایل وجود ندارد، آن را ایجاد کنید.
    2. ویژگی setenv_elasticsearch_max_mem_size را روی 6g تنظیم کنید (پیش‌فرض 4g است):
      setenv_elasticsearch_max_mem_size=6 گرم
    3. فایل را ذخیره کنید.
    4. دستور زیر را اجرا کنید:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch راه اندازی مجدد

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

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

برای نصب API BaaS Stack:

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

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

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

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

برای نصب API BaaS Portal:

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

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

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

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

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

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

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

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

usergrid-deployment_swagger.basepath=http://localhost:8080
usergrid-deployment_usergrid.organization.activation.url=http://localhost:8080/management/organizations/%s/activate
usergrid-deployment_usergrid.admin.activation.url=http://localhost:8080/management/users/%s/activate
usergrid-deployment_usergrid.admin.resetpw.url=http://localhost:8080/management/users/%s/resetpw
usergrid-deployment_usergrid.admin.confirmation.url=http://localhost:8080/management/users/%s/confirm
usergrid-deployment_usergrid.user.activation.url=http://localhost:8080/%s/%s/users/%s/activate
usergrid-deployment_usergrid.user.confirmation.url=http://localhost:8080/%s/%s/users/%s/confirm
usergrid-deployment_usergrid.user.resetpw.url=http://localhost:8080/%s/%s/users/%s/resetpw

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_usergrid.view.management.organizations.organization.activate=http://localhost:9000
usergrid-deployment_usergrid.view.management.organizations.organization.confirm=http://localhost:9000
usergrid-deployment_usergrid.view.management.users.user.activate=http://localhost:9000
usergrid-deployment_usergrid.view.management.users.user.confirm=http://localhost:9000

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

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

  1. گره Stack را پیکربندی کنید:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid configure
  2. اعمال تغییرات در Tomcat:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid deploy
  3. پشته BaaS را مجددا راه اندازی کنید:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid راه اندازی مجدد
  4. اگر portal.properties را تغییر دادید، گره Portal را پیکربندی کنید:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal configure
  5. اعمال تغییرات:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal deploy
  6. پورتال BaaS را مجددا راه اندازی کنید:
    > /<inst_root>/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/

    توجه : IP آدرس IP خارجی/نام میزبان دستگاه پورتال است. از باز بودن پورت اطمینان حاصل کنید.
  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 مراجعه کنید.