建立機構、環境和虛擬主機

Private Cloud v. 4.17.09 版本

建立機構 同時設定環境和虛擬主機

在 Apigee Edge 中建立 API Proxy 之前,您必須建立至少一個機構,且 都有一或多個環境和虛擬主機

一般來說,機構和環境會一起建立。如要簡化程序,請使用 apigee-provision 公用程式。 從 Edge Management Server 的指令列叫用:

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

設定檔包含:

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

指令會:

  • 建立機構
    注意:機構一經建立即無法重新命名。
  • 預設會將機構與 Pod 建立關聯,並將該機構與「閘道」建立關聯。 廣告連播
  • 將指定的使用者新增為機構組織管理員。如果使用者不存在,您可以 第一。
  • 建立一或多個環境
  • 為每個環境建立一或多個虛擬主機
  • 將環境與所有訊息處理器建立關聯
  • 啟用數據分析

如需完整的無訊息設定檔,請參閱開啟 機構

根據預設,機構名稱和環境名稱的長度上限為 20 個字元 使用 apigee-provision 時 公用程式如果您直接使用 Edge API 建立機構,則不受這項限制。 環境。

建立機構

使用 create-org 指令建立機構:

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision create-org -f configFile

這個指令碼會建立機構,但不會新增或設定環境, 處理 API 呼叫所需的虛擬主機。

設定檔包含機構名稱和機構管理員的電子郵件地址。 名稱屬性中可使用的字元僅限:a-z0-9\-$%。請勿使用空格 名稱中的半形句號或大寫字母:

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

指令會:

  • 建立機構
  • 預設會將機構與 Pod 建立關聯,並將該 Pod 與「閘道」建立關聯。 廣告連播
  • 將指定的使用者新增為機構組織管理員。使用者必須已存在;否則指令碼 發生錯誤。
,瞭解如何調查及移除這項存取權。
<Error>
    <Code>organizations.OrganizationAlreadyExists</Code>
    <Message>Organization : test already exists</Message>
    <Contexts/>
</Error>

建立機構組織時,使用 API 呼叫數

或者,您也可以使用下列 API 呼叫來建立機構。第一個呼叫會建立 機構:

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \
-X POST http://<ms-ip>:8080/v1/organizations \
-d '<Organization name="<org-name>" type="paid"/>'

接下來的呼叫會將機構連結至 Pod:

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" 

你可以多次撥打這通電話,將這個機構與多位 Pod 的名稱

在最終呼叫中,系統會將現有使用者新增為機構的機構管理員:

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

如果使用者不存在,您可以使用下列呼叫建立使用者,如 正在新增使用者。

可建立環境

使用 add-env 指令 如何在現有機構中建立環境:

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision add-env -f configFile

這個設定檔內含建立環境和虛擬機器所需的資訊 主機:

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

指令:

  • 建立環境
  • 為環境建立單一虛擬主機
  • 將環境與 也就是環境下的機構
  • 啟用數據分析
    注意:如果您為機構中的一個環境啟用數據分析功能,您必須 為機構中的所有環境啟用數據分析功能。

使用以下角色建立環境: API 呼叫數

或者,您也可以使用下列 API 呼叫建立環境。第一次呼叫 會建立環境:

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

下一次呼叫會將環境與訊息處理器建立關聯。請針對每個使用者撥打此呼叫 您要與環境建立關聯的訊息處理器:

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

&lt;uuid&gt;」是 訊息處理器的 UUID。您可以使用下列指令取得 UUID:

> curl http://<mp-ip>:8082/v1/servers/self

&lt;mp-ip&gt;」是 訊息處理器的 IP 位址。

下一項 API 呼叫會為指定環境啟用 Analytics。它可以驗證 所有資料中心 POD 中的 Qpid 和 Postgres 伺服器。然後開始設定 Analytics 特定機構和環境的特性

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-ax -f configFile

這個設定檔包含:

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"

其中 sample.json 包含下列項目:

{
  "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"] 
  }
}

postgres-servers 屬性 包含以逗號分隔的 Postgres UUID 清單,qpid-server 屬性則包含 Qpid UUID。 如果您需要取得這些 UUID,請使用下列指令。

針對 Qpid,請執行下列指令:

curl -u <sysAdminEmail>:<passwd> http://<ms-ip>/v1/servers?pod=central

這個指令的輸出內容是 JSON 物件。對於每個 Qpid 伺服器,您都會在 表單:

"type" : [ "qpid-server" ],
"uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"

針對 Postgres,請執行下列指令:

curl -u <sysAdminEmail>:<passwd> http://<ms-ip>/v1/servers?pod=analytics

針對每個 Postgres 伺服器,您會看到以下格式的輸出內容:

"type" : [ "postgres-server" ],
"uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"

建立虛擬主機

您可以在機構的現有環境中建立虛擬主機。這通常 環境支援多個虛擬主機舉例來說,某個虛擬主機可能支援 HTTP 同個環境中的其他虛擬主機則支援加密 HTTPS 因此效能相當卓越

請使用下列 API 呼叫建立其他虛擬主機,或為 沒有虛擬主機的環境:

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>443</Port> \
  </VirtualHost>' 

有關建立虛擬主機的完整說明,包括建立安全虛擬主機 透過 HTTPS 使用 TLS/SSL 的主機,請參閱設定 API 的 TLS 存取權 私有雲