Edge for Private Cloud v. 4.17.01
Tạo Tổ chức, môi trường và máy chủ ảo cùng một lúc
Trước khi tạo proxy API trên Apigee Edge, bạn phải tạo ít nhất một tổ chức và trong mỗi tổ chức, một hoặc nhiều môi trường và máy chủ lưu trữ ảo.
Thông thường, các tổ chức và môi trường được tạo cùng nhau. Để đơn giản hoá quy trình, hãy sử dụng tiện ích apigee- cấp. Gọi lệnh này từ dòng lệnh trên Máy chủ quản lý Edge:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
Tệp cấu hình chứa:
# Set Edge sys admin credentials. ADMIN_EMAIL=your@email.com APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. NEW_USER="y" USER_NAME=orgAdmin@myCo.com FIRST_NAME=foo LAST_NAME=bar USER_PWD="userPwrod" ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ENV_NAME=prod VHOST_PORT=9001 VHOST_NAME=default VHOST_ALIAS="$IP1:9001" # Optionally configure TLS/SSL for virtual host. # VHOST_SSL=y # Set to "y" to enable TLS/SSL on the virtual host. # KEYSTORE_JAR= # JAR file containing the cert and private key. # KEYSTORE_NAME= # Name of the keystore. # KEYSTORE_ALIAS= # The key alias. # KEY_PASSWORD= # The key password, if it has one. # AXGROUP=axgroup-001 # Default value is axgroup-001
Sau đó, lệnh sẽ:
- Tạo tổ chức
Lưu ý: Bạn không thể đổi tên tổ chức sau khi tạo. - Liên kết tổ chức với một nhóm, theo mặc định là liên kết tổ chức với nhóm "cổng"
- Thêm người dùng được chỉ định làm quản trị viên tổ chức. Nếu người dùng không tồn tại, bạn có thể tạo một người dùng.
- Tạo một hoặc nhiều môi trường
- Tạo một hoặc nhiều máy chủ ảo cho mỗi môi trường
- Liên kết môi trường với tất cả(các) Trình xử lý thông báo
- Bật tính năng phân tích
Để biết tệp cấu hình im lặng đầy đủ, hãy xem phần Giới thiệu về tổ chức.
Theo mặc định, độ dài tối đa của tên tổ chức và tên môi trường là 20 ký tự khi sử dụng tiện ích apigee-provision. Giới hạn này không áp dụng nếu bạn sử dụng trực tiếp Edge API để tạo tổ chức hoặc môi trường.
Tạo tổ chức
Sử dụng lệnh create-org để tạo một tổ chức:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision create-org -f configFile
Tập lệnh này tạo tổ chức, nhưng không thêm hoặc định cấu hình môi trường và máy chủ ảo mà tổ chức yêu cầu để xử lý các lệnh gọi API.
Tệp cấu hình chứa tên của tổ chức và địa chỉ email của quản trị viên tổ chức. Các ký tự bạn có thể sử dụng trong thuộc tính tên bị hạn chế ở: a-z0-9\-$%. Không sử dụng dấu cách, dấu chấm hoặc chữ viết hoa trong tên:
APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ORG_ADMIN=orgAdmin@myCo.com
Sau đó, lệnh sẽ:
- Tạo tổ chức
- Liên kết tổ chức với một nhóm, theo mặc định, tổ chức đó sẽ liên kết với nhóm "cổng"
- Thêm người dùng đã chỉ định làm quản trị viên tổ chức. Người dùng phải tồn tại; nếu không tập lệnh sẽ đưa ra lỗi.
<Error> <Code>organizations.OrganizationAlreadyExists</Code> <Message>Organization : test already exists</Message> <Contexts/> </Error>
Tạo một tổ chức bằng cách sử dụng các lệnh gọi API
Ngoài ra, bạn có thể sử dụng các lệnh gọi API sau đây để tạo một tổ chức. Lệnh gọi đầu tiên sẽ tạo tổ chức:
curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \ -X POST http://<ms-ip>:8080/v1/organizations \ -d '<Organization name="<org-name>" type="paid"/>'
Lệnh gọi tiếp theo liên kết tổ chức với một nhóm:
curl -H "Content-Type:application/x-www-form-urlencoded" \ -u <sysAdminEmail>:<adminPasswd> -X POST \ http://<ms-ip>:8080/v1/organizations/<org-name>/pods \ -d "region=default&pod=gateway"
Bạn có thể thực hiện lệnh gọi này nhiều lần để liên kết tổ chức với nhiều nhóm.
Lệnh gọi cuối cùng sẽ thêm một người dùng hiện có làm quản trị viên tổ chức cho tổ chức:
curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \ -X POST \ http://<ms-ip>:8080/v1/organizations/<org-name>/users/<user-email>/userroles/ \ -d '<Roles><Role name="orgadmin"/></Roles>'
Nếu người dùng không tồn tại, bạn có thể sử dụng lệnh gọi sau để tạo người dùng như mô tả trong phần Thêm người dùng.
Tạo Môi trường
Sử dụng lệnh add-env để tạo một môi trường trong một tổ chức hiện có:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision add-env -f configFile
Tệp cấu hình này chứa thông tin cần thiết để tạo môi trường và máy chủ ảo:
APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ENV_NAME=prod VHOST_PORT=9001 VHOST_NAME=default VHOST_ALIAS="$IP1:9001" # Optionally configure TLS/SSL for virtual host. # VHOST_SSL=y # Set to "y" to enable TLS/SSL on the virtual host. # KEYSTORE_JAR= # JAR file containing the cert and private key. # KEYSTORE_NAME= # Name of the keystore. # KEYSTORE_ALIAS= # The key alias. # KEY_PASSWORD= # The key password, if it has one. # AXGROUP=axgroup-001 # Default value is axgroup-001
Lệnh:
- Tạo môi trường
- Tạo một máy chủ ảo duy nhất cho môi trường
- Liên kết môi trường với tất cả(các) Trình xử lý thông báo trong nhóm được liên kết với tổ chức chứa môi trường đó.
- Bật tính năng phân tích
Lưu ý: Nếu bật tính năng phân tích cho một môi trường trong tổ chức, bạn phải bật tính năng phân tích cho tất cả môi trường trong tổ chức.
Tạo một môi trường bằng cách sử dụng lệnh gọi API
Ngoài ra, bạn có thể sử dụng các lệnh gọi API sau đây để tạo môi trường. Lệnh gọi đầu tiên tạo môi trường:
curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \ -X POST http://<ms-ip>:8080/v1/organizations/<org-name>/environments \ -d '<Environment name="<env-name>"/>'
Lệnh gọi tiếp theo liên kết môi trường với Trình xử lý thông báo. Thực hiện lệnh gọi này cho từng Đơn vị xử lý thông báo mà bạn muốn liên kết với môi trường:
curl -H "Content-Type:application/x-www-form-urlencoded" \ -u <sysAdminEmail>:<adminPasswd> -X POST \ http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/servers \ -d "action=add&uuid=<uuid>"
Trong đó "<uuid>" là UUID của Trình xử lý thông báo. Bạn có thể lấy UUID bằng cách sử dụng lệnh:
> curl http://<mp-ip>:8082/v1/servers/self
Trong đó "<mp-ip>" là địa chỉ IP của Trình xử lý thông báo.
Lệnh gọi API tiếp theo sẽ bật Analytics cho một môi trường nhất định. Quy trình này xác thực sự tồn tại của máy chủ Qpid và Postgres trong các POD của tất cả các trung tâm dữ liệu. Sau đó, công cụ này sẽ bắt đầu làm quen với Analytics cho tổ chức và môi trường cụ thể.
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-ax -f configFile
Tệp cấu hình này chứa:
ORG_NAME=orgName # lowercase only, no spaces, underscores, or periods. ENV_NAME=envName
curl -H "Content-Type:application/json" -u <sysAdminEmail>:<adminPasswd> -X POST http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/analytics/admin -d "@sample.json"
Trong đó sample.json chứa nội dung sau:
{ "properties" : { "samplingAlgo" : "reservoir_sampler", "samplingTables" : "10=ten;1=one;", "aggregationinterval" : "300000", "samplingInterval" : "300000", "useSampling" : "100", "samplingThreshold" : "100000" }, "servers" : { "postgres-server" : [ "1acff3a5-8a6a-4097-8d26-d0886853239c", "f93367f7-edc8-4d55-92c1-2fba61ccc4ab" ], "qpid-server" : [ "d3c5acf0-f88a-478e-948d-6f3094f12e3b", "74f67bf2-86b2-44b7-a3d9-41ff117475dd"] } }
Thuộc tính postgres-servers chứa danh sách các mã nhận dạng duy nhất (UUID) được phân tách bằng dấu phẩy, còn thuộc tính qpid-server chứa các mã nhận dạng duy nhất (UUID) Qpid. Nếu bạn cần lấy các UUID này, hãy sử dụng các lệnh sau.
Đối với Qpid, hãy chạy lệnh:
curl -u <sysAdminEmail>:<passwd> http://<ms-ip>/v1/servers?pod=central
Kết quả của lệnh này là một đối tượng JSON. Đối với mỗi máy chủ Qpid, bạn sẽ thấy kết quả ở dạng:
"type" : [ "qpid-server" ], "uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"
Đối với Postgres, hãy chạy lệnh:
curl -u <sysAdminEmail>:<passwd> http://<ms-ip>/v1/servers?pod=analytics
Đối với mỗi máy chủ Postgres, bạn sẽ thấy kết quả ở dạng:
"type" : [ "postgres-server" ], "uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"
Tạo máy chủ ảo
Bạn có thể tạo máy chủ lưu trữ ảo trong một môi trường hiện có trong tổ chức. Thường thì một môi trường sẽ hỗ trợ nhiều máy chủ lưu trữ ảo. Ví dụ: một máy chủ ảo có thể hỗ trợ giao thức HTTP, trong khi một máy chủ ảo khác trong cùng một môi trường lại hỗ trợ giao thức HTTPS được mã hoá.
Sử dụng lệnh gọi API sau đây để tạo thêm máy chủ ảo hoặc để tạo máy chủ ảo cho một môi trường không có máy chủ ảo:
curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \ -X POST \ http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/virtualhosts \ -d '<VirtualHost name="default"> \ <HostAliases> \ <HostAlias>myorg-test.apigee.net</HostAlias> \ </HostAliases> \ <Interfaces/> \ <Port>9002</Port> \ </VirtualHost>'
Để biết nội dung mô tả đầy đủ về cách tạo máy chủ ảo, bao gồm cả cách tạo máy chủ ảo bảo mật sử dụng TLS/SSL qua HTTPS, hãy xem http://apigee.com/docs/api-services/content/creating-virtual-host.