Edge for Private Cloud 4.17.01 版
安裝總覽
在節點上安裝 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 Stack:
> 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 堆疊,這也會安裝 Tomcat。 |
p |
只安裝 API BaaS Portal,同時安裝 Nginx 路由器,用於做為網路伺服器。 |
c |
僅安裝 Cassandra。 |
eb |
在節點中安裝 ElasticSearch、API BaaS 堆疊和 Tomcat。 |
ebp |
安裝 ElasticSearch、API BaaS Portal、API BaaS Stack 和 Tomcat,但不安裝 Cassandra。入口網站本身變得輕而易舉,不需要額外的資源。 |
asa |
在單一節點中安裝所有 API BaaS 元件 (Cassandra、Elasticsearch、API BaaS 堆疊、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
如要在自有節點上安裝 API BaaS,請按照下列步驟操作:
- 使用網際網路或非網際網路程序,在節點上安裝 Edge apigee-setup 公用程式。詳情請參閱「安裝 Edge apigee-setup 公用程式」。
- 在指令提示列中執行設定指令碼:
> /opt/apigee/apigee-setup/bin/setup.sh -p asa -f configFile
「-p asa」選項會指定在單一節點上安裝所有 API BaaS 元件 (Cassandra、Elasticsearch、API BaaS Stack、API BaaS Portal、Tomcat)。
「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 堆疊元件,總共六個節點。這是建議的最佳效能設定,因為 ElasticSearch 需要大量磁碟 I/O 和記憶體。
- 7 個節點安裝作業,您會在「相同」節點上安裝三個 ElasticSearch 元件和三個 API BaaS 堆疊元件,總共三個節點。
對於 7 和 10 個 API BaaS 節點版本,您必須連線至 Cassandra 叢集。如果您已安裝 Edge,可以連線至其 Cassandra 叢集,這代表您不需要安裝 API BaaS 時安裝 Cassandra。
下方是 10 個節點 API BaaS 安裝作業的靜默設定檔範例。如果您要在同一個節點上安裝 ElasticSearch 和 API BaaS Stack 元件,請編輯檔案,讓:
- 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 驗證功能」。
- 使用網際網路或非網際網路程序,在節點上安裝 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,請設定 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 安裝在專屬節點上,請按照下列步驟操作:
- 使用網際網路或非網際網路程序,在節點上安裝 Edge apigee-setup 公用程式。詳情請參閱安裝 Edge apigee-setup 公用程式。
- 在命令提示字元視窗中執行設定指令碼:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
「-p e」選項會指定安裝 ElasticSearch。
設定檔必須可供「apigee」使用者存取或讀取。 - (選用) 如果您在獨立節點上安裝 ElasticSearch,這代表未隨 API BaaS 堆疊一併安裝 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
設定成功完成節點上的設定。
安裝 API BaaS 堆疊:機器 4、5 和 6
如要在專屬節點上安裝 API BaaS Stack,請按照下列步驟操作:
- 使用網際網路或非網際網路程序,在節點上安裝 Edge apigee-setup 公用程式。詳情請參閱「安裝 Edge apigee-setup 公用程式」。
- 在命令提示字元串中執行設定指令碼:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
「-p b」選項會指定安裝 API BaaS Stack。
「apigee」使用者必須能存取或讀取設定檔。
安裝程式擷取正確的管理員憑證後,會安裝 Tomcat、建立 API BaaS 鍵值空間,並在伺服器上設定 API BaaS 堆疊。SMTP 也已設定,可讓 UI 傳送密碼確認電子郵件。
安裝 API BaaS Portal:Machine 7
如要安裝 API BaaS Portal,請按照下列步驟操作:
- 使用網際網路或非網際網路程序,在節點中安裝 Edge Apigee-setup 公用程式。詳情請參閱「安裝 Edge apigee-setup 公用程式」。
- 在命令提示字元串中執行設定指令碼:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
「-p p」選項會指定安裝 API BaaS Portal。
設定檔必須可供「apigee」使用者存取或讀取。
安裝程式會啟動 Nginx 網路伺服器,然後完成 API BaaS Portal 設定。 - 後續步驟取決於安裝方式。
- 如果您在 Portal 或 Stack 節點前面設定了負載平衡器,請參閱下一節,瞭解如何為負載平衡器設定 API BaaS。
- 如果 Portal 或 Stack 節點前方沒有負載平衡器,請按照「新機構的啟用程序」一節所述,為機構進行啟用。
請記下 API BaaS Portal 網址。這是您在瀏覽器中輸入的網址,用於存取 API BaaS Portal 使用者介面。
為堆疊或入口網站負載平衡器設定 API BaaS 節點
如果您在 Stack 或 Portal 節點前面加入負載平衡器,就必須使用負載平衡器的正確網址設定節點。舉例來說,如果 Stack 節點需要以下資訊:
- 在 BaaS API 要求的回應中加入網址。
- 在重設密碼或傳送其他通知時,在電子郵件範本中加入連結。
- 將使用者重新導向至特定入口網站頁面。
如果您在 Stack 節點前使用負載平衡器,請在 /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 替換為資料夾的負載平衡器網址。
如果在入口網站節點前方使用負載平衡器,請在 usergrid.properties 中設定下列屬性:
usergrid-deployment_portal.url=http://localhost:9000
將 http://localhost:9000 替換為負載平衡器的網址。如果負載平衡器已設定為使用 TLS,請使用 HTTPS 通訊協定。只有在使用非標準通訊埠時,才需要加入通訊埠,也就是說,如果不是 HTTP 的通訊埠 80 或 HTTPS 的通訊埠 443,
編輯 usergrid.properties 和 portal.properties 後:
- 設定 Stack 節點:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure - 重新啟動 BaaS 堆疊:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
注意:重新啟動 BaaS Stack 節點時,請按照 BAAS_CLUSTER_SEEDS 中列出的順序重新啟動。BAAS_CLUSTER_SEEDS 最多會列出兩個堆疊節點。依序重新啟動這兩個節點後,您可以以任意順序重新啟動其餘的節點。
- 如果您修改了 portal.properties,請設定 Portal 節點:
> /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/
注意:IP 是 Portal 機器的外部 IP 位址/主機名稱。確認通訊埠已開啟。 - 當入口網站登入畫面顯示時,您可以採取下列做法:
- 使用組織管理員的使用者名稱和密碼登入。
- 使用系統管理員的使用者名稱和密碼登入。
存取 API BaaS REST API
如要存取 API BaaS REST API,請使用以下格式的網址:
https://{loadBalancerIP}:8080/{your-org}/{your-app}
在開發環境中,您可以在單一節點上安裝所有 API BaaS 元件,也就是說您只有一個 API BaaS 堆疊。或者,您的小型環境可能只有單一 API BaaS 堆疊節點,而沒有負載平衡器。在這些類型的環境中,您可以直接對 API BaaS Stack 節點發出 API 呼叫:
curl -v "http://portalExternalIP:8080/status"
如要進一步瞭解如何開始使用 API BaaS 入口網站,請前往以下網頁查看 Apigee 說明文件:http://apigee.com/docs/content/build-apps-home。