本文以一個同城雙活架構下的雙集群發布模式為例,引導您快速熟悉 LHC 的操作鏈路。
LHC 也支持在單元化架構下發布應用,具體內容參見 概述。
雙機房場景下,推薦單元化工作空間與可用區(機房)是 1:2 的關系。
背景信息
部署架構如下圖:在 SOFAStack 租戶下,在同一地域內,創建一個工作空間組,關聯兩個工作空間,分別對應兩個不同的可用區(機房),每個機房對應一個部署單元(Cell)。
步驟一:創建單元化工作空間
該步驟中您將創建一個包含雙可用區的單元化工作空間。
登錄 LHC 控制臺。
在左側導航欄,單擊下方的 全局設置,進入工作空間列表頁面。
單擊 創建工作空間,選擇 單元化工作空間 類型,單擊 創建。
在 創建工作空間 頁面,輸入以下基本信息。
工作空間標識:2~45 個字符,以大小寫字母開頭,只能包含字母和數字。工作空間標識全局唯一,一經確定無法修改,例如:dev、test、prod 等。本例中輸入:
DemoWSG
。工作空間名稱:1~64 個字符,工作空間的顯示名稱,例如:開發工作空間、測試工作空間、生產工作空間。本例中輸入:
DemoWSG
。地域:工作空間所在的地域(Region),一個工作空間一定屬于某個地域。
網絡類型:選擇 VPC 網絡。
導入 VPC:保持默認關閉狀態。
單擊 下一步,在 創建單元架構 頁面單擊 添加可用區。 每個工作空間配置的可用區(Available Zone)個數無限制。本例中為工作空間配置兩個可用區,為支持雙機房高可用等架構做準備。
說明系統會根據可用區配置自動為您生成單元化架構拓撲,劃分好邏輯單元和部署單元。
單擊 下一步,在 創建 VPC 頁面,輸入以下配置信息:
專有網絡名稱:由 2~128 個英文或中文字符組成,必須以大小字母或中文開頭,可包含數字、下劃線(_) 或連字符(-)。可以使用系統自動生成的名稱
單元化工作空間標識-vpc
。專有網絡網段:專有網絡的網段,一旦選擇便無法更改,專有網絡內的所有資源,如 ECS、RDS、SLB 的私網 IP 都在該網段內。可選網段如下:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
描述:非必填,填寫專有網絡描述內容。不能以
http://
和https://
開頭。交換機:單擊 添加交換機,在彈出的 創建交換機 窗口,填寫以下信息,單擊 提交。
名稱:交換機名稱。長度為 2~128 個字符,以英文字母或中文開頭,可包含數字、下劃線(_)和短橫線(-)。系統自動生成
單元化工作空間標識-vsw
組成的默認名稱。可用區:交換機的可用區。同一 VPC 內不同可用區的交換機內網互通。您需要為每個可用區創建一臺交換機。
自定義網段:默認關閉。開啟后,需填寫網段地址。交換機的網段可以和其所屬的 VPC 網段相同或者是其 VPC 網段的子網。
子網掩碼:自定義網段 關閉時,需分別選擇子網掩碼和網段地址。默認專有的網段掩碼是 24 位,例如 172.31.0.0/24。范圍為 16~29 位之間,可提供 65532 個地址。
描述: 輸入交換機的描述信息。可包含 2~256 個中英文字符,不能以
http://
和https://
開頭。
單擊 下一步,在 創建安全組 頁面,單擊 添加安全組,在彈出的 添加安全組 窗口,填寫以下信息,單擊 確定。
安全組名稱:長度為 2~128 個英文或中文字符,只能包含字母、數字、短橫線以及
.
,必須以字母開頭。系統自動生成單元化工作空間標識-sg
組成的默認名稱。描述:可包含 2~256 個中英文字符,不能以
http://
和https://
開頭。規則:保持默認設置,接受所有的出入訪問。
單擊 確定 返回 創建安全組 頁面,單擊 提交。
步驟二:創建集群
集群是運行工作負載的邏輯分組,包含一組云服務器資源,每臺云服務器即集群中的一個節點。首次使用 LHC 時,您需要創建一個初始集群,并添加至少一個節點。
前提條件
您擁有 LHC 管理員權限。
已創建單元化工作空間。
首次使用 ACK 集群時,需先授權 ACK 訪問云資源的權限,詳情參見 首次使用容器服務 Kubernetes 版。
本例中,您將為兩個可用區分別創建一個集群:democluster1
、democluster2
,實現同城雙活的架構。
同一個可用區無法創建多個集群。如當前可用區/交換機均已經有集群,請到工作空間管理頁面添加新的可用區和交換機到當前工作空間。
操作步驟
登錄 LHC 控制臺,在左側導航欄單擊 集群管理 > 集群詳情。
在集群列表頁,單擊 創建集群。
在 集群創建 頁面,系統會自動進行預檢查,確保相關的產品已經開通并且租戶下的賬戶余額大于 100 元。預檢查通過后,單擊 下一步。
說明若檢查失敗,完成修復失敗項目后,可以單擊 重新檢查 操作重新進行預檢查。
在 基本配置 頁面,完成以下集群基礎選項配置后,單擊 下一步。
基本信息:
專有網絡:Kubernetes 集群僅支持專有網絡。您可以在已有 VPC 列表中選擇所需的 VPC。
集群名稱:應包含 1~63 個字符,可包含數字、漢字、英文字符或中劃線(-)。本例中分別輸入:
democluster1
、democluster2
。Kubernetes 版本:選擇 Kubernetes 版本。支持
1.16.9-aliyun.1
、1.18.8-aliyun.1
。本例中選擇1.18.8-aliyun.1
。容器運行時:
docker 19.03.5
。
網絡配置:
虛擬交換機:您可以在已有虛擬交換機列表中,根據可用區選擇所需交換機。如果沒有您需要的交換機,可以通過單擊 創建虛擬交換機 進行創建,請參見 創建交換機。
網絡插件:設置啟用的網絡插件,支持 Terway 網絡插件,Terway 是阿里云容器服務自研的網絡插件,將阿里云的彈性網卡分配給容器,支持 Kubernetes 的 Network Policy 來定義容器間的訪問策略,支持對單個容器做帶寬的限流。具體請參見 Flannel 與 Terway。
Pod 虛擬交換機:網絡插件使用 Terway 時,需要為 Pod 分配 IP 的虛擬交換機。每個 Pod 虛擬交換機分別對應一個 Worker 實例的虛擬交換機。如果沒有您需要的交換機,可以通過單擊 創建虛擬交換機 進行創建,請參見 創建交換機。
Service CIDR:設置 Service CIDR。網段不能與 VPC 及 Pod 地址段重復,創建成功后不能修改。可選范圍:10.0.0.0/16-24,172.16-31.0.0/16-24,192.168.0.0/16-24。
高級配置:保持默認設置。更多信息參見 創建集群。
在 節點配置 頁面,完成以下 Worker 節點配置。
付費類型:支持 按量付費 和 包年包月 兩種節點付費類型。選擇 包年包月 時,需設置以下參數。
購買時長:目前支持選擇 1、2、3、6 個月和 1~5 年。
自動續費:設置是否自動續費。
節點數量:創建 Worker 實例(ECS 實例)的數量。
實例規格:支持選擇多個實例規格。詳情請參見 實例規格族。最多可選擇 10 個實例規格。
說明可以選擇多個規格作為備選,每個節點創建時,將從第一個規格開始嘗試購買,直到創建成功,最終購買的實例規格可能隨庫存變化而不同。
系統盤:支持 SSD 云盤、高效云盤、ESSD 云盤。
掛載磁盤:支持 SSD 云盤、高效云盤、ESSD 云盤。
操作系統:支持 CentOS 和 Alibaba Cloud Linux 操作系統。
登錄密碼:設置節點的登錄密碼。8~30 個字符,且同時包含三項(大寫字母、小寫字母、數字和特殊符號)。
確認密碼:確認設置的節點登錄密碼。
配置完成后,單擊 下一步。
在集群的 配置預覽 頁面,確認配置無誤后,單擊 提交。
說明一個包含多節點的 Kubernetes 集群的創建時間一般約為十分鐘。
系統會自動跳轉到 創建集群詳情 頁面。在集群的創建過程中,若出現任務失敗的情況,可單擊事件查看具體錯誤詳情,或單擊 重試 或 忽略。
在 導入集群 頁面,完成以下配置。
配置項
說明
集群類型
阿里云
專有網絡
從已有 VPC 列表中,選擇所需的 VPC。
選擇已有集群
從已有集群列表中,選擇您需要導入的 ACK 集群。
部署單元
可以為可用區設置不同的部署單元。
如需修改部署單元,可前往 全局設置 > 工作空間詳情 進行設置。
步驟三:創建轉賬應用
在 應用管理 控制臺創建名為 transfer-money 的應用。
操作步驟
登錄應用管理控制臺,在左側導航欄單擊 應用列表。
在 應用列表 頁面,單擊右上角的 創建應用。
在 創建應用 頁面輸入以下信息,單擊 提交。
步驟四:準備鏡像
LHC 以鏡像的方式部署應用服務,創建應用服務前需先準備好鏡像。為方便您測試,LHC 提供以下可以公開訪問的示例鏡像:
鏡像名稱 | 鏡像地址 |
aks-transfermoney-server | registry-vpc.cn-shanghai.aliyuncs.com/sofa-samples/aks-transfermoney-server:20190726095608708-master.40215e87 |
aks-transfermoney-client | registry-vpc.cn-shanghai.aliyuncs.com/sofa-samples/aks-transfermoney-client:20190815134744553-master.5ea6278b |
步驟五:創建應用服務
創建 2 個有依賴關系的應用服務:aks-transfermoney-server、aks-transfermoney-client。
前提條件
已創建聯邦命名空間,例如 antcloud-demo
。具體步驟參見 創建聯邦命名空間。
創建轉賬服務端的應用服務
登錄控制臺,在左側導航欄單擊 發布運維 > 應用服務。
在應用服務列表頁,單擊 創建應用服務。
在 創建應用服務 頁面,填寫以下基本信息,單擊 下一步。
命名空間:選擇一個集群中的命名空間(namespace),默認為列表第一個。
應用服務名稱:容器服務的名稱,輸入
aks-transfermoney-server
。應用服務名稱允許包含(小寫)字母、數字、連字符,且必須以字母開頭,以字母或數字結尾。同一個命名空間下不允許同名。所屬應用:選擇
transfer-money
。描述:選填。容器服務的描述。
在 Pod 模板配置 頁面,填寫以下信息,單擊 下一步。
容器名稱:輸入名稱。容器名稱允許包含(小寫)字母、數字、連字符、且必須以字母開頭、以字母或者數字結尾,最多允許輸入 63 個字符。
訪問類型:選擇 鏡像倉庫,使用示例鏡像 aks-transfermoney-server,鏡像地址參見 準備鏡像。
CPU 配置:請求核數 為 200 millicores,最大核數 為 500 cores。
內存配置:請求內存 為 512 MiB,最大內存 為 1 GiB。
在 高級配置 > 環境變量配置 中,配置
APPSVC_VERSION = V1
,ANTCLOUD_SOFA_PROFILE = prod
。在 高級配置 > 健康檢查配置 中,配置 Readiness Probe 檢查方法為
Http GET
方法 、訪問路徑為/health/readiness
、訪問端口8080
。其余項按照輸入框提示配置。配置覆蓋:保持關閉。
在 彈性配置 頁面,填寫以下信息,單擊 下一步。
副本伸縮策略配置:目前僅支持 固定副本數,默認為 0,勾選部署單元(
RZ01A
、RZ02A
)并修改為期望副本數 1,即應用服務運行時保持固定數目的 Pod 副本。在 訪問配置 頁面,填寫以下信息,單擊 下一步。
在 訪問配置 頁面,單擊 添加負載均衡。
在 負載均衡 窗口,填寫以下信息后,單擊 確定。
負載均衡名稱:填寫服務名稱。系統默認生成服務名稱前綴為
應用服務名稱-
。說明需記錄下這個 Service Name,需要以環境變量形式配置到客戶端應用。
訪問方式:選擇 內網。創建一個內部的 Service,并將流量轉發到容器的相應端口上。
端口映射:單擊 添加端口映射,填寫以下信息。其余保持默認設置。
協議:選擇 TCP。
轉發規則:選擇 RR 輪詢。
前端端口:容器鏡像中工作負載程序實際監聽的端口,輸入
80
。后端端口:容器端口映射到集群虛擬 IP 上的端口,輸入
8341
。
在 部署和調度配置 頁面,為應用服務保持系統默認配置,單擊 下一步。
在應用服務 預覽 頁面,確認信息無誤,單擊 提交。
說明該應用服務配置編輯完成提交后,進行版本備注,方便區分版本。
創建轉賬客戶端的應用服務
登錄控制臺,在左側導航欄單擊 發布運維 > 應用服務。
在應用服務列表頁,單擊 創建應用服務。
在 創建應用服務 頁面,填寫以下基本信息,單擊 下一步。
命名空間:選擇一個集群中的命名空間(namespace),默認為列表第一個。
應用服務名稱:容器服務的名稱,輸入
aks-transfermoney-client
。服務實例名稱允許包含(小寫)字母、數字、連字符,且必須以字母開頭,以字母或數字結尾。同一個命名空間下不允許同名。所屬應用:選擇
transfer-money
。負責人:選擇該應用服務的負責人。
描述:選填。容器服務的描述。
在 Pod 模板配置 頁面,填寫以下信息,單擊 下一步。
容器名稱:輸入名稱。
訪問類型:選擇 鏡像倉庫,使用示例鏡像 aks-transfermoney-client,鏡像地址參見 準備鏡像。
CPU 配置:請求核數 為 200 millicores,最大核數 為 500 core。
內存配置:請求內存 為 512 MiB,最大內存 為 1 GiB。
在 高級配置 > 環境變量配置 中,配置變量名稱為 SERVER_TM_ADDRESS,Server 端值為 Service Name。
在 彈性配置 頁面,填寫以下信息,單擊 下一步。
副本伸縮策略配置:目前僅支持固定副本數,默認為 0,勾選部署單元(
RZ01A
、RZ02A
)并修改為期望副本數 1,即應用服務運行時保持固定數目的 Pod 副本。每個 client 能夠壓測并發上限為 1000。在 訪問配置 頁面,單擊 添加負載均衡,填寫以下信息,單擊 下一步。
在 負載均衡 窗口,填寫以下信息后,單擊 確定。
負載均衡名稱:填寫服務名稱。系統默認生成服務名稱前綴為
應用服務名稱-
。訪問方式:選擇 外網。創建一個內部的 Service,并將流量轉發到容器的相應端口上。
說明選取兩個應用服務并進行串行發布。配置外部 Service 會創建一個公網的 LoadBalancer,并將流量轉發到容器的相應端口上。訪問方式由公網負載均衡服務地址以及設置的訪問端口組成,例如
10.117.117.117:80
。訪問方式:選擇 外網。創建一個內部的 Service,并將流量轉發到容器的相應端口上。
端口映射:單擊 添加端口映射,填寫以下信息。其余保持默認設置。
協議:選擇 TCP。
轉發規則:選擇 RR 輪詢。
前端端口:容器鏡像中工作負載程序實際監聽的端口,輸入
80
。后端端口:容器端口映射到集群虛擬 IP 上的端口,輸入
8341
。
在 部署和調度配置 頁面,為應用服務保持系統默認配置,單擊 下一步。
在應用服務 預覽 頁面,確認信息無誤,單擊 提交。
說明該應用服務配置編輯完成提交后,進行版本備注,方便區分版本。
在 部署和調度配置 頁面,為應用服務保持系統默認配置,單擊 下一步。
在應用服務 預覽 頁面,確認信息無誤,單擊 提交。
說明該應用服務配置編輯完成提交后,進行版本備注,方便區分版本。
步驟六:創建發布單
通過發布單同時發布上一步中創建的兩個有依賴關系的應用服務。
選取兩個應用服務并進行串行發布。
操作步驟
登錄控制臺,在左側導航欄單擊 發布運維 > 發布單 進入發布部署大盤。
在發布部署大盤,單擊 創建發布單。
在 創建發布單 頁面,填寫以下發布信息后,單擊 下一步。
基本信息
標題:發布標題。例如
Demodeploy
。類型:僅支持分組發布。
命名空間:選擇待發布的應用服務所屬的命名空間。
應用服務發布列表:在 待選應用服務列表 中單擊選擇需要的應用服務:aks-transfermoney-client、aks-transfermoney-server。單擊 > 圖標將應用服務添加到 已選應用服務列表 中。
說明若應用服務存在多個提交版本,需要選擇要發布的版本。默認選擇最新的版本。
高級配置
設置應用服務依賴關系:aks-transfermoney-client 依賴于 aks-transfermoney-server。
在 預覽 頁面確認信息無誤后,單擊 創建。系統會自動跳轉到 發布單詳情 頁面,單擊 整體發布 即可開始發布。
步驟七:驗證結果
驗證應用服務 aks-transfermoney-client 及 aks-transfermoney-server 是否在雙集群中發布成功。
操作步驟
登錄控制臺,在左側導航欄單擊 發布運維 > 應用服務。
在應用服務列表中,分別單擊 aks-transfermoney-client 及 aks-transfermoney-server 進入實例詳情頁。
在 Pod 頁簽中,查看兩個應用服務在兩個部署單元中均有一個應用容器運行中。
更多應用服務內容,參見 查看應用服務詳情 。