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 phiên bản chính thức của API BaaS sẽ sử dụng trình cân bằng tải giữa nút Cổng API BaaS và nút Ngăn xếp API BaaS. Khi định cấu hình Cổng thông tin, bạn chỉ định địa chỉ IP hoặc tên DNS của trình cân bằng tải, không phải nút Ngăn xếp.
Thay vì sử dụng 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 tạo một mục DNS có nhiều bản ghi A tương ứng với địa chỉ IP của ngăn xếp BaaS. Trong khi sử dụng DNS tra cứu, máy chủ DNS tự động trả về các giá trị bản ghi A theo kiểu 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ài đặt BaaS nhỏ hơn, nghĩa là những cài đặt có lưu lượng truy cập thấp hơn, thường chia sẻ cụm Cassandra với Edge.
Để có công suất và khả năng hoạt động cao hoặc để tách các cụm Cassandra thành các cụm vùng mạng, Apigee khuyên bạn nên sử dụng các cụm Cassandra riêng biệt. Phân tách các cụm tối đa hoá hiệu suất nếu bạn nhận đượ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ả cá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 máy chủ có thời gian hay không đã đồng bộ hoá. Bạn có thể sử dụng "yum install ntp" để cài đặt tiện ích này.
Công nghệ bảo mật Tomcat
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 Ngăn xếp API BaaS, bao gồm cả giao diện người dùng quản trị viên Tomcat. Trình cài đặt để lại thông tin đăng nhập mặc định của quản trị viên không thay đổi từ admin:admin.
Nếu cần, bạn có thể thay đổi thông tin đăng nhập này để bảo mật Tomcat. Để biết thêm thông tin, hãy xem:
- https://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html
- https://www.owasp.org/index.php/Securing_tomcat
Tổng quan về việc cài đặt
Sau khi bạn cài đặt Edge, tiện ích apigee-setup 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
Truyền tệp cấu hình đến tiện ích apigee-setup chứa phần tử thông tin về việc 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 thông tin, phương thức thiết lập apigee tiện ích sẽ nhắc bạn nhập mã đó vào dòng lệnh.
Yêu cầu duy nhất là tệp cấu hình phải được "api" người dùng.
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 Apigee hỗ trợ một số tuỳ chọn để cài đặt các thành phần API BaaS. Các 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ể sử dụng các tuỳ chọn khác nhau dựa trên nút của mình cấu hình:
Lựa chọn |
Nội dung mô tả |
---|---|
e |
Chỉ cài đặt ElasticSearch. |
b |
Chỉ cài đặt API BaaS Stack. Thao tác này cũng cài đặt Tomcat. |
p |
Chỉ cài đặt API BaaS Portal. Cổng này cũng cài đặt bộ định tuyến Nginx để dùng làm web máy chủ. |
c |
Chỉ cài đặt Cassandra. |
tháng 9 |
Cài đặt ElasticSearch, API BaaS Stack và Tomcat trên nút. |
ebp |
Cài đặt ElasticSearch, API BaaS Portal, API BaaS Stack và Tomcat. Cổng thông tin là vậy trọng lượng nhẹ không cần thêm tài nguyên cho việc này. |
châu á |
Cài đặt tất cả các thành phần API trên một nút (Cassandra, Elasticsearch, API BaaS Stack, và API BaaS Portal). Chỉ sử dụng tuỳ chọn này cho hoạt động phát triển và kiểm thử, không dành cho sản xuất. |
Đang tạo cấu hình im lặng tệp
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 để đưa tệp này vào.
# 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 cung cấp thêm thông tin về những cơ sở lưu trú 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à bao gồ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à giá đỡ/khu vực tình trạng còn hàng 1 và '192.168.124.204:2,1 = trung tâm dữ liệu 2 và giá đỡ/khu vực khả dụng 1. |
CASS_USERNAME |
Tên người dùng và mật khẩu của 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ị bị bỏ qua. |
BAAS_CASS_LOCALDC |
Tên khu vực phải ở dạng dc-#, trong đó # tương ứng với một giá trị số nguyên. Ví dụ: dc-1, dc-2, v.v. Nếu bạn đang kết nối với cụm Cassandra đã cài đặt với Edge, bạn có thể yêu cầu quản trị viên hệ thống của Edge cung cấp giá trị này. Trong một Edge cài đặt trung tâm dữ liệu, 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 địa chỉ IP Cassandra. Giá trị đầu tiên "dc" là số của trung tâm dữ liệu. Tên trung tâm dữ liệu là chuỗi "dc-" với số trung tâm dữ liệu là hậu tố. |
BAAS_CASS_REPLICATION |
Định dạng là "dataCenterName:#CassandraNodes". Ví dụ: đối với dc-1 có ba nút Cassandra, thì đó là dc-1:3. |
BAAS_USERGRID_URL |
Trong môi trường phát hành chính thức, đây là URL và cổng của trình cân bằng tải nằm trong
trước các nút Ngăn xếp API BaaS, có dạng: Trong môi trường thử nghiệm hoặc phát triển, nơi bạn chỉ có một Ngăn xếp API BaaS duy nhất nút, đây có thể là URL và số cổng của nút Ngăn xếp API BaaS, có dạng: 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 Portal,
trong biểu mẫu: |
BAAS_PORTAL_LISTEN_PORT |
Số cổng cho máy chủ API BaaS Portal là 9000. Nếu cổng này không khả dụng, chỉ định một cổng khác. Nếu bạn đặt BAAS_PORTAL_URL thành URL của Nút cổng, số cổng phải giống nhau cho cả hai thuộc tính. |
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 khuyên 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 bạn có thể tắt tính năng xác thực Cassandra. Xem Bật tính năng xác thực Cassandra cho khác.
- Cài đặt tiện ích apigee-setup Edge trên nút bằng cách dùng internet hoặc không phải là Internet. Xem bài viết Cài đặt tiện ích thiết lập apigee của Edge để khác.
- 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 việc cài đặt Cassandra.
Tệp cấu hình phải có thể truy cập hoặc có thể đọc được bởi "api" người dùng.
Cấu hình hoàn tất thành công việc 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 tính năng xác thực cho JMX. Để biết thêm thông tin, hãy xem Cách giám sát.
Thiết lập công việc cron Cassandra
Thiết lập một công việc chạy cron sử dụng nodetool để xoá để 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ủ trong 5 phút để tất cả các nút không được đẩy ra cùng một lúc.
Công việc 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:
- Cài đặt tiện ích thiết lập apigee của Edge trên nút bằng cách sử dụng Internet hoặc không có Internet quy trình. Xem phần Cài đặt thiết lập apigee của Edge tiện ích khác.
- 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 việc cài đặt ElasticSearch.
Tệp cấu hình phải có thể truy cập hoặc có thể đọc được bởi "api" người dùng. - (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à bạn chưa cài đặt nút này
bằng Ngăn xếp API BaaS, sau đó điều chỉnh tuỳ chọn bộ nhớ mặc định để tăng mức bộ nhớ được phân bổ cho
ElasticSearch từ 4GB lên 6GB:
- 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.
- Đặt giá trị setenv_elasticsearch_max_mem_size
thuộc tính thành 6g (mặc định là 4g):
setenv_elasticsearch_max_mem_size=6g - Lưu tệp.
- 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 thành công 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:
- Cài đặt tiện ích thiết lập apigee của Edge trên nút bằng cách sử dụng Internet hoặc không có Internet quy trình. Xem phần Cài đặt thiết lập apigee của Edge tiện ích khác.
- 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 việc cài đặt Ngăn xếp API BaaS.
Tệp cấu hình phải có thể truy cập hoặc có thể đọc được bởi "api" người dùng.
Sau khi tìm nạp đúng thông tin đăng nhập của quản trị viên, trình cài đặt sẽ cài đặt Tomcat, tạo API Các không gian khoá 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 Portal: Máy 7
Cách cài đặt Cổng API BaaS:
- Cài đặt tiện ích thiết lập apigee của Edge trên nút bằng cách sử dụng Internet hoặc không có Internet quy trình. Xem phần Cài đặt thiết lập apigee của Edge tiện ích khác.
- 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 việc cài đặt API BaaS Portal.
Tệp cấu hình phải có thể truy cập hoặc có thể đọc được bởi "api" người dùng.
Trình cài đặt khởi động máy chủ web Nginx, sau đó hoàn tất Cổng API BaaS .
Ghi lại URL Cổng thông tin API BaaS. Đây là URL 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 Portal.
Định cấu hình các nút API BaaS cho một Ngăn xếp hoặc Trình cân bằng tải Cổng thông tin
Nếu bạn đưa trình cân bằng tải vào trước nút Ngăn xếp hoặc Cổng thông tin, bạn phải định cấu hình các nút có 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 điều này thông tin khi:
- Đưa một URL vào các phản hồi trong các yêu cầu API BaaS.
- Thêm liên kết trong mẫu email khi đặt lại mật khẩu hoặc gửi mật khẩu khác thông báo.
- Chuyển hướng người dùng đến các trang Cổng thông tin cụ thể.
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 lượt tải trình cân bằng. Nếu trình cân bằng tải được định cấu hình để dùng TLS, hãy dùng giao thức HTTPS. Chỉ bạn cần bao gồm cổng nếu bạn đang sử dụng cổng không theo 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.
Bạn cũng phải đặt thuộc tính sau trong /opt/apigee/customer/application/portal.properties 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:
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 Portal, 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 để dùng TLS, hãy dùng giao thức HTTPS. Bạn chỉ cần thêm cổng nếu bạn đang sử dụng cổng không theo 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 và portal.properties:
- Định cấu hình nút Ngăn xếp:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid định cấu hình - Triển khai các thay đổi cho Tomcat:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid triển khai - 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 - Nếu bạn đã sửa đổi portal.properties, hãy định cấu hình
nút Cổng thông tin:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal định cấu hình - Triển khai các thay đổi:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal triển khai - Khởi động lại Cổng thông tin BaaS:
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-portal khởi động lại
Giới thiệu tổ chức mới
Giới thiệu là quá trình tạo một quản trị viên tổ chức và tổ chức. Sau tạo quản trị viên tổ chức và tổ chức, bạn có thể đăng nhập vào Cổng API BaaS Giao diện người dùng và gửi yêu cầu đến API BaaS REST.
Khi bạn tạo một tổ chức, địa chỉ email của quản trị viên tổ chức:
- 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 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 bằng 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 của bạn, bạn có thể thêm quản trị viên bổ sung có thể bị trùng lặp trên nhiều quản trị viên tổ chức.
Để thực hiện quy trình tham gia, hãy sử dụng tập lệnh Python create_org_and_user.py. Việc gọi tập lệnh này mà không có đối số dòng lệnh sẽ khiến tập lệnh nhắc bạn của bạn:
> 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 nhậ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 tổ chức:
- Thay đổi thư mục thành /opt/apigee/baas-usergrid/bin.
- Gọi tập lệnh Python create_org_and_user.py.
Bạn được nhắc nhập tên người dùng và mật khẩu của quản trị viên hệ thống BaaS để chỉ hệ thống quản trị viên có thể chạy tệp đó. - Đăng nhập vào Cổng API BaaS trong trình duyệt web bằng URL bạn đã ghi chú ở cuối
Cài đặt URL Cổng thông tin API BaaS. Để truy cập vào cổng thông tin, hãy nhập URL của API BaaS Portal vào
biểu mẫu:
http://{portalExternalIP}:9000/
Lưu ý: IP là địa chỉ IP bên ngoài/tên máy chủ lưu trữ của máy Portal. Đảm bảo cổng đó đang mở. - Khi màn hình đăng nhập cổng thông tin 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 của API, hãy dùng một URL có dạng:
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ả các thành phần API BaaS trên một nút duy nhất, tức 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ỏ với một Nút API BaaS Stack 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 Portal, hãy xem tài liệu về Apigee tại: http://apigee.com/docs/content/build-apps-home.