创建终端节点以私网接入本地集群
应用场景
用户在线下IDC有kubernetes集群,接入到UCS开启容器智能分析服务,能够与SWR、OBS通信,在无法通过公网连接的情况下,可以先通过VPN与华为云VPC连接,然后通过VPC终端节点服务,让VPC能够在内网访问UCS、SWR、DNS、OBS、CIA。
接入前准备
服务 |
域名 |
IP(如涉及) |
端口 |
---|---|---|---|
SWR |
swr.cn-north-4.myhuaweicloud.com |
从VPCEP中获取。 |
443 |
OBS |
op-svc-swr-b051-10-38-19-62-3az.obs.cn-north-4.myhuaweicloud.com |
不涉及 |
443、80 |
CIA |
cie-{容器智能分析实例instanceid前八位数字}{当前选择接入的VPC子网ID前八位数字}.cn-north-4.myhuaweicloud.com |
从VPCEP中获取。 |
443 |
DNS |
不涉及 |
创建VPCEP,选择DNS Endpoint对应的地址。 |
53 |
其他区域的SWR及依赖OBS的域名信息。
Region |
SWR域名 |
OBS域名 |
---|---|---|
华北-北京四 |
swr.cn-north-4.myhuaweicloud.com |
op-svc-swr-b051-10-38-19-62-3az.obs.cn-north-4.myhuaweicloud.com |
华东-上海二 |
swr.cn-east-2.myhuaweicloud.com |
obs.cn-east-2.myhuaweicloud.com |
华东-上海一 |
swr.cn-east-3.myhuaweicloud.com |
op-svc-swr-b051-10-147-7-14-3az.obs.cn-east-3.myhuaweicloud.com |
华南-广州 |
swr.cn-south-1.myhuaweicloud.com |
op-svc-swr-b051-10-230-33-197-3az.obs.cn-south-1.myhuaweicloud.com |
西南-贵阳一 |
swr.cn-southwest-2.myhuaweicloud.com |
op-svc-swr-b051-10-205-14-19-3az.obs.cn-southwest-2.myhuaweicloud.com |
华北-乌兰察布一 |
swr.cn-north-9.myhuaweicloud.com |
obs.cn-north-9.myhuaweicloud.com |
亚太-新加坡 |
swr.ap-southeast-3.myhuaweicloud.com |
op-svc-swr-b051-10-38-34-172-3az.obs.ap-southeast-3.myhuaweicloud.com |
香港 |
swr.ap-southeast-1.myhuaweicloud.com |
obs.ap-southeast-1.myhuaweicloud.com |
拉美-墨西哥一 |
swr.na-mexico-1.myhuaweicloud.com |
obs.na-mexico-1.myhuaweicloud.com |
拉美-墨西哥二 |
swr.la-north-2.myhuaweicloud.com |
obs.la-north-2.myhuaweicloud.com |
操作步骤
- 设置虚拟专用网络(VPN)方案:请参见通过VPN连接云下数据中心与云上VPC。
如已设置VPN网络可跳转至在华为云侧创建VPCEP。
- 数据中心的私网网段与华为云上连接VPN使用的VPC网段不能有重叠冲突。
- 该VPC子网网段不能与IDC中已使用的网络网段重叠,否则将无法接入集群。例如,IDC中已使用的VPC子网为192.168.1.0/24,那么华为云VPC中不能使用192.168.1.0/24这个子网。
- 在华为云创建VPN网关。
登录到华为云控制台,选择服务“虚拟专用网络 VPN”进入,左侧导航栏选择“虚拟专用网络 > 企业版-VPN网关”,单击“站点入云VPN网关”进入“站点入云VPN网关”页面,然后单击“创建站点入云VPN网关”。
表1 规划数据 类别
规划项
规划值
VPC
待互通子网
10.188.1.0/24,100.64.0.0/10(该网段是云上的SWR、OBS等服务所在网段)
VPN网关
互联子网
用于VPN网关和VPC通信,不能和VPC已有子网重叠
10.188.2.0/24
EIP地址
EIP地址在购买EIP时由系统自动生成,无需填写,VPN网关默认使用2个EIP。本示例假设EIP地址生成如下:
主EIP:11.xx.xx.11
备EIP:11.xx.xx.12
VPN连接
Tunnel接口地址
用于VPN网关和对端网关建立IPSec隧道,配置时两边需要互为镜像。
VPN连接1:169.254.70.1/30
VPN连接2:169.254.71.1/30
- VPN创建完成后,设置对端网关。
左侧导航栏,选择“虚拟专用网络 > 企业版-对端网关”,在“对端网关”界面,单击“创建对端网关”。
标识选择IP Address,公网IP是数据中心侧的公网IP。
- 创建VPN连接。
表2 VPN连接参数说明 参数
说明
参数取值
名称
输入VPN连接的名称。
vpn-xxx
VPN网关
选择步骤创建的VPN网关
vpngw-xxx
网关IP
选择VPN网关的主EIP。
11.xx.xx.11
对端网关
选择步骤创建的对端网关
cgw-xxx
连接模式
选择“静态路由模式”。
静态路由模式
对端子网
输入数据中心待和VPC互通的子网。
说明:- 对端子网可以和本端子网重叠,但不能重合。
- 对端子网不能被VPN网关关联的VPC内已有子网所包含;不能作为被VPN网关关联的VPC自定义路由表的目的地址。
- 对端子网不能是VPC的预留网段,例如100.64.0.0/10、214.0.0.0/8。
- 如果互联子网关联了ACL规则,则需要确保ACL规则中已放通所有本端子网到对端子网的TCP协议端口。
172.16.0.0/16
接口分配方式
支持“手动分配”和“自动分配”两种方式。
手动分配
本端接口地址
配置VPN网关的Tunnel隧道IP地址。
说明:对端网关需要对此处的本端接口地址/对端接口地址做镜像配置。
169.254.70.2/30
对端隧道接口地址
配置在用户侧设备上的tunnel接口地址。
169.254.70.1/30
检测机制
用于多链路场景下路由可靠性检测。
说明:功能开启前,请确认对端网关支持ICMP功能,且对端接口地址已在对端网关上正确配置,否则会导致VPN流量不通。
勾选“使能NQA”
预共享密钥、确认密钥
VPN连接协商密钥。
VPN连接和对端网关配置的预共享密钥需要一致。
Test@123
策略配置
包含IKE策略和IPsec策略,用于指定VPN隧道加密算法。
VPN连接和对端网关配置的策略信息需要一致。
默认配置
- 配置对端网关设备。
- 验证网络互通情况:
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域和项目。
- 单击“服务列表”,选择“计算 > 弹性云服务器”。
- 登录弹性云服务器。
弹性云服务器有多种登录方法,具体请参见登录弹性云服务器。
本示例是通过管理控制台远程登录(VNC方式)。
- 在弹性云服务器的远程登录窗口,执行以下命令,验证网络互通情况。
其中,172.16.0.100为数据中心服务器的IP地址,请根据实际替换。
回显如下信息,表示网络已通。来自 xx.xx.xx.xx 的回复: 字节=32 时间=28ms TTL=245 来自 xx.xx.xx.xx 的回复: 字节=32 时间=28ms TTL=245 来自 xx.xx.xx.xx 的回复: 字节=32 时间=28ms TTL=245 来自 xx.xx.xx.xx 的回复: 字节=32 时间=27ms TTL=245
- 在华为云侧创建VPCEP。
数据中心IDC访问华为云上各服务需要在与数据中心互通的VPC中创建VPCEP。需要在华为云终端节点页面分别创建DNS、SWR、OBS、UCS的终端节点:
创建DNS终端节点
在“服务列表”中,选择“网络 > VPC终端节点 VPCEP”,进入终端节点页面。
- 在左侧导航栏,选择“VPC终端节点 > 终端节点”。
- 在终端节点界面,单击“购买终端节点”,创建连接DNS服务的终端节点。
- 购买终端节点时,“服务类型”和“服务”选择“云服务 > com.myhuaweicloud.cn-north-4.dns”。
- 虚拟私有云选择步骤2 在华为云创建VPN网关中进行VPN打通的VPC。
- 单击生成的终端节点名称详情,查看生成的IP,记录。
创建SWR终端节点
- 在“服务列表”中,选择“网络 > VPC终端节点”,进入终端节点页面。
- 在左侧导航栏,选择“VPC终端节点 > 终端节点”。
- 在终端节点界面,单击“购买终端节点”,创建连接SWR服务的终端节点。
- 购买终端节点时,“服务类型”和“服务”选择“云服务 > com.myhuaweicloud.cn-north-4.swr”。
- 虚拟私有云选择步骤2 在华为云创建VPN网关中进行VPN打通的VPC。
- 单击创建出来的VPCEP节点名称,查看VPCEP的节点IP。
创建OBS终端节点
- 在“服务列表”中,选择“网络 > VPC终端节点”,进入终端节点页面。
- 在左侧导航栏,选择“VPC终端节点 > 终端节点”。
- 在终端节点界面,单击“购买终端节点”,创建连接OBS服务的终端节点。
- 购买终端节点时,“服务类型”和“服务”选择“按名称查找服务cn-north-4.com.myhuaweicloud.v4.obsv2 >”,并单击“验证”。
- 虚拟私有云选择2中进行VPN打通的VPC。
创建UCS终端节点
- 在“服务列表”中,选择“网络 > VPC终端节点”,进入终端节点页面。
- 在左侧导航栏,选择“VPC终端节点 > 终端节点”。
- 在终端节点界面,单击“购买终端节点”,创建连接UCS服务的终端节点。
- 购买终端节点时,“服务类型”和“服务”选择“按名称查找服务 > cn-north-4.open-vpcep-svc.29696ab0-1486-4f70-ab35-a3f6b1b37c02”,并单击“验证”。
- 虚拟私有云选择2中进行VPN打通的VPC。
- 在IDC的DNS Server中增加华为云的DNS转发器。
- 配置DNS转发器:在用户线下的DNS服务器配置相应的DNS转发规则,将解析华为云内网域名的请求转发到DNS终端节点。
以常见的DNS软件Bind为例:/etc/named.conf内,增加DNS转发器的配置,forwarders为DNS终端节点IP地址。xx.xx.xx.xx是7中DNS的终端节点IP。
options { forward only; forwarders{ xx.xx.xx.xx;}; }
- 增加DNS静态配置,SWR与CIE实例地址,地址是从容器智能分析实例中获取到的。
以北京四为例,如使用dnsmasq为例,在/etc/dnsmasq.conf中添加以下静态解析。
address=/swr.cn-north-4.myhuaweicloud.com/xx.xx.xx.xx
xx.xx.xx.xx是7中SWR的终端节点IP。
address=/cie-{容器智能分析实例instanceid前八位数字}{当前选择接入的VPC子网ID前八位数字}.cn-north-4.myhuaweicloud.com
获取容器智能分析实例instanceid前八位数字。
获取当前选择接入的VPC子网ID前八位数字
- 配置DNS转发器:在用户线下的DNS服务器配置相应的DNS转发规则,将解析华为云内网域名的请求转发到DNS终端节点。
- 在UCS注册IDC的kubernetes集群:准备待接入集群的KubeConfig文件,请确保待接入集群的kubeconfig文件中的server字段是私网IP(非公网IP或者域名)。登录UCS控制台,在左侧树状导航栏,选择“容器舰队”。单击本地集群选项卡中的“注册集群”按钮。根据页面提示,选择集群服务商并填写集群参数。具体请参考安装前准备。
在完成集群添加后,集群需要终端节点来接入网络才能被UCS接管,单击私网接入,选择在与数据中心IDC打通VPN的VPC。
该VPC只有在完成中的在华为云侧创建VPCEP配置才可以被选中。
下载集群代理agent的配置文件,上传到数据中心的kubernetes集群内,待接入集群中执行以下命令部署代理。
kubectl apply -f agent.yaml
查看集群代理部署状态。
kubectl -n kube-system get pod | grep proxy-agent
如果部署成功,预期输出如下:
proxy-agent-5f7d568f6-6fc4k 1/1 Running 0 9s
查看集群代理运行状态。
kubectl -n kube-system logs<Agent Pod Name>| grep "Start serving"
如果正常运行,日志预期输出如下:
Start serving
前往UCS控制台刷新集群状态,集群处于“运行中”。
- 将在UCS下创建的待接入数据中心的kubernetes集群接入到容器智能分析服务。
- 容器智能分析接入集群:登录UCS控制台,在左侧导航栏中单击“容器智能分析”。选择容器智能分析实例,并单击右上角“开启监控”。选择一个数据中心内的待接入附着集群,单击“下一步:接入配置”。
- 接入方式选择“私网接入”。私网接入点:“虚拟私有云”选择已经与数据中心打通VPN的VPC。
- 完成插件配置。
系统提供默认的插件配置,包括插件规格、采集周期和存储,如果您想修改这些默认值,请单击插件参数旁边的按钮,展开配置项。
插件规格:包括演示规格(100容器以内)、不同规格对集群的CPU、内存等资源要求不同,UCS服务会对集群节点是否能够成功安装插件进行初步检测,当不满足时,会在页面给出提示。不同插件规格占用的资源配额可参考不同规格的资源配额要求。
- 存储:用于普罗数据的临时存储。
- 存储类型:附着集群支持Emptydir和Local Storage两种存储类型。
- 使用Emptydir模式普罗数据将存储在Pod中,请确保prometheus-server-0调度到的节点上的容器存储挂载容量满足所输入的容量大小。
- 使用本地存储将会在您的集群内创建monitoring命名空间(如果不存在),以及local-storage类型的PV及PVC,请保证您指定的节点上存在所输入的目录以及该目录满足所输入的容量大小。
- 容量:为创建PVC时指定的容量大小或者选择Pod存储时的存储最大限制值。
等待集群接入,2-3min最终显示集群接入状态是低危/中危/高危,以及有监控数据。