Cài đặt API BaaS

Edge for Private Cloud phiên bản 4.16.09

Sử dụng Trình cân bằng tải

Quá trình cài đặt API BaaS chính thức sử dụng trình cân bằng tải giữa nút API BaaS Cổng và các nút Ngăn xếp API BaaS. Khi định cấu hình Cổng, bạn cần chỉ định địa chỉ IP hoặc tên DNS của trình cân bằng tải, chứ không phải của các nút Ngăn xếp.

Thay thế cho trình cân bằng tải, bạn có thể sử dụng DNS vòng tròn. Trong trường hợp này, bạn sẽ tạo một mục DNS có nhiều bản ghi A tương ứng với các địa chỉ IP của ngăn xếp BaaS. Trong quá trình tra cứu DNS, máy chủ DNS sẽ tự động trả về giá trị của bản ghi A theo thứ tự vòng tròn.

Kết nối với Cassandra

Khi cài đặt BaaS, bạn có thể chọn kết nối BaaS và Edge với cùng một cụm Cassandra hoặc tạo một cụm Cassandra riêng cho BaaS. Các lượt cài đặt BaaS nhỏ, nghĩa là những người có lưu lượng truy cập thấp, thường dùng chung một cụm Cassandra với Edge.

Đối với công suất và khả năng đáp ứng cao hoặc để phân tách các cụm Cassandra thành nhiều vùng mạng khác, Apigee bạn nên sử dụng các cụm Cassandra riêng biệt. Các cụm riêng biệt sẽ giúp tối đa hoá hiệu suất nếu bạn đang có lưu lượng truy cập cao trên BaaS.

Đồng bộ hoá ngày

Bạn phải đồng bộ hoá ngày/giờ trên tất cả máy chủ. Nếu chưa được định cấu hình, tiện ích "ntpdate" có thể phục vụ mục đích này, giúp xác minh xem các máy chủ có được đồng bộ hoá về thời gian hay không. Bạn có thể dùng lệnh "yum install ntp" để cài đặt tiện ích.

Tomcat bảo mật

Trình cài đặt API BaaS cũng cài đặt máy chủ Apache Tomcat trên tất cả các nút API BaaS Stack, bao gồm cả giao diện người dùng dành cho quản trị viên Tomcat. Trình cài đặt giữ nguyên thông tin đăng nhập mặc định của quản trị viên so với admin:admin.

Nếu cần, bạn có thể thay đổi các thông tin xác thực này để bảo mật Tomcat. Để biết thêm thông tin, hãy xem các bài viết sau:

Tổng quan về việc cài đặt

Sau khi bạn cài đặt tiện ích apigee-setup cho Edge trên một nút, hãy sử dụng tiện ích đó để cài đặt một hoặc nhiều thành phần BaaS trên nút đó. Tiện ích apigee-setup có dạng như sau:

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

Chuyển tệp cấu hình vào tiện ích apigee-setup chứa thông tin về quá trình cài đặt. Nếu tệp cấu hình thiếu bất kỳ thông tin bắt buộc nào, tiện ích apigee-setup sẽ nhắc bạn nhập tệp đó vào dòng lệnh.

Yêu cầu duy nhất là người dùng "apigee" phải truy cập hoặc đọc được tệp cấu hình.

Ví dụ: sử dụng lệnh sau để cài đặt Ngăn xếp API BaaS:

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

Tiện ích setup.sh của Apigee hỗ trợ một số tuỳ chọn để cài đặt các thành phần API BaaS. Hướng dẫn bên dưới sử dụng các tuỳ chọn độc lập (c, e, b và p), nhưng bạn có thể dùng các tuỳ chọn khác dựa trên cấu hình nút của mình:

Lựa chọn

Mô tả

e

Chỉ cài đặt ElasticSearch.

b

Chỉ cài đặt API BaaS Stack, cũng như cài đặt Tomcat.

p

Chỉ cài đặt API BaaS Vault, đồng thời cài đặt bộ định tuyến Nginx để dùng làm máy chủ web.

c

Chỉ cài đặt Cassandra.

eb

Cài đặt ElasticSearch, API BaaS Stack và Tomcat trên nút.

tháng trôi qua

Cài đặt ElasticSearch, API BaaS cổng, API BaaS Stack và Tomcat. Cổng này rất nhẹ nên không cần thêm tài nguyên nào cho việc này.

châu á

Cài đặt tất cả thành phần API trên một nút duy nhất (Cassandra, Elasticsearch, API BaaS Stack và API BaaS cổng). Chỉ sử dụng tuỳ chọn này cho mục đích phát triển và thử nghiệm, không phải cho mục đích phát hành chính thức.

Tạo tệp cấu hình im lặng

Dưới đây là ví dụ về tệp cấu hình im lặng để cài đặt API BaaS 10 nút. Chỉnh sửa tệp này nếu cần cho cấu hình của bạn. Sử dụng tuỳ chọn -f để setup.sh để thêm tệp này.

# 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

Bảng sau đây chứa thông tin bổ sung về các thuộc tính này:

Thuộc tính

Lưu ý

CASS_HOSTS

Nếu bạn đang cài đặt Cassandra, hãy chỉ định IP nút Cassandra (không phải tên DNS) và thêm đối tượng sửa đổi ":dc,ra" để chỉ định trung tâm dữ liệu và giá đỡ của nút Cassandra.

Ví dụ: "192.168.124.201:1,1 = trung tâm dữ liệu 1 và vùng giá/khả năng lập chỉ mục 1, và "192.168.124.204:2,1 = trung tâm dữ liệu 2 và vùng giá/khả năng lập chỉ mục 1".

CASS_TÊN NGƯỜI DÙNG
CASS_ MẬT KHẨU

Tên người dùng và mật khẩu Cassandra.

Nếu tính năng xác thực Cassandra bị tắt, bạn vẫn phải truyền các giá trị này. Tuy nhiên, các giá trị này sẽ bị bỏ qua.

BAAS_CASS_LOCALDC

Tên vùng phải ở dạng dc-#, trong đó # tương ứng với giá trị số nguyên.

Ví dụ: dc-1, dc-2, v.v. Nếu đang kết nối với một cụm Cassandra được cài đặt bằng Edge, bạn có thể hỏi quản trị viên hệ thống của Edge về giá trị này. Khi cài đặt trung tâm dữ liệu đơn lẻ trong Edge, giá trị mặc định là dc-1.

Nếu bạn đã cài đặt Cassandra trong quá trình cài đặt API BaaS, thì trong quá trình cài đặt Cassandra, bạn đã thêm đối tượng sửa đổi “:dc,ra” vào các địa chỉ IP của Cassandra. Giá trị đầu tiên "dc" là số trung tâm dữ liệu. Tên trung tâm dữ liệu là chuỗi "dc-" với hậu tố là số trung tâm dữ liệu.

BAAS_CASS_REPLICATION

Định dạng là "dataCenterName:#CassandraNodes". Ví dụ: đối với dc-1 có 3 nút Cassandra, đó là dc-1:3.

BAAS_USERGRID_URL

Trong môi trường phát hành công khai, đây là URL và cổng của trình cân bằng tải ở phía trước các nút Ngăn xếp API BaaS, có dạng:

http://myStackLoadBalancer:8443

Trong môi trường kiểm thử hoặc phát triển, nơi bạn chỉ có một nút Ngăn xếp API BaaS, giá trị này có thể là URL và số cổng của một nút Ngăn xếp API BaaS, có dạng như sau:

http://stackIPorDNS:8080

Số cổng cho máy chủ API BaaS Stack là 8080.

BAAS_PORTAL_URL

URL và số cổng của trình cân bằng tải (nếu có) ở phía trước Cổng thông tin, theo biểu mẫu:

http://myPortalLoadBalancer:8443

Nếu không có trình cân bằng tải, thì URL và số cổng của nút Cổng thông tin, dưới dạng:

http://myPortalLoadBalancer:8443

Số cổng0S0a theo mặc định là API Ba0

BAAS_PORTAL_LISTEN_PORT

Số cổng cho máy chủ API BaaS Cổng là 9000. Nếu không có cổng này, hãy chỉ định một cổng khác.

Nếu bạn đang đặt BAAS_PORTAL_URL thành URL của nút Cổng thông tin, thì số cổng của cả hai tài sản phải giống nhau.

Không bắt buộc – Cài đặt Cassandra: Máy 8, 9 và 10

Mặc dù bạn có thể kết nối API BaaS với cùng một cụm Cassandra mà Edge sử dụng, nhưng Apigee bạn nên sử dụng các cụm riêng biệt.

Cụm Cassandra có thể sử dụng phương thức xác thực hoặc có thể tắt phương thức xác thực Cassandra. Hãy xem phần Bật tính năng xác thực Cassandra để biết thêm thông tin.

  1. Cài đặt tiện ích apigee-setup của Edge trên nút bằng cách sử dụng quy trình Internet hoặc không phải Internet. Hãy xem bài viết Cài đặt tiện ích thiết lập apigee của Edge để biết thêm thông tin.
  2. Tại dấu nhắc lệnh, hãy chạy tập lệnh thiết lập:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

    Tuỳ chọn “-p c” chỉ định để cài đặt Cassandra.
    Người dùng "apigee" phải truy cập được hoặc đọc được tệp cấu hình.

Cấu hình hoàn tất quá trình thiết lập kho dữ liệu trên nút.

Lưu ý rằng JMX được bật theo mặc định cho Cassandra. Quyền truy cập từ xa của JMX vào Cassandra không yêu cầu mật khẩu. Bạn có thể định cấu hình Cassandra để sử dụng phương thức xác thực cho JMX. Để biết thêm thông tin, hãy xem phần Cách theo dõi.

Thiết lập công việc định kỳ Cassandra

Thiết lập một công việc cron (công cụ định kỳ) sử dụng nodetool để kích hoạt các khoá chạy mỗi giờ trên mọi nút Cassandra.

Nếu bạn có nhiều nút Cassandra, hãy bù trừ công việc cron trên mỗi máy chủ 5 phút để tất cả các nút không bị xoá cùng một lúc.

Lệnh cron phải thực thi lệnh sau:

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

trong đó IP_address là địa chỉ IP của nút Cassandra.

Cài đặt ElasticSearch: Máy 1, 2 và 3

Cách cài đặt ElasticSearch:

  1. Cài đặt tiện ích Edge apigee-setup trên nút bằng cách sử dụng quy trình Internet hoặc không có Internet. Hãy xem bài viết Cài đặt tiện ích thiết lập apigee của Edge để biết thêm thông tin.
  2. Tại dấu nhắc lệnh, hãy chạy tập lệnh thiết lập:
    > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile

    Tuỳ chọn “-p e” chỉ định để cài đặt ElasticSearch.
    Người dùng "apigee" phải truy cập được hoặc đọc được tệp cấu hình.
  3. (Không bắt buộc) Nếu bạn cài đặt ElasticSearch trên một nút độc lập, tức là nó chưa được cài đặt với API BaaS Stack, thì hãy điều chỉnh tuỳ chọn bộ nhớ mặc định để tăng bộ nhớ được phân bổ cho ElasticSearch từ 4GB lên 6GB:
    1. Mở /opt/apigee/customer/application/elasticsearch.properties trong trình chỉnh sửa. Nếu tệp này không tồn tại, hãy tạo tệp.
    2. Đặt thuộc tính setenv_elasticsearch_max_mem_size thành 6g (giá trị mặc định là 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. Lưu tệp.
    4. Chạy lệnh sau:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch khởi động lại

Cấu hình hoàn tất quá trình thiết lập trên nút.

Cài đặt API BaaS Stack: Máy 4, 5 và 6

Cách cài đặt Ngăn xếp API BaaS:

  1. Cài đặt tiện ích Edge apigee-setup trên nút bằng cách sử dụng quy trình Internet hoặc không có Internet. Hãy xem bài viết Cài đặt tiện ích thiết lập apigee của Edge để biết thêm thông tin.
  2. Tại dấu nhắc lệnh, hãy chạy tập lệnh thiết lập:
    > /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile

    Tuỳ chọn “-p b” chỉ định để cài đặt API BaaS Stack.
    Người dùng "apigee" phải truy cập được hoặc đọc được tệp cấu hình.

Sau khi tìm nạp thông tin xác thực quản trị viên chính xác, trình cài đặt sẽ cài đặt Tomcat, tạo không gian khoá API BaaS và thiết lập Ngăn xếp API BaaS trên máy chủ. SMTP cũng được định cấu hình để cho phép giao diện người dùng gửi email xác nhận mật khẩu.

Cài đặt API BaaS cổng: Máy 7

Cách cài đặt Cổng API BaaS:

  1. Cài đặt tiện ích Edge apigee-setup trên nút bằng cách sử dụng quy trình Internet hoặc không có Internet. Hãy xem bài viết Cài đặt tiện ích thiết lập apigee của Edge để biết thêm thông tin.
  2. Tại dấu nhắc lệnh, hãy chạy tập lệnh thiết lập:
    > /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile

    Tuỳ chọn “-p p” chỉ định cài đặt API BaaS Cổng.
    Người dùng "apigee" phải truy cập được hoặc đọc được tệp cấu hình.

Trình cài đặt sẽ khởi động máy chủ web Nginx rồi hoàn tất cấu hình API BaaS Cổng.

Ghi lại URL cổng thông tin BaaS của API. Đây là URL mà bạn nhập vào trình duyệt để truy cập vào giao diện người dùng của API BaaS Cổng thông tin.

Định cấu hình các nút API BaaS cho trình cân bằng tải Ngăn xếp hoặc Cổng thông tin

Nếu đưa một trình cân bằng tải vào phía trước nút Ngăn xếp hoặc nút Cổng thông tin, bạn phải định cấu hình các nút đó bằng URL chính xác của trình cân bằng tải. Ví dụ: các nút Ngăn xếp yêu cầu thông tin này khi:

  • Đưa một URL vào phản hồi trong các yêu cầu API BaaS.
  • Thêm đường liên kết vào mẫu email khi đặt lại mật khẩu hoặc khi gửi thông báo khác.
  • Chuyển hướng người dùng đến các trang cụ thể trên Cổng thông tin.

Nếu bạn sử dụng trình cân bằng tải trước các nút Ngăn xếp, hãy đặt các thuộc tính sau trong /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

Thay thế http://localhost:8080 bằng URL của trình cân bằng tải. Nếu trình cân bằng tải được định cấu hình để sử dụng TLS, hãy sử dụng giao thức HTTPS. Bạn chỉ cần thêm cổng đó nếu đang sử dụng một cổng không chuẩn, nghĩa là cổng khác với cổng 80 cho HTTP và cổng 443 cho HTTPS.

Bạn cũng phải đặt thuộc tính sau trong /opt/apigee/customer/application/cổng.properties nếu bạn sử dụng trình cân bằng tải ở phía trước các nút Ngăn xếp:

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

Thay thế http://localhost:8080 bằng URL của trình cân bằng tải cho Ngăn xếp.

Nếu bạn sử dụng trình cân bằng tải ở phía trước nút Cổng thông tin, hãy đặt các thuộc tính sau trong 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

Thay thế http://localhost:9000 bằng URL của trình cân bằng tải. Nếu trình cân bằng tải được định cấu hình để sử dụng TLS, hãy sử dụng giao thức HTTPS. Bạn chỉ cần thêm cổng đó nếu đang sử dụng một cổng không chuẩn, nghĩa là cổng nào đó không phải là cổng 80 cho HTTP và cổng 443 cho HTTPS.

Sau khi chỉnh sửa usergrid.properties portal.properties:

  1. Định cấu hình nút Ngăn xếp:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid cấu hình
  2. Triển khai các thay đổi cho Tomcat:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid triển khai
  3. Khởi động lại ngăn xếp BaaS:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid khởi động lại
  4. Nếu bạn đã sửa đổi portal.properties, hãy định cấu hình nút Cổng:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service baas-cổng định cấu hình
  5. Triển khai các thay đổi:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service baas-cổng triển khai
  6. Khởi động lại Cổng thông tin BaaS:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service baas-cổng khởi động lại

Giới thiệu về tổ chức mới

Giới thiệu là quá trình tạo một tổ chức và quản trị viên tổ chức. Sau khi tạo quản trị viên tổ chức và tổ chức, bạn có thể đăng nhập vào giao diện người dùng của API BaaS và gửi yêu cầu đến API BaaS REST API.

Khi bạn tạo một tổ chức, địa chỉ email của quản trị viên tổ chức sẽ:

  • Phải khác với địa chỉ email của quản trị viên hệ thống.
  • Phải là duy nhất trong số tất cả các tổ chức khác. Điều đó có nghĩa là bạn không thể tạo hai tổ chức có cùng một địa chỉ email cho quản trị viên tổ chức. Tuy nhiên, sau khi tạo tổ chức, bạn có thể thêm các quản trị viên khác có thể bị trùng lặp trong nhiều tổ chức.

Để thực hiện quy trình giới thiệu, hãy sử dụng tập lệnh Python create_org_and_user.py. Khi gọi tập lệnh này mà không có đối số dòng lệnh, tập lệnh này sẽ nhắc bạn cung cấp tất cả thông tin:

> python create_org_and_user.py

Ngoài ra, bạn có thể chuyển bất kỳ hoặc tất cả tuỳ chọn dưới dạng đối số dòng lệnh. Bạn được nhắc cung cấp mọi thông tin mà bạn bỏ qua khỏi dòng lệnh:

> 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>'

Cách tạo một tổ chức:

  1. Thay đổi thư mục thành /opt/apigee/baas-usergrid/bin.
  2. Gọi tập lệnh Python create_org_and_user.py.
    Bạn sẽ được nhắc cung cấp tên người dùng và mật khẩu quản trị viên hệ thống BaaS để chỉ quản trị viên hệ thống mới có thể chạy tên người dùng và mật khẩu đó.
  3. Đăng nhập vào API BaaS Cổng trong trình duyệt web bằng cách sử dụng URL bạn đã lưu ý ở cuối quá trình cài đặt URL cổng API BaaS. Để truy cập cổng thông tin, hãy nhập URL cổng thông tin của API BaaS trong biểu mẫu:
    http://{portalExternalIP}:9000/

    Lưu ý: IP là địa chỉ IP bên ngoài/tên máy chủ của máy Cổng. Đảm bảo rằng cổng đang mở.
  4. Khi màn hình đăng nhập của cổng xuất hiện, bạn có thể:
    • Đăng nhập bằng tên người dùng và mật khẩu của quản trị viên tổ chức.
    • Đăng nhập bằng tên người dùng và mật khẩu của quản trị viên hệ thống.

Truy cập vào API BaaS REST

Để truy cập vào API BaaS REST API, hãy sử dụng một URL có trong biểu mẫu:

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

Trong môi trường phát triển, bạn có thể cài đặt tất cả thành phần API BaaS trên một nút duy nhất, nghĩa là bạn có một Ngăn xếp API BaaS. Hoặc, bạn có thể có một môi trường nhỏ có một nút Ngăn xếp API BaaS duy nhất và không có trình cân bằng tải. Trong các loại môi trường này, bạn có thể thực hiện lệnh gọi API trực tiếp đến nút Ngăn xếp API BaaS:

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

Để biết thêm thông tin về cách bắt đầu sử dụng API BaaS Cổng thông tin, hãy xem tài liệu về Apigee tại: http://apigee.com/docs/content/build-apps-home.