Tạo tổ chức, môi trường và máy chủ ảo

Bạn có thể tạo một tổ chức, môi trường và máy chủ ảo trên dòng lệnh trong một lệnh duy nhất hoặc bạn có thể tạo riêng từng tổ chức, môi trường và máy chủ ảo. Ngoài ra, bạn có thể dùng API Edge để thực hiện nhiều thao tác trong số này.

Video: Xem video ngắn để biết thông tin tổng quan về cách thiết lập và cấu hình của tổ chức Apigee.

Tạo một tổ chức, môi trường và máy chủ ảo cùng 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, có một hoặc nhiều môi trường và máy chủ ảo trong mỗi tổ chức.

Thông thường, các tổ chức và môi trường được tạo ra cùng nhau. Để đơn giản hoá quy trình, hãy sử dụng tiện ích apigee-provision. Gọi mã này từ dòng lệnh trên Máy chủ quản lý cạnh:

/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

Trong đó configFile là đường dẫn đến một tệp cấu hình có dạng như sau:

# Set Edge sys admin credentials.
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=admin_password  # If omitted, you are prompted for it.
NEW_USER="y"
USER_NAME=orgAdmin@myCo.com
FIRST_NAME=foo
LAST_NAME=bar
USER_PWD="userPword"
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=prod  # lowercase only
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.
# Optionally set the base URL displayed by the Edge UI for an
# API proxy deployed to the virtual host.
# VHOST_BASEURL="http://myCo.com"
# AXGROUP=axgroup-001 # Default value is axgroup-001

Khi thiết lập một tổ chức, tập lệnh setup-org sẽ thực hiện những việc sau:

  • Tạo tổ chức.
  • Liên kết tổ chức với nhóm "cổng vào". Bạn không thể thay đổi chế độ này.
  • Thêm người dùng được chỉ định làm quản trị viên của tổ chức. Nếu người dùng không tồn tại, bạn có thể tạo một tài khoản.
  • 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ả Bộ xử lý thông báo.
  • Bật số liệu phân tích.

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 trực tiếp sử dụng Edge API để tạo tổ chức hoặc môi trường. Cả tên tổ chức và tên môi trường đều phải viết thường.

Tạo tổ chức

Sử dụng lệnh create-org để tạo một tổ chức, như trong ví dụ sau:

/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ý 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 name chỉ được phép sử dụng a-z0-9\-$%. Không sử dụng dấu cách, dấu chấm hoặc chữ cái viết hoa trong tên:

APIGEE_ADMINPW=admin_password    # If omitted, you are prompted for it.
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ORG_ADMIN=orgAdmin@myCo.com

Tập lệnh create-org:

  • Tạo tổ chức.
  • Liên kết tổ chức với nhóm "cổng vào".
  • Thêm người dùng được chỉ định làm quản trị viên của tổ chức. Người dùng phải tồn tại; nếu không, tập lệnh sẽ gặp lỗi.

Tạo một tổ chức bằng cách sử dụng lệnh gọi API

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://management_server_IP:8080/v1/organizations \
  -d '<Organization name="org_name" type="paid"/>'

Cuộc gọi tiếp theo sẽ 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://management_server_IP:8080/v1/organizations/org_name/pods \
  -d "region=default&pod=gateway"

Lệnh gọi cuối cùng sẽ thêm một người dùng hiện tại làm quản trị viên tổ chức của 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 tập lệnh add-env để tạo môi trường trong 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=admin_password  # If omitted, you are prompted for it.
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=prod  # lowercase only
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. 
# Optionally set the base URL displayed by the Edge UI for an
# API proxy deployed to the virtual host.
# VHOST_BASEURL="http://myCo.com"
# AXGROUP=axgroup-001 # Default value is axgroup-001

Lệnh add-env:

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

Tạo môi trường bằng cách sử dụng lệnh gọi API

Ngoài ra, bạn có thể dùng các lệnh gọi API sau để tạo môi trường. Lệnh gọi đầu tiên sẽ tạo môi trường:

curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \
  -X POST http://management_server_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ý tin nhắn. Thực hiện lệnh gọi này cho từng Trình 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://management_server_IP:8080/v1/organizations/org_name/environments/env_name/servers \
  -d "action=add&uuid=uuid"

Trong đó uuid là mã nhận dạng duy nhất (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://Message_Processor_IP:8082/v1/servers/self

Trong đó Message_Processor_IP là địa chỉ IP của Bộ xử lý thư.

Lệnh gọi API tiếp theo sẽ bật Analytics cho một môi trường nhất định. Công cụ này xác thực sự tồn tại của Máy chủ Qpid và Postgres trong POD của tất cả các trung tâm dữ liệu. Sau đó, hệ thống sẽ bắt đầu làm quen với Analytics cho tổ chức và môi trường cụ thể.

Tệp cấu hình này chứa:

ORG_NAME=orgName  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=envName  # lowercase only

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 UUID Postgres được phân tách bằng dấu phẩy và thuộc tính qpid-server chứa các 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 sau:

curl -u sysAdminEmail:password http://management_server_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 sau:

curl -u sysAdminEmail:admin_password http://management_server_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ủ ảo trong môi trường hiện có của tổ chức. Thông thường, một môi trường sẽ hỗ trợ nhiều máy chủ ả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ôi trường đó hỗ trợ giao thức HTTPS đã mã hoá.

Sử dụng lệnh gọi API sau để 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://management_server_IP:8080/v1/organizations/org_name/environments/env_name/virtualhosts \
  -d '<VirtualHost name="default"> \
    <HostAliases> \
      <HostAlias>myorg-test.apigee.net</HostAlias> \
    </HostAliases> \
    <Interfaces/> \
    <Port>443</Port> \
  </VirtualHost>'

Để xem 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 nội dung Định cấu hình quyền truy cập TLS vào API cho Đám mây riêng tư.