Smart Access Gateway(Smart Access Gateway)vCPE是Smart Access Gateway軟體鏡像版,通過將SAG vCPE鏡像部署在您網路的宿主機中,使宿主機作為一個CPE(Customer-premises equipment)裝置為您提供上雲端服務。本文為您介紹如何通過SAG vCPE將已經部署在使用者雲下網路環境中的K8s叢集接入阿里雲ACK,實現雲上雲下網路互連。
前提條件
-
您已具備操作IDC網路管理和配置的許可權。具體可以諮詢IDC管理員。
-
您已經在阿里雲平台建立了Virtual Private Cloud(Virtual Private Cloud)並部署了相關雲端服務。具體操作,請參見搭建IPv4專用網路。
-
您已經瞭解阿里雲VPC中雲端服務所應用的安全性群組規則,並確保安全性群組規則允許雲下網路訪問阿里雲VPC內的資源。具體操作,請參見查詢安全性群組規則和添加安全性群組規則。
-
您已瞭解阿里雲ACK叢集建立以及網路規劃的全部內容,並確保ACK叢集的網路與雲下網路環境不存在網段重疊的情況。具體操作,請參見建立ACK託管叢集和ACK託管叢集網路規劃。
樣本情境
某企業在自己的專有IDC環境部署了K8s叢集,在阿里雲平台某地區部署了ACK。該企業計劃使用SAG vCPE產品將雲上的ACK和雲下的K8s服務連通,實現資源互訪。
您可以在IDC內的一台執行個體(物理機或者虛擬機器)中部署SAG vCPE鏡像,使該執行個體作為一台SAG vCPE裝置串連阿里雲。SAG vCPE裝置串連至阿里雲後,可通過阿里雲雲串連網和雲企業網實現IDC內資源與阿里雲VPC內資源的互訪。本文情境樣本圖如下所示。
從上圖可以得出雲上和雲下的網路情況如下表所示。
|
類型 |
私網網段(VPC網段) |
容器網段 |
|
阿里雲雲上ACK叢集 |
172.16.0.0/12 |
10.77.0.0/16 |
|
IDC中K8s叢集 |
192.168.0.0/16 |
10.18.0.0/16 |
部署流程

-
建立SAG vCEP執行個體:在Smart Access Gateway管理主控台建立SAG vCPE執行個體,建立後您可以通過SAG vCPE執行個體管理SAG vCPE裝置。
-
部署SAG vCEP鏡像:在IDC機房中選擇一台機器,部署SAG vCPE鏡像,該機器可作為SAG vCPE裝置串連IDC網路至阿里雲。
-
配置阿里雲側網路:在Smart Access Gateway管理主控台對SAG vCPE裝置進行網路設定,以便SAG vCPE裝置能正常接入阿里雲。
-
配置IDC側網路:在IDC中進行網路設定,實現IDC和阿里雲ACK資源互連。
-
測試連通性:分別測試雲端上雲下主機間的網路連通性、雲上雲下容器Pod間的網路連通性。
步驟一:建立SAG vCEP執行個體
您需要在Smart Access Gateway管理主控台建立SAG vCPE執行個體,建立後您可以通過SAG vCPE執行個體管理SAG vCPE裝置。
-
在Smart Access Gateway頁面,選擇。
-
在購買頁面,完成以下配置,然後單擊立即購買並完成支付。
配置
說明
本文樣本
地區
選擇SAG vCPE執行個體所屬的地區。
中國內地
執行個體名稱
輸入SAG vCPE執行個體的名稱。
執行個體名稱可為空白。
長度為2~128個字元,以大小寫字母或中文開頭,可包含數字,半形句號(.),底線(_)或短劃線(-)。
Demo
執行個體類型
選擇Smart Access GatewayvCPE的執行個體類型。
SAG-vCPE
版本
選擇Smart Access GatewayvCPE的版本。
基礎版
使用方式
選擇SAG vCPE的使用方式。預設為雙機備份。
雙機方式下一個SAG vCPE執行個體中預設可以串連兩台SAG vCPE裝置。您可以配置兩台SAG vCPE裝置為主備模式,共同將本端網路接入阿里雲,提高您網路的可用性。本文中只使用主裝置。
雙機
頻寬峰值
網路通訊的頻寬峰值。單位:Mbps。
50 Mbps
購買數量
選擇需要建立的SAG vCPE執行個體的數量。
1
購買時間長度
選擇購買時間長度。
您可以選中下方的到期自動續約進行自動續約。
1個月
資源群組
選擇SAG vCPE執行個體所屬的資源群組。
無
-
返回Smart Access Gateway管理主控台,在頂部功能表列,選擇已建立執行個體的地區。
-
在左側導覽列,選擇Smart Access Gateway。
-
在Smart Access Gateway頁面,單擊已建立的執行個體ID。
-
在執行個體詳情頁面,單擊裝置管理頁簽,查看並記錄當前SAG vCPE主裝置的序號和密鑰,用於後續SAG vCPE執行個體和SAG vCPE裝置的綁定。
選擇主裝置頁簽,在左側單擊裝置資訊菜單,查看序號;在秘鑰欄位旁單擊顯示連結查看密鑰。
步驟二:部署SAG vCEP鏡像
為實現IDC和阿里雲ACK叢集的網路互連,您需要在IDC機房中選擇一台機器,用於部署SAG vCPE鏡像。部署完成後,該機器可作為SAG vCPE裝置為您提供服務,串連IDC網路至阿里雲。
-
在IDC環境中選擇一台機器。
為了保證SAG vCEP鏡像可以正常運行,選擇的機器需要滿足以下條件:
-
支援安裝以下類型的作業系統:
-
(推薦)64位,CentOS 7.6或以上規格。
-
64位,Ubuntu 18.04或以上規格。
-
-
支援安裝3.10.0-957.21.3.el7.x86_64或以上規格的核心版本。
-
有單獨的可串連公網的網卡。
-
支援遠程登入。
-
未運行業務系統。
-
-
登入IDC機器,執行以下命令,下載指令碼至執行個體的/root目錄下。
說明-
您可以將指令碼下載至自訂路徑內,請注意後續執行指令碼時,路徑需修改為您的自訂路徑。
-
下載指令碼後,請勿修改指令碼內容以及指令碼名稱。
根據您的宿主機是否部署在中國內地地區,選擇不同的下載指令碼命令。
-
宿主機部署在中國內地地區
wget -O /root/sag_vcpe_v2.3.0_deployment.sh https://sdwan-oss-shanghai.oss-cn-shanghai.aliyuncs.com/vcpe_vm/sag_vcpe_v2.3.0_deployment.sh -
宿主機部署在非中國內地地區
wget -O /root/sag_vcpe_v2.3.0_deployment.sh https://sdwan-oss-shanghai.oss-accelerate.aliyuncs.com/vcpe_vm/sag_vcpe_v2.3.0_deployment.sh
-
-
執行以下命令,為指令碼賦予可執行許可權。
chmod +x /root/sag_vcpe_v2.3.0_deployment.sh -
執行指令碼。
/root/sag_vcpe_v2.3.0_deployment.sh -n sag**** -k X8==**** -t idc -w eth0部分參數說明如下表。關於指令碼參數的更多資訊,請參見指令碼參數說明。
參數
描述
-n
SAG vCPE裝置的序號。
-k
SAG vCPE裝置的密鑰。
-t
安裝SAG vCPE鏡像的宿主機所在的平台。取值:
-
aliyun(預設值):表示SAG vCPE鏡像部署在阿里雲Elastic Compute Service(Elastic Compute Service)中。 -
aws:表示SAG vCPE鏡像部署在AWS EC2中。 -
ens:表示SAG vCPE鏡像部署在阿里雲邊緣節點服務ENS(Edge Node Service)的執行個體中。 -
如果您的SAG vCPE鏡像部署在本網的伺服器中,則本參數的取值可為
aliyun、aws、ens之外的任意英文字元。
-w
WAN口的網卡名稱。您可以通過
ifconfig命令查看宿主機的網卡名稱。執行指令碼時,系統會自動檢測部署環境是否滿足需求:
-
如果部署環境相關的組件安裝不完整,系統會出現如下提示。您可以輸入yes,系統將自動幫您安裝相關組件。安裝組件完成後,開始部署SAG vCPE鏡像。
Missing dependency packages python3 telnet vim traceroute sshpass mtr docker inotify wget netifaces==0.10.9, are you sure want to install these packages? [yes|no] [no] >>> -
如果檢測到部署環境已經滿足需求,則會直接開始部署SAG vCPE鏡像,鏡像部署完成後系統會出現如下提示。
2021-10-27 01:48:08 INFO: Install complete, please wait for few minutes to check state ============================================================================================== [root@xxx ~]#
-
-
部署完成後,執行
docker ps命令,查看系統中是否已有以下兩個容器。[root@xxx ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b5xxx vsag-core "sh -c 'mkdir -p /li…" 7 days ago Up 7 days vsag-core 2fxxx centos:7 "/sbin/init" 7 days ago Up 7 days vsag-manager-base-
如果系統已包含vsag-core和vsag-manager-base兩個容器,則證明部署成功。
-
如果系統未包含上述兩個容器,則說明部署失敗,請提交工單處理。
-
步驟三:配置阿里雲側網路
SAG vCPE鏡像部署完成後,您還需要在Smart Access Gateway管理主控台對SAG vCPE裝置進行網路設定,以便SAG vCPE裝置能正常接入阿里雲。
-
配置線下路由同步方式。
-
登入Smart Access Gateway管理主控台,在頂部功能表列,選擇目的地區域。
-
在Smart Access Gateway頁面,找到目標執行個體,在操作列單擊網路設定。
-
在網路設定頁簽的線下路由同步方式地區,單擊添加靜態路由。
-
在添加靜態路由對話方塊中,輸入IDC所在的私網網段,然後單擊確定。
-
再次單擊添加靜態路由,在添加靜態路由對話方塊中,輸入IDC中的K8s叢集容器網段,然後單擊確定。
添加完成後,在網路設定頁簽下的線下路由同步方式頁面中,選擇靜態路由,可看到已添加的路由網段,例如
192.168.0.0/16和10.18.0.0/16。
-
-
綁定雲串連網。
雲串連網是SAG的重要組成部分,SAG通過雲串連網將您的網路接入阿里雲。
-
建立雲串連網。具體操作,請參見建立雲串連網。
說明雲串連網所在地區需和SAG vCPE執行個體所在地區相同。
-
在Smart Access Gateway管理主控台的左側導覽列,選擇Smart Access Gateway。
-
在Smart Access Gateway頁面,找到目標執行個體,在操作列單擊網路設定。
-
在網路設定頁簽,選擇綁定網路詳情。
-
在已綁定同帳號執行個體地區下,單擊添加網路,選擇已建立的雲串連網執行個體,然後單擊確定。
-
單擊裝置管理頁簽,查看SAG vCPE裝置的VPN狀態和管控狀態。
在您綁定雲串連網後,SAG vCPE裝置的VPN狀態和管控狀態均為正常,則表示SAG vCPE裝置已接入阿里雲。
-
-
配置雲企業網。
您需要通過以下操作將SAG vCPE執行個體串連到雲企業網,並在雲企業網中載入已建立的VPC執行個體。操作完成後,SAG vCPE執行個體和阿里雲上VPC執行個體可學習到對方的路由,SAG vCPE裝置可與阿里雲VPC內的資源互連。
-
在Smart Access Gateway管理主控台的左側導覽列,選擇雲串連網。
-
在雲串連網頁面,找到目標雲串連網執行個體,在操作列單擊綁定雲企業網。
-
在綁定雲企業網面板,選擇要綁定的雲企業網執行個體,然後單擊確定。
您可以通過以下兩種方式選擇目標雲企業網執行個體,本文選擇建立CEN。
-
選擇現有CEN:如果您已經建立了雲企業網,可以在下拉式清單中,選擇已建立的雲企業網執行個體進行綁定。
-
建立CEN:如果您未建立過雲企業網,您可以在下方文字框中,輸入雲企業網執行個體名稱,系統會為您建立雲企業網執行個體並自動進行綁定。
說明雲企業網執行個體名稱長度為2~100個字元,以大小寫字母或中文開頭,可包含數字、底線(_)或短劃線(-)。
-
-
將已經建立的阿里雲VPC執行個體,綁定到此雲企業網中。具體操作,請參見載入網路執行個體。
-
步驟四:配置IDC側網路
為實現IDC和阿里雲資源互連,您還需要在IDC中進行網路設定,配置需要的具體命令請諮詢IDC網路系統管理員。
-
配置IDC靜態路由樣本。
在IDC網路設定路由,將要訪問的阿里雲ACK叢集網段(如果需要訪問雲上的容器網段,也需要添加)下一跳指向安裝了SAG vCEP的機器IP地址,由該執行個體完成和阿里雲雲上服務的互連。
ip route add 10.77.0.0/16 via 192.168.11.210說明靜態路由樣本僅供參考,不同廠商的不同裝置可能會不同。
-
配置IDC環境的防火牆。
允許阿里雲ACK叢集和IDC在私網網段可相互連信。
步驟五:測試連通性
-
測試主機連通性。
-
登入阿里雲VPC內的一個ECS執行個體。具體操作,請參見選擇ECS遠端連線方式。
-
執行
ping命令,訪問雲下IDC環境中的某台主機執行個體,驗證雲上和雲下主機網路是否正常。經驗證,阿里雲VPC中的資源與雲下IDC中的資源可正常通訊。
[root@<hostname> ~]# ping 192.168.11.236 PING 192.168.11.236 (192.168.11.236) 56(84) bytes of data. 64 bytes from 192.168.11.236: icmp_seq=1 ttl=61 time=9.52 ms 64 bytes from 192.168.11.236: icmp_seq=2 ttl=61 time=9.30 ms 64 bytes from 192.168.11.236: icmp_seq=3 ttl=61 time=9.24 ms
-
-
測試容器Pod網路連通性。
-
分別在阿里雲雲上的ACK叢集和雲下IDC的K8s叢集部署測試容器,YAML樣本如下。
apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1 kind: Deployment metadata: name: nginx-deployment-basic labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: # nodeSelector: # env: test-team containers: - name: nginx image: nginx:1.7.9 #替換成您實際的<image_name:tags>。 ports: - containerPort: 80 resources: limits: cpu: "500m" -
進入到ACK叢集容器內,執行
Ping命令,訪問雲下IDC的K8s叢集中容器Pod的IP,驗證雲上ACK和雲下K8s的Pod網路是否正常。經驗證,阿里雲ACK叢集中的Pod與雲下IDC中K8s叢集的Pod可正常通訊。
root@nginx-deployment-basic-8xxx-pjns8:/# ping 10.18.1.131 PING 10.18.1.131 (10.18.1.131): 48 data bytes 56 bytes from 10.18.1.131: icmp_seq=0 ttl=59 time=10.106 ms 56 bytes from 10.18.1.131: icmp_seq=1 ttl=59 time=9.930 ms 56 bytes from 10.18.1.131: icmp_seq=2 ttl=59 time=9.926 ms 56 bytes from 10.18.1.131: icmp_seq=3 ttl=59 time=9.909 ms 56 bytes from 10.18.1.131: icmp_seq=4 ttl=59 time=9.888 ms 56 bytes from 10.18.1.131: icmp_seq=5 ttl=59 time=9.859 ms
-
總結
通過SAG vCEP結合雲串連網路以及雲企業網,您可以快速地完成雲上和雲下環境的快速組網,實現雲上雲下的網路互連。在這個過程中,為了降低可能的隱患,建議您提前做好網路規劃,避免在生產環境中,由於網路衝突而帶來的影響。