為協助零基礎使用者快速掌握計算巢服務的建立與部署,計算巢提供了標準化流程及樣本模板。本文為您介紹如何通過精選模板快速建立服務。
功能概述
在計算巢服務中,使用者可使用計算巢提供的精選模板快速構建和部署服務。精選模板中已經預置了常見業務情境下的最佳實務配置,極大地簡化了服務建立的複雜度,適合零基礎或希望快速上線服務的使用者。為協助零基礎使用者快速掌握服務建立與部署,計算巢提供標準化模板和樣本流程。整體流程如下:
在使用模板建立服務時,使用者可根據自身業務需求選擇ECS或ACK作為服務啟動並執行基礎設施。
-
ECS:適用於傳統應用部署,提供虛擬機器層級的計算能力。
-
ACK:適用於容器化應用部署,支援基於 Kubernetes 的微服務架構,便於實現高可用、Auto Scaling的服務部署。
根據服務架構建立服務
根據需求選擇架構(如 ECS、ACK 等)和部署方式(如鏡像、軟體包)。
若使用者僅需體驗計算巢,只需執行步驟一完成服務建立,後續步驟無需操作。
更換部署物/指令碼(可選)
為協助服務商快速構建屬於自己的服務,服務商可根據自身軟體需求替換模板中的部署物或指令碼,以適配不同的業務情境。計算巢的精選模板支援更換部署物及運行指令碼,提升模板的靈活性與適用性。
更換部署物
-
您已經完成部署物的建立,包括ECS鏡像、Helm鏡像、檔案、容器鏡像等,具體建立內容,請參見部署物概述。
-
單擊服務卡片進入服務詳情頁,在服務詳情頁面中,單擊右上方編輯版本,在彈框中選擇通過控制台更新。
-
在部署物關聯地區中,您可看到目前該服務關聯的部署物,單擊關聯部署物。
-
在選擇部署頁面,你可選擇您已建立的部署物與版本,單擊確定完成更換。本節以樣本-SpringBoot-ECS鏡像為例,
-
單擊保存更新。
更換運行指令碼
-
單擊服務卡片進入服務詳情頁,在服務詳情頁面中,單擊右上方編輯版本,在彈框中選擇通過控制台更新。
-
在模板內容地區中,修改模板中的指令碼。單擊保存更新。
-
ECS:找到資源ALIYUN::ECS::RunCommand,修改CommandContent部分為業務所需指令碼。
Fn::GetAtt: - InstanceGroup - InstanceIds Type: RunShellScript Sync: true Timeout: 3600 CommandContent: # 顯示開始等待資訊 echo "開始等待 1 小時..." # 等待 1 小時(3600 秒) sleep 3600 # 等待完成後顯示資訊 echo "等待完成!" -
ACK:找到資源
ALIYUN::CS::ClusterApplication,修改yamlContent部分為業務所需指令碼。Resources: VpnModules: AckOrAcsClusterModule: ClusterApplications: DependsOn: - AckOrAcsClusterModule Type: ALIYUN::CS::ClusterApplication Properties: YamlContent: | apiVersion: apps/v1 kind: Deployment metadata: name: spring-boot labels: app: spring-boot spec: replicas: 1
-
修改模板(可選)
新增雲資源
計算巢提供的樣本模板僅給出基本雲資源(如ECS/VPC等),如服務商依據業務需求需增加雲資源,則需修改模板。以ECS鏡像部署服務舉例,若服務商需要添加RDS資源,具體操作如下。
-
開啟計算巢控制台中我的服務頁面,從進入服務詳情頁,單擊右上方編輯版本,在彈框中選擇通過控制台更新。找到當前模板中Resources部分。
本節中新增RDS,則需要在Resources中新增一個RDS資源。
ROSTemplateFormatVersion: '2015-09-01'
Locals: ...
Parameters: ...
Conditions: ...
Resources:
# 建立vpc
EcsVpc: ...
# 建立vswitch
EcsVSwitch: ...
SecurityGroup: ...
InstanceGroup: ...
RunInstallCommand: ...
Outputs: ...
Metadata: ...
-
前往Resource Orchestration Service服務找到對應資原始碼樣本部分。本樣本中為RDS資源,找到文檔ALIYUN::RDS::DBInstance中資源樣本部分。
RDSInstance:
Type: ALIYUN::RDS::DBInstance
Properties:
VpcId:
Ref: VpcId
VSwitchId:
Ref: VSwitchId
EngineVersion: '5.6'
DBInstanceClass: rds.mysql.s2.large
SecurityIPList: 0.0.0.0/0
DBInstanceStorage: 5
Engine: MySQL
DBMappings:
- CharacterSetName: utf8
DBName: DBTest
-
複製對應代碼到計算巢模板的
Resources中,即可添加RDS資源。說明Ref部分參數可能需要根據模板具體參數名稱修改。
配置雲資源參數
新增雲資源參數
若您想新增雲資源參數,您需要前往Resource Orchestration Service服務找到對應資原始碼樣本部分,並根據需求將所需參數添加到雲資源的Properties欄位中。以RDS中希望設定資料庫執行個體的網路類型為公網訪問為例。
-
閱讀文檔,找到對應雲資源參數
DBInstanceNetType。在ALIYUN::RDS::DBInstance的屬性列表中,找到參數DBInstanceNetType,類型為String,非必填,描述為資料庫執行個體的網路類型。取值:Internet(公網訪問)、Intranet(預設值,私網訪問)。 -
將參數添加至模板中完成配置。
Resources: RDSInstance: Type: ALIYUN::RDS::DBInstance Properties: VpcId: Ref: VpcId VSwitchId: Ref: VSwitchId EngineVersion: '5.6' DBInstanceClass: rds.mysql.s2.large SecurityIPList: 0.0.0.0/0 DBInstanceStorage: 5 Engine: MySQL DBInstanceNetType: Internet DBMappings: - CharacterSetName: utf8 DBName: DBTest
修改雲資源參數
若您想對已有雲資源參數進行修改,在查閱文檔確認需要修改的參數內容後,在雲資源配置的Properties 部分進行修改即可。以變更當前RDS資源使用的資料庫類型為例,假設您需要由MySQL切換至SqlServer樣本操作如下。
-
前往Resource Orchestration Service服務找到對應資原始碼,閱讀文檔參數屬性部分,得知需要修改參數
Engine和EngVersion。在ALIYUN::RDS::DBInstance的屬性列表中,找到以下參數: -
Engine(String,必填):資料庫類型。取值:MySQL、SQLServer、PostgreSQL、PPAS、MariaDB。 -EngineVersion(String,必填):資料庫版本號碼。例如MySQL支援5.5、5.6、5.7、8.0,SQLServer支援2008r2、08r2_ent_ha等版本。 -
在計算巢模板中修改對應參數。
Resources: RDSInstance: Type: ALIYUN::RDS::DBInstance Properties: VpcId: Ref: VpcId VSwitchId: Ref: VSwitchId EngineVersion: '5.6' DBInstanceClass: rds.mysql.s2.large SecurityIPList: 0.0.0.0/0 DBInstanceStorage: 5 Engine: MySQL DBMappings: - CharacterSetName: utf8 DBName: DBTest
若希望刪除某參數,您需要確認該資源參數非必填,避免由於刪除操作影響您的正常業務。
將雲資源參數變為輸入
您可以在計算巢模板中Parameters部分新增對應參數,並在Properties中通過Ref函數引用該參數,實現將雲資源參數變為輸入。
測試與發布
服務儲存後,您可以對服務進行自測試,也可以將服務預發布後,分享給指定客戶進行測試。更多資訊,請參見測試服務。
服務測試通過後,再提交審核,審核通過後即可發布上線。更多資訊,請參見上線服務。
進階配置(可選)
若需自訂模板或調整服務配置(如增加變更配置、升級等),可執行修改更多資訊,請參見進階功能。