基于ACK One MSE多集群網(wǎng)關(guān)實(shí)現(xiàn)混合云容災(zāi)
對(duì)于當(dāng)前業(yè)務(wù)運(yùn)行在IDC或第三方公共云的Kubernetes集群中的系統(tǒng)架構(gòu),如果希望通過云計(jì)算為云下業(yè)務(wù)提供同城災(zāi)備的高可用冗余能力,可利用阿里云分布式云容器平臺(tái) ACK One來提供統(tǒng)一的流量、應(yīng)用和集群管理,實(shí)現(xiàn)業(yè)務(wù)流量的多集群路由和災(zāi)難情況下流量的自動(dòng)平滑容災(zāi)。本文主要介紹如何通過ACK One快速構(gòu)建混合云同城容災(zāi)系統(tǒng)。
混合云同城容災(zāi)系統(tǒng)架構(gòu)
基于ACK One的注冊(cè)集群、多集群艦隊(duì)(GitOps可選)、多集群網(wǎng)關(guān)構(gòu)建的混合云場(chǎng)景的同城多活容災(zāi)系統(tǒng)如上圖所示:
阿里云的云上資源都在1個(gè)VPC中(如圖中VPC 1),在AZ1創(chuàng)建ACK集群,在AZ2中創(chuàng)建注冊(cè)集群;
將IDC或第三方公共云的Kubernetes集群,通過注冊(cè)集群注冊(cè)到阿里云;并使用專線打通IDC與云上VPC的網(wǎng)絡(luò),實(shí)現(xiàn)云上云下網(wǎng)絡(luò)互通互聯(lián);
關(guān)聯(lián)ACK集群和注冊(cè)集群到同個(gè)VPC(VPC 1)下的ACK One Fleet實(shí)例,并通過ACK One GitOps向ACK集群和注冊(cè)集群發(fā)布應(yīng)用;
在ACK One Fleet中,通過MseIngressConfig創(chuàng)建MSE網(wǎng)關(guān),并將集群添加到網(wǎng)關(guān),然后通過在Fleet中創(chuàng)建Ingress設(shè)置流量路由規(guī)則,來管理南北向流量以及實(shí)現(xiàn)同城容災(zāi)。
構(gòu)建混合云同城容災(zāi)系統(tǒng)流程
步驟一:規(guī)劃網(wǎng)絡(luò)并創(chuàng)建ACK One Fleet實(shí)例
ACK One Fleet、ACK集群、注冊(cè)集群在相同VPC下。
ACK集群和注冊(cè)集群在不同的AZ。
艦隊(duì)管理網(wǎng)絡(luò)規(guī)劃請(qǐng)參見艦隊(duì)管理網(wǎng)絡(luò)規(guī)劃。
步驟二:使用ACK One注冊(cè)集群管理IDC/第三方公共云Kubernetes集群
請(qǐng)參見通過注冊(cè)集群統(tǒng)一管理任意環(huán)境下的Kubernetes集群管理集群。主要流程如下:
創(chuàng)建注冊(cè)集群。
通過YAML將目標(biāo)集群接入注冊(cè)集群。
如果您的注冊(cè)集群需要將工作負(fù)載彈性到云上,請(qǐng)參見構(gòu)建混合彈性容器集群(彈性ECS)和通過虛擬節(jié)點(diǎn)將Pod調(diào)度到ECI上運(yùn)行。
如需應(yīng)對(duì)大量突發(fā)情況,可對(duì)ECI進(jìn)行高可用配置,請(qǐng)參見創(chuàng)建多可用區(qū)的ECI Pod。
步驟三:云下網(wǎng)絡(luò)與云上VPC的互聯(lián)互通
將云下IDC網(wǎng)絡(luò)與云上VPC網(wǎng)絡(luò)進(jìn)行連接,請(qǐng)參見VPC與本地IDC連接。
采用專線連通云上云下網(wǎng)絡(luò)的方案,請(qǐng)參見混合網(wǎng)絡(luò)概述。主要流程如下:
將云下網(wǎng)絡(luò)通過物理專線接入阿里云。
阿里云提供的專線接入方案,請(qǐng)參見物理專線連接。
創(chuàng)建專線連接本地?cái)?shù)據(jù)中心邊緣網(wǎng)絡(luò)設(shè)備與云上網(wǎng)關(guān)設(shè)備邊界路由器。
將云上邊界路由器與云上專有網(wǎng)絡(luò)VPC加入同一個(gè)云企業(yè)網(wǎng)。
配置云上邊界路由器和本地?cái)?shù)據(jù)中心BGP網(wǎng)絡(luò)。
云上云下連通性測(cè)試。
配置云下網(wǎng)絡(luò)到云上云產(chǎn)品內(nèi)網(wǎng)IP地址段的路由。具體操作如下。
步驟四:關(guān)聯(lián)注冊(cè)集群和ACK集群到ACK One Fleet
具體操作,請(qǐng)參見管理關(guān)聯(lián)集群。
步驟五:使用GitOps發(fā)布應(yīng)用到多個(gè)集群
具體操作,請(qǐng)參見使用GiOps部署應(yīng)用到多個(gè)集群。
步驟六:基于多集群網(wǎng)關(guān)實(shí)現(xiàn)同城容災(zāi)
具體操作,請(qǐng)參見基于ACK One MSE多集群網(wǎng)關(guān)實(shí)現(xiàn)同城容災(zāi)。主要流程如下:
在ACK One Fleet中開啟多集群網(wǎng)關(guān)能力;
在Fleet中通過創(chuàng)建MseIngressConfig來創(chuàng)建網(wǎng)關(guān),并添加ACK集群和注冊(cè)集群到網(wǎng)關(guān);
在Fleet中創(chuàng)建路由規(guī)則(Ingress)實(shí)現(xiàn)同城容災(zāi)。
相關(guān)文檔
ACK One詳細(xì)功能介紹,請(qǐng)參見ACK One概述。