华为云北京四业务,访问北京一OBS桶,配置指南
【摘要】 华为云跨数据中心,从北京四访问北京一的OBS桶里面的数据。免去数据迁移的麻烦
1 驱动力
跨region访问OBS桶里面的数据时。如果不走云连接,一个OBS桶域名对应的IP地址,是指向外网的。这就要求用户需要购买一个EIP去访问OBS。同时,OBS数据被外网下载是需要额外付费的。这个成本非常高。
走云连接可以节约大量成本。
2 云连接注意点:2个region的网段必须错开
2个注意点:
(1) 左边的Subnet,和右边的Subnet,网段必须错开。
(2) 自己这边的兄弟Subnet,也不能和对方相同。否则影响云连接路由。
(因为:先路由本VPC内兄弟Subnet,然后才会路由到对端云连接Subnet)
3 组网方式
理解组网,分2条线:
(1) DNS查询,把北京一的OBS桶的地址,都指向北京一的Nginx代理。
(2) 请求发往北京一的Nginx,然后Nginx转发请求给真正的OBS。
4 北京一启动Nginx代理
(1)nginx配置文件。
这里使用configmap来生成配置文件。(省去启动VM了,容器反正方便一点嘛)
配置文件:
(见附件)
(2)启动容器,加载这个configmap
(3)容器里面
使用新的配置文件启动nginx。
root@cci-tsj-ngnix-75d6799654-65kj6:/etc/nginx# mv nginx.conf nginx.conf.bak
root@cci-tsj-ngnix-75d6799654-65kj6:/etc/nginx# cp obs/key nginx.conf
root@cci-tsj-ngnix-75d6799654-65kj6:/etc/nginx# nginx &
[1] 20
5 设置云连接
(1)选择连接2个region的VPC
(2)记得配置域间带宽
(3)Subnet记得不能有重复。
!注意:某个VPC内的Subnet,不能和对方目标Subnet重叠。
6 北京四的容器
北京四,启动容器,访问北京一的OBS,结果如下:OK
7 OBS域名 -> Nginx的IP (方式1) 不推荐
手工修改 /etc/hosts文件,添加一行:
IP 域名
缺点:
(1) 这个域名不支持通配。 所以每个桶都需要增加一行。
(2) 容器启动,都是新的 /etc/hosts。每个容器都得重新配置。
8 OBS域名 -> Nginx的IP(方式2) 推荐
目标:北京四,把OBS域名,转为Nginx地址。
创建k8s-service对象,把 face-swap.obs.cn-north-1.myhuaweicloud.com 域名指向 目的IP。
或者把 *.obs.cn-north-1.myhuaweicloud.com 指向 目的IP。
(!注)实际验证结果为:K8S支持Ingress语法支持通配符,但是CCI的Ingress不支持通配符。
所以这里使用华为云DNS服务,设置内网域名解析规则。
将:*.obs.cn-north-1.myhuaweicloud.com 指向 特定的IP
经验证可用。
9 Nginx多实例
上述验证,只是使用了Nginx单实例。如果Nginx异常,会导致整个网络环节异常,所以Nginx做多实例负载均衡很有必要。使用Deployment多实例模式,部署Nginx,然后统一暴露访问的地址就行。
https://support.huaweicloud.com/usermanual-cci/cci_01_0054.html
作者:tsjsdbd