私有雲的邊緣 4.17.09 版
安裝總覽
在節點上安裝 apigee-setup
公用程式後,請使用該公用程式在節點上安裝一或多個 BaaS 元件。
apigee-setup
公用程式的格式如下:
sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
將設定檔傳送至包含安裝相關資訊的 apigee-setup
公用程式。如果設定檔缺少任何必要資訊,apigee-setup
公用程式會提示您在指令列中輸入該資訊。
唯一的規定是設定檔必須可供「apigee」存取或讀取。
舉例來說,您可以使用下列指令安裝 API 堆疊堆疊:
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 Stack 和 Tomcat。 |
Eebp |
安裝 ElasticSearch、API BaaS 入口網站、API BaaS Stack 和 Tomcat,但不安裝 Cassandra。入口網站是相當簡便的平台,在進行這項作業時不需額外資源。 |
阿薩 |
在單一節點中安裝所有 API BaaS 元件 (Cassandra、Elasticsearch、API BaaS Stack、API BaaS 入口網站、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 SMTPMAILFROM="My Company <myco@company.com>"
如要在自己的節點上安裝 API BaaS:
- 使用網際網路或非網際網路程序,在節點上安裝 Edge
apigee-setup
公用程式。詳情請參閱「安裝 Edge apigee-setup 公用程式」。 - 在命令提示字元中執行設定指令碼:
/opt/apigee/apigee-setup/bin/setup.sh -p asa -f configFile
「-p asa」選項會指定在單一節點 (Cassandra、Elasticsearch、API BaaS Stack、API BaaS 入口網站、Tomcat) 中安裝所有 API BaaS 元件。
設定檔必須可供「apigee」使用者存取或讀取。
- 由於您在獨立節點中安裝了 ElasticSearch,因此請調整預設記憶體選項,將分配給 ElasticSearch 的記憶體從 4 GB 增加至 6 GB:
- 在編輯器中開啟
/opt/apigee/customer/application/elasticsearch.properties
。如果這個檔案不存在,請建立檔案。 - 將
setenv_elasticsearch_max_mem_size
屬性設為 6g (預設值為 4g):
setenv_elasticsearch_max_mem_size=6g
- 儲存檔案。
- 執行下列指令:
/opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
- 在編輯器中開啟
- 按照下方「讓新機構啟用流程」一節所述的方式啟用機構。
設定成功在節點上完成設定。
在 7 或 10 個節點中安裝 API BaaS
安裝 7 或 10 個節點版本的 API BaaS 程序非常相似。唯一的差別在於:
- 安裝 10 個節點後,您會在「個別」節點中安裝三個 ElasticSearch 元件和三個 API BaaS Stack 元件,總共六個節點。由於 ElasticSearch 需要大量的磁碟 I/O 和記憶體,因此建議您採用這項設定,才能達到最高效能。
- 安裝 7 個節點後,您會在「相同」節點上安裝三個 ElasticSearch 元件和三個 API BaaS 堆疊元件,總共有三個節點。
對於 API BaaS 的 7 和 10 個節點版本,您必須連線至 Cassandra 叢集。如果您已安裝 Edge,可以連線至其 Cassandra 叢集。也就是說,不必在安裝 API BaaS 時一併安裝 Cassandra。
以下是 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 SMTPMAILFROM="My Company <myco@company.com>"
選用 - 安裝 Cassandra:機器 8、9 和 10
您可以將 API BaaS 連結至 Edge 使用的同一個 Cassandra 叢集。如果尚未安裝 Edge,您可以選擇安裝 Cassandra,讓 API BaaS 使用。
Cassandra 叢集可以使用驗證,或是停用 Cassandra 驗證。詳情請參閱「啟用 Cassandra 驗證」。
- 使用網際網路或非網際網路程序,在節點上安裝 Edge
apigee-setup
公用程式。詳情請參閱「安裝 Edge apigee-setup 公用程式」。 - 在命令提示字元中執行設定指令碼:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
「-p c」選項會指定安裝 Cassandra。
設定檔必須可供「apigee」使用者存取或讀取。
設定成功完成節點上的資料儲存庫設定。
請注意,Cassandra 預設為啟用 JMX。使用 JMX 遠端存取 Cassandra 時不需要密碼。您可以設定 Cassandra 以使用 JMX 進行驗證。詳情請參閱「如何監控」一文。
設定 Cassandra cron 工作
如果您需要安裝 Cassandra,請設定使用 nodetool
的 Cron 工作來清除鎖定作業,以便在每個 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:
- 使用網際網路或非網際網路程序,在節點中安裝 Edge apigee-setup 公用程式。詳情請參閱「安裝 Edge apigee-setup 公用程式」。
- 在命令提示字元中執行設定指令碼:
/opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
The "-p e" option specifies to install ElasticSearch. The configuration file must be accessible or readable by the "apigee" user.
- (Optional) If you install ElasticSearch on a standalone node, meaning it is not installed
with API BaaS Stack, then adjust the default memory option to increase the memory allocated for
ElasticSearch from 4GB to 6GB:
- Open
/opt/apigee/customer/application/elasticsearch.properties
in an editor. If this file does not exist, create it. - Set the
setenv_elasticsearch_max_mem_size
property to 6g (the default is 4g):setenv_elasticsearch_max_mem_size=6g
- 儲存檔案。
- 執行下列指令:
/opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
設定成功在節點上完成設定。
安裝 API BaaS 堆疊:機器 4、5 和 6
如何在自己的節點上安裝 API 堆疊堆疊:
- 使用網際網路或非網際網路程序,在節點中安裝 Edge apigee-setup 公用程式。詳情請參閱「安裝 Edge apigee-setup 公用程式」。
- 在命令提示字元中執行設定指令碼:
/opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
「-p b」選項會指定安裝 API BaaS 堆疊。設定檔必須可供「apigee」使用者存取或讀取。
安裝程式擷取正確的管理員憑證後,會安裝 Tomcat、建立 API BaaS 金鑰空間,並在伺服器上設定 API BaaS 堆疊。另外, SMTP 也設定為允許 UI 傳送密碼確認電子郵件。
安裝 API BaaS 入口網站:機器 7
如要安裝 API BaaS 入口網站:
- 使用網際網路或非網際網路程序,在節點中安裝 Edge apigee-setup 公用程式。詳情請參閱「安裝 Edge apigee-setup 公用程式」。
- 在命令提示字元中執行設定指令碼:
/opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
「-p p」選項會指定安裝 API BaaS 入口網站。設定檔必須可供「apigee」使用者存取或讀取。
安裝程式會啟動 Nginx 網路伺服器,然後完成 API BaaS 入口網站設定。
- 後續步驟取決於您的安裝。
- 如果負載平衡器位於入口網站或堆疊節點前方,下一節將說明如何為負載平衡器設定 API BaaS。
- 如果入口網站或堆疊節點前方沒有負載平衡器,請按照下文「為新機構啟用」一節所述的方式,加入機構。
記下 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),才需要包含通訊埠。
如果您在 Stack 節點前面使用負載平衡器,則必須在
/opt/apigee/customer/application/portal.properties
中設定下列屬性:baas.portal.config.overrideUrl=http://localhost:8080
將 http://localhost:8080 替換為 Stack 負載平衡器的網址。
如果您在入口網站節點的前面使用負載平衡器,請在
usergrid.properties
中設定下列屬性:usergrid-deployment_portal.url=http://localhost:9000
將 http://localhost:9000 替換為負載平衡器的網址。如果負載平衡器已設為使用 TLS,請使用 HTTPS 通訊協定。如果您使用的是非標準通訊埠 (亦即 HTTP 的通訊埠 80 和 HTTPS 的通訊埠 443),才需要包含通訊埠。
編輯
usergrid.properties
和portal.properties
後:- 設定堆疊節點:
/opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
- 重新啟動 BaaS 堆疊:
/opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
- 如果您修改過
portal.properties
,請設定入口網站節點:/opt/apigee/apigee-service/bin/apigee-service baas-portal configure
- 重新啟動 BaaS 入口網站:
/opt/apigee/apigee-service/bin/apigee-service baas-portal restart
新增機構
新手上路程序是建立機構和機構管理員的程序。建立機構和機構管理員後,您可以登入 API BaaS 入口網站 UI 並向 API BaaS REST API 提出要求。
建立機構時,機構管理員的電子郵件地址:
- (必須與系統管理員的電子郵件地址不同)。
- 與其他機構的名稱不得重複。也就是說,您無法透過同一個電子郵件地址建立兩個機構給機構管理員。不過,建立機構後,您可以新增其他管理員,並在多個機構中複製這些管理員。
如要執行新手上路程序,請使用
create_org_and_user.py
Python 指令碼。叫用此指令碼而不使用指令列引數時,會導致指令碼提示您輸入所有資訊: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>'
如何建立機構:
- 將目錄變更為
/opt/apigee/baas-usergrid/bin
。 - 叫用
create_org_and_user.py
Python 指令碼。系統會提示您輸入 BaaS 系統管理員的使用者名稱和密碼,確保只有系統管理員才能執行。
- 使用您在安裝 API BaaS 入口網站網址結束時記下的網址,在網路瀏覽器中登入 API BaaS 入口網站。如要存取入口網站,請以下列格式輸入 API BaaS 入口網站網址:
http://portalExternalIP:9000/
- 入口網站登入畫面出現後,你可以執行下列操作:
- 使用機構管理員的使用者名稱和密碼登入。
- 使用系統管理員的使用者名稱和密碼登入。
存取 API BaaS REST API
如要存取 API BaaS REST API,請使用以下格式的網址:
https://loadBalancerIP:8080/your-org/your-app
在開發環境中,您可以在單一節點中安裝所有 API BaaS 元件,表示您只擁有一個 API BaaS 堆疊。或者您可能在小型環境中設有一個 API BaaS 堆疊節點,而且沒有負載平衡器。在這類環境中,您可以直接對 API BaaS 堆疊節點發出 API 呼叫:
curl -v "http://portalExternalIP:8080/status"
如要進一步瞭解如何開始使用 API BaaS 入口網站,請參閱 Apigee 說明文件:http://apigee.com/docs/content/build-apps-home。
- Open