智能接入网关SAG(Smart Access Gateway)vCPE是智能接入网关软件镜像版,通过将SAG vCPE镜像部署在您网络的宿主机中,使宿主机作为一个CPE(Customer-premises equipment)设备为您提供上云服务。本文为您介绍如何通过SAG vCPE将已经部署在用户云下网络环境中的K8s集群接入阿里云ACK,实现云上云下网络互通。
前提条件
-
您已具备操作IDC网络管理和配置的权限。具体可以咨询IDC管理员。
-
您已经在阿里云平台创建了专有网络VPC(Virtual Private Cloud)并部署了相关云服务。具体操作,请参见 搭建IPv4专有网络 。
-
您已经了解阿里云VPC中云服务所应用的安全组规则,并确保安全组规则允许云下网络访问阿里云VPC内的资源。具体操作,请参见 查询安全组规则 和 添加安全组规则 。
-
您已了解阿里云ACK集群创建以及网络规划的全部内容,并确保ACK集群的网络与云下网络环境不存在网段重叠的情况。具体操作,请参见 创建Kubernetes托管版集群 和 Kubernetes集群网络规划 。
示例场景
某企业在自己的专有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实例:在 智能接入网关管理控制台 创建SAG vCPE实例,创建后您可以通过SAG vCPE实例管理SAG vCPE设备。
-
部署SAG vCEP镜像:在IDC机房中选择一台机器,部署SAG vCPE镜像,该机器可作为SAG vCPE设备连接IDC网络至阿里云。
-
配置阿里云侧网络:在 智能接入网关管理控制台 对SAG vCPE设备进行网络配置,以便SAG vCPE设备能正常接入阿里云。
-
配置IDC侧网络:在IDC中进行网络配置,实现IDC和阿里云ACK资源互通。
-
测试连通性:分别测试云上云下主机间的网络连通性、云上云下容器Pod间的网络连通性。
步骤一:创建SAG vCEP实例
您需要在 智能接入网关管理控制台 创建SAG vCPE实例,创建后您可以通过SAG vCPE实例管理SAG vCPE设备。
-
登录 智能接入网关管理控制台 。
-
在 智能接入网关 页面,选择 。
-
在购买页面,完成以下配置,然后单击 立即购买 并完成支付。
配置
说明
本文示例
区域
选择SAG vCPE实例所属的区域。
中国内地
实例名称
输入SAG vCPE实例的名称。
实例名称可为空。
长度为2~128个字符,以大小写字母或中文开头,可包含数字,半角句号(.),下划线(_)或短划线(-)。
Demo
实例类型
选择智能接入网关vCPE的实例类型。
SAG-vCPE
版本
选择智能接入网关vCPE的版本。
基础版
使用方式
选择SAG vCPE的使用方式。默认为 双机备份 。
双机方式下一个SAG vCPE实例中默认可以连接两台SAG vCPE设备。您可以配置两台SAG vCPE设备为主备模式,共同将本端网络接入阿里云,提高您网络的可用性。本文中只使用主设备。
双机
带宽峰值
网络通信的带宽峰值。单位:Mbps。
50 Mbps
购买数量
选择需要创建的SAG vCPE实例的数量。
1
购买时长
选择购买时长。
您可以选中下方的 到期自动续费 进行自动续费。
1个月
资源组
选择SAG vCPE实例所属的资源组。
无
-
返回 智能接入网关管理控制台 ,在顶部菜单栏,选择已创建实例的区域。
-
在左侧导航栏,选择 智能接入网关 。
-
在 智能接入网关 页面,单击已创建的实例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镜像部署在阿里云云服务器ECS(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镜像。
-
如果检测到部署环境已经满足需求,则会直接开始部署SAG vCPE镜像,镜像部署完成后系统会出现如下图的提示。
-
-
部署完成后,执行
docker ps
命令,查看系统中是否已有以下两个容器。-
如果系统已包含vsag-core和vsag-manager-base两个容器,则证明部署成功。
-
如果系统未包含上述两个容器,则说明部署失败,请 提交工单 处理。
-
步骤三:配置阿里云侧网络
SAG vCPE镜像部署完成后,您还需要在 智能接入网关管理控制台 对SAG vCPE设备进行网络配置,以便SAG vCPE设备能正常接入阿里云。
-
配置线下路由同步方式。
-
登录 智能接入网关管理控制台 ,在顶部菜单栏,选择目标区域。
-
在 智能接入网关 页面,找到目标实例,在 操作 列单击 网络配置 。
-
在 网络配置 页签的 线下路由同步方式 区域,单击 添加静态路由 。
-
在 添加静态路由 对话框中,输入IDC所在的私网网段,然后单击 确定 。
-
再次单击 添加静态路由 ,在 添加静态路由 对话框中,输入IDC中的K8s集群容器网段,然后单击 确定 。
两个网段都添加完成后,界面如下图所示。
-
-
绑定云连接网。
云连接网是SAG的重要组成部分,SAG通过云连接网将您的网络接入阿里云。
-
创建云连接网。具体操作,请参见 创建云连接网 。
说明云连接网所在区域需和SAG vCPE实例所在区域相同。
-
在 智能接入网关管理控制台 的左侧导航栏,选择 智能接入网关 。
-
在 智能接入网关 页面,找到目标实例,在 操作 列单击 网络配置 。
-
在 网络配置 页签,选择 绑定网络详情 。
-
在 已绑定同账号实例 区域下,单击 添加网络 ,选择已创建的云连接网实例,然后单击 确定 。
-
单击 设备管理 页签,查看SAG vCPE设备的VPN状态和管控状态。
在您绑定云连接网后,SAG vCPE设备的VPN状态和管控状态均为正常,则表示SAG vCPE设备已接入阿里云。
-
-
配置云企业网。
您需要通过以下操作将SAG vCPE实例连接到云企业网,并在云企业网中加载已创建的VPC实例。操作完成后,SAG vCPE实例和阿里云上VPC实例可学习到对方的路由,SAG vCPE设备可与阿里云VPC内的资源互通。
-
在 智能接入网关管理控制台 的左侧导航栏,选择 云连接网 。
-
在 云连接网 页面,找到目标云连接网实例,在 操作 列单击 绑定云企业网 。
-
在 绑定云企业网 面板,选择要绑定的云企业网实例,然后单击 确定 。
您可以通过以下两种方式选择目标云企业网实例,本文选择 新建CEN 。
-
选择现有CEN :如果您已经创建了云企业网,可以在下拉列表中,选择已创建的云企业网实例进行绑定。
-
新建CEN :如果您未创建过云企业网,您可以在下方文本框中,输入云企业网实例名称,系统会为您新建云企业网实例并自动进行绑定。
说明云企业网实例名称长度为2~100个字符,以大小写字母或中文开头,可包含数字、下划线(_)或短划线(-)。
-
-
将已经创建的阿里云VPC实例,绑定到此云企业网中。具体操作,请参见 加载网络实例 。
最终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实例。具体操作,请参见 连接方式概述 。
-
执行
ping
命令,访问云下IDC环境中的某台主机实例,验证云上和云下主机网络是否正常。经验证,阿里云VPC中的资源与云下IDC中的资源可正常通信,如下图所示。
-
-
测试容器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可正常通信,如下图所示。
-
总结
通过SAG vCEP结合云连接网络以及云企业网,您可以快速地完成云上和云下环境的快速组网,实现云上云下的网络互通。在这个过程中,为了降低可能的隐患,建议您提前做好网络规划,避免在生产环境中,由于网络冲突而带来的影响。