API BaaS 安裝

Private Cloud v. 4.17.05 專用 Edge

安裝總覽

在節點上安裝 Edge 的 apigee-setup 公用程式後,請使用 可在節點上安裝一或多個 BaaS 元件。

Apigee-setup 公用程式有 表單:

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

將設定檔傳送至 apigee-setup 公用程式,該公用程式會包含 安裝的相關資訊如果設定檔缺少 相關資訊,apigee-setup 公用程式會提示您在指令列中輸入輸入碼。

唯一的要求是設定檔必須必須讓設定檔可讀取或讀取 「apigee」內容。

例如,使用以下指令安裝 API BaaS 堆疊:

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

指定要安裝的元件

Apigee setup.sh 公用程式 支援多個 API BaaS 元件安裝選項。以下說明使用 獨立選項 (c、e、b 和 p),但您可以根據節點使用不同的選項 設定:

選項

說明

e

只能安裝 ElasticSearch。

b

僅安裝 API BaaS Stack,此程式也會安裝 Tomcat。

p

僅安裝 API BaaS 入口網站,此同時也會安裝 Nginx 路由器以作為網路使用 伺服器

c

僅安裝 Cassandra。

Eb

在節點中安裝 ElasticSearch、API BaaS 堆疊和 Tomcat。

ebp

安裝 ElasticSearch、API BaaS 入口網站、API BaaS 堆疊,以及 Tomcat,而非 Cassandra。 入口網站本身變得輕而易舉,不需要額外的資源。

亞洲

在單一節點 (Cassandra、Elasticsearch、API BaaS) 中安裝所有 API BaaS 元件 Stack、API BaaS Portal、Tomcat)。這個選項僅供開發和測試使用,不適用 。

建立設定檔

這個設定檔包含安裝 API BaaS 所需的所有資訊。你可以 通常會使用相同的設定檔來安裝 BaaS 安裝中的所有元件。

以下所述的每個安裝拓撲都會顯示該拓撲的範例設定檔。適用對象 如需設定檔的完整參考資料,請參閱 BaaS 設定檔參考資料

在單一節點中安裝 API BaaS

以下顯示在單一節點中安裝 API BaaS 的設定檔。以下列身分編輯這個檔案: 。如需設定檔的完整參考資料,請參閱 BaaS 設定檔參考資料

IP1=192.168.56.101   # IP address of single node

# 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=stackAdminPWord

# Because you are installing Cassandra,
# specify Cassandra data center and rack suffix.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1"

# Specify the Cassandra region.
REGION=dc-1

# 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 Cassandra data center name.
BAAS_CASS_LOCALDC=dc-1

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=dc-1

# Replication is in the form "dataCenterName:#CassandraNodes". 
# For dc-1 with one Cassandra node, it is dc-1:1.
BAAS_CASS_REPLICATION=dc-1:1

# Defines the initial contact points for members of the BaaS cluster. 
# For a single node install, specify the IP address of the node. 
BAAS_CLUSTER_SEEDS="dc-1:$IP1"

# Single ElasticSearch IP.
ES_HOSTS="$IP1"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas" 

# IP/DNS and port 8080 of a single Stack node.
BAAS_USERGRID_URL="http://$IP1:8080"

# URL and port of the BaaS Portal node.  
BAAS_PORTAL_URL="http://$IP1: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

如要在其專屬節點中安裝 API BaaS:

  1. 使用下列指令,在節點上安裝 Edge apigee-setup 公用程式 網際網路或非網際網路程序。請參閱安裝 Edge apigee-setup 公用程式 內容。
  2. 在命令提示字元中執行設定指令碼:
    > /opt/apigee/apigee-setup/bin/setup.sh -p asa -f configFile

    「-p asa」選項指定在單一節點上安裝所有 API BaaS 元件 (Cassandra、Elasticsearch、API BaaS 堆疊、API BaaS 入口網站、Tomcat)。
    設定檔必須可由「apigee」存取或讀取內容。
  3. 由於您已將 ElasticSearch 安裝在獨立節點上,因此請調整預設記憶體大小 選項,將為 ElasticSearch 分配的記憶體從 4 GB 增加至 6 GB:
    1. /opt/apigee/customer/application/elasticsearch.properties 開啟 編輯。如果這個檔案不存在,請建立該檔案。
    2. 設定 setenv_elasticsearch_max_mem_size 屬性 至 6g (預設為 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. 儲存檔案。
    4. 執行下列指令:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch 重新啟動
  4. 按照下文「新機構加入」一節的說明申請機構。

設定已成功在節點上完成設定。

在 7 或 10 個節點中安裝 API BaaS

安裝 7 或 10 節點版本的 API BaaS 程序非常類似。只有 不同之處在於

  • 安裝 10 個節點,接著就會安裝三個 ElasticSearch 元件和三個 API 位於「獨立」節點上的 BaaS 堆疊元件,共計六個節點。這是 我們會建議採用這項設定,藉此取得最高效能,因為 ElasticSearch 需要大量設定 磁碟 I/O 和記憶體容量
  • 安裝 7 個節點,您必須安裝三個 ElasticSearch 元件和三個 API BaaS 堆疊相同節點上的堆疊元件,總共三個 節點。

針對 7 和 10 個 API BaaS 節點版本,您必須連線至 Cassandra 叢集。如果 您已安裝 Edge,現在可以連線至其 Cassandra 叢集。也就是說,您無須 必須安裝 Cassandra,才能安裝 API BaaS。

以下顯示一個 10 個節點 API BaaS 安裝的無訊息設定檔範例。如果 您在相同的三個節點上安裝 ElasticSearch 和 API BaaS 堆疊元件 編輯檔案,以便:

  • IP1 和 IP4 設為相同的 IP 位址
  • IP2 和 IP5 設為相同的 IP 位址
  • IP3 和 IP6 設為相同的 IP 位址

視需要編輯這個檔案。如需完整的參考資源 設定檔,請參閱 BaaS 設定檔參考資料

# 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=stackAdminPWord

# Only if you are installing Cassandra.
# Specify Cassandra data center and rack suffix.
# 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"

# Specify the Cassandra region.
REGION=dc-1

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

# For a single data center, specify the same value as BAAS_CASS_LOCALDC.
BAAS_CASS_DC_LIST=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

# Defines the initial contact points for members of the BaaS cluster. 
# Specify the IP address of no more than two Stack nodes. 
BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5"

# 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

選用 - 安裝 Cassandra:機器 8、9 和 10

您可以將 API BaaS 連結至 Edge 使用的 Cassandra 叢集。如果您尚未 已安裝的 Edge,您可以視需要安裝 Cassandra,供 API BaaS 使用。

Cassandra 叢集可以使用驗證功能,或是停用 Cassandra 驗證功能。詳情請見 啟用 Cassandra 驗證: 內容。

  1. 使用下列指令,在節點上安裝 Edge apigee-setup 公用程式 網際網路或非網際網路程序請參閱安裝 Edge apigee-setup 公用程式 內容。
  2. 在命令提示字元中執行設定指令碼:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

    「-p c」選項會指定安裝 Cassandra。
    設定檔必須可由「apigee」存取或讀取內容。

設定已成功在節點上完成資料儲存庫設定。

請注意,Cassandra 預設會啟用 JMX。無法透過 JMX 遠端存取 Cassandra 需要密碼。您可以設定 Cassandra,為 JMX 使用驗證機制。詳情請參閱 如何監控

設定 Cassandra Cron 工作

如果必須安裝 Cassandra,請設定 Cron 工作,該工作會使用 nodetool 清除每小時執行鎖定 在每個 Cassandra 節點上

如果您有多個 Cassandra 節點,請將每個伺服器上的 Cron 工作偏移五分鐘, 因為所有節點不會同時清除

Cron 工作必須執行下列指令:

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

其中 IP_address 是 Cassandra 節點的 IP 位址。

安裝 ElasticSearch: 機器 1、2 和 3

如要在其專屬節點上安裝 ElasticSearch:

  1. 透過網際網路或非網際網路,在節點中安裝 Edge Apigee-setup 公用程式 程序。請參閱安裝 Edge apigee-setup 公用程式
  2. 在命令提示字元中執行設定指令碼:
    > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile

    「-p e」選項可指定安裝 ElasticSearch。
    設定檔必須可由「apigee」存取或讀取內容。
  3. (選用) 如果您在獨立節點上安裝 ElasticSearch,代表系統並未安裝 ElasticSearch 使用 API BaaS 堆疊,調整預設記憶體選項,增加分配給 從 4 GB 到 6 GB 的 ElasticSearch:
    1. 開啟 /opt/apigee/customer/application/elasticsearch.properties 「在編輯器中設定」如果這個檔案不存在,請建立該檔案。
    2. 設定 setenv_elasticsearch_max_mem_size 屬性改為 6g (預設為 4g):
      setenv_elasticsearch_max_mem_size=6g
    3. 儲存檔案。
    4. 執行下列指令:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch 重新啟動

設定已成功在節點上完成設定。

安裝 API BaaS 堆疊: 機器 4、5 和 6

如何在專屬的節點上安裝 API BaaS 堆疊:

  1. 透過網際網路或非網際網路,在節點中安裝 Edge Apigee-setup 公用程式 程序。請參閱安裝 Edge apigee-setup 公用程式
  2. 在命令提示字元中執行設定指令碼:
    > /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile

    「-p b」選項指定安裝 API BaaS 堆疊。
    設定檔必須可由「apigee」存取或讀取內容。

安裝程式擷取正確的管理員憑證後,就會安裝 Tomcat、建立 API BaaS 索引鍵空間,並在伺服器上設定 API BaaS 堆疊。SMTP 也設定為 傳送密碼確認電子郵件的使用者介面。

安裝 API BaaS 入口網站:機器 7 分

如何安裝 API BaaS 入口網站:

  1. 透過網際網路或非網際網路,在節點中安裝 Edge Apigee-setup 公用程式 程序。請參閱安裝 Edge apigee-setup 公用程式
  2. 在命令提示字元中執行設定指令碼:
    > /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile

    「-p p」選項可指定安裝 API BaaS 入口網站。
    設定檔必須可由「apigee」存取或讀取內容。

    安裝程式會啟動 Nginx 網路伺服器,然後完成 API BaaS 入口網站 此外還會從 0 自動調整資源配置 您完全不必調整資源調度設定
  3. 後續步驟取決於您安裝的內容。
    1. 如果在入口網站或堆疊節點前方設有負載平衡器,請參閱下一節的說明 說明如何為負載平衡器設定 API BaaS。
    2. 如果入口網站或堆疊節點的前方沒有負載平衡器 詳情請見下文「新手上路 新的機構

記下 API BaaS 入口網站網址。這是您在瀏覽器中輸入的網址 API BaaS 入口網站使用者介面

設定 堆疊或入口網站負載平衡器的 API BaaS 節點

如果在堆疊或入口網站節點前方納入負載平衡器,您必須設定 負載平衡器的正確網址。例如,堆疊節點需要 下列資訊:

  • 在 BaaS API 要求的回應中加入網址。
  • 在重設密碼或傳送其他電子郵件時,在電子郵件範本中新增連結 通知。
  • 將使用者重新導向至特定的入口網站頁面。

如果在堆疊節點前方使用負載平衡器,請在以下位置設定下列屬性: /opt/apigee/customer/application/usergrid.properties:

usergrid-deployment_usergrid.api.url.base=http://localhost:8080

http://localhost:8080 替換成負載的網址 。如果負載平衡器設為使用傳輸層安全標準 (TLS),請使用 HTTPS 通訊協定。您只需要 如果使用非標準通訊埠 (也就是通訊埠以外的通訊埠),則需包含通訊埠 HTTP 值為 80,HTTPS 則為通訊埠 443。

如果發生此情況,您還必須在 /opt/apigee/customer/application/portal.properties 設定下列屬性 您將在堆疊節點前方使用負載平衡器:

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

http://localhost:8080 替換成 負載平衡器

如果在入口網站節點前方使用負載平衡器,請設定下列屬性 usergrid.properties

usergrid-deployment_portal.url=http://localhost:9000

http://localhost:9000 替換成 負載平衡器如果負載平衡器設為使用傳輸層安全標準 (TLS),請使用 HTTPS 通訊協定。個人中心 只有在使用非標準連接埠時,才需要包含連接埠;也就是說 通訊埠 80 (HTTP 通訊埠為 443) 和 HTTPS 通訊埠 443。

編輯 usergrid.properties portal.properties 後:

  1. 設定堆疊節點:
    > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid 設定
  2. 重新啟動 BaaS 堆疊:
    > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid 重新啟動

    注意:重新啟動 BaaS 堆疊節點時,請以相同順序重新啟動這些節點 才會列在 BAAS_CLUSTER_SEEDS 中。BAAS_CLUSTER_SEEDS 清單中最多有兩個 建立堆疊節點按照順序重新啟動這兩個節點後,您可以重新啟動剩餘的兩個節點 節點。

  3. 如果您修改了 portal.properties,請 入口網站節點:
    > /opt/apigee/apigee-service/bin/apigee-service baas-portal Configuration
  4. 重新啟動 BaaS 入口網站:
    > /opt/apigee/apigee-service/bin/apigee-service baas-portal restart

新機構新手上路

「新手上路」是指建立機構和機構管理員的程序。更新後 建立機構和機構組織管理員,您就可以登入 API BaaS 入口網站 並向 API BaaS REST API 發出要求。

建立機構時,機構管理員的電子郵件地址:

  • 必須與系統管理員的電子郵件地址不同。
  • 名稱與其他機構不得重複。也就是說,您無法建立兩個機構 與機構組織管理員的電子郵件地址相同不過,建立 Deployment 後 您可以新增其他管理員,並且在多個 員工只能在您的 Google Cloud 機構中存取資源 無法在其他機構存取資源

如要執行新手上路程序,請使用 create_org_and_user.py Python 指令碼。 如果叫用這個指令碼時不使用指令列引數,就會提示您 每個 ACL 都由一或多個項目組成 而這些項目包含兩項資訊

> python create_org_and_user.py

或者,您也可以傳遞任何或所有選項做為指令列引數。系統會提示您 您在指令列中省略的任何資訊:

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

如要建立機構組織,請按照下列步驟操作:

  1. 將目錄變更為 /opt/apigee/baas-usergrid/bin
  2. 叫用 create_org_and_user.py Python 指令碼。
    系統會提示您輸入 BaaS 系統管理員的使用者名稱和密碼,因此只有 sys 管理員能執行該工作
  3. 使用您在網址末端註明的網址登入 API BaaS 入口網站 API BaaS 入口網站網址安裝。如要存取入口網站,請在 相關表單如下:
    http://{portalExternalIP}:9000/

    注意:IP 是入口網站機器的外部 IP 位址/主機名稱。確保 這個通訊埠已開啟
  4. 入口網站登入畫面顯示時,您可以採取下列任一做法:
    • 使用機構管理員的使用者名稱和密碼登入。
    • 使用系統管理員的使用者名稱和密碼登入。

存取 API BaaS REST API

如要存取 API BaaS REST API,請使用以下格式的網址:

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

在開發環境中,您可以在單一節點上安裝所有 API BaaS 元件 這代表有一個 API BaaS 堆疊或者,您可能擁有的是 API BaaS 堆疊節點,且沒有負載平衡器。在這些類型的環境中,您可以進行 API 呼叫 直接寫入 API BaaS 堆疊節點:

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

如要進一步瞭解如何開始使用 API BaaS 入口網站,請參閱 Apigee 說明文件: http://apigee.com/docs/content/build-apps-home.