IBM Cloud Satellite在Tencent Cloud上的部署--Part2部署

Posted koolincn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IBM Cloud Satellite在Tencent Cloud上的部署--Part2部署相关的知识,希望对你有一定的参考价值。

此文接着上一篇,继续我们的Satellite的部署,我们在之前的文章中说明了如何准备整个环境,下面将讲解具体部署。

Part1准备:(https://blog.csdn.net/koolincn/article/details/117986530

准备好需要加入IBM Satellite Location的虚拟机之后,我们返回IBM Cloud的Portal,创建并部署IBM Cloud Satellite Location。

生成并下载Satellite部署脚本,并上传至准备好的RHEL虚拟机,然后执行。

 

在每个需要加入Satellite Location的机器上运行部署脚本。

#./attachHost-zhutest07.sh &

然后执行下面命令查看脚本执行进度和日志。

#journalctl -f -u ibm-host-attach

 

接下来分配机器,安装Satellite Control Plane

 

 

如果部署一切顺利的话,Satellite Control Plane将在约40分钟左右变为可用状态,具体时间和机器的网络速度有关。

 

在系统部署Satellite期间,我们可以登录系统,查看/var/log/firstboot.log和/var/log/message文件,看看系统部署具体执行的命令,如果有问题,可以将命令拷贝出来,手动执行看看是否也有问题,好帮忙定位和分析问题。

 

等到Satellite Control Plane状态可用之后,我们可用再分配其他机器部署RedHat OpenShift集群。

 

 

ROKS部署的整个过程大约需要1小时多一些,具体时间长短,还取决于你机器的网络速度,他需要下载相当部分安装文件和Docker镜像。

 

到此,Satellite Control与ROKS在腾讯云上的部署已完成,我们可以登录ROKS的web console去使用OpenShift,后续的OpenShift使用和其他平台的用法完全一致,没有任何差别。当然,我们不光可以在Satellite中部署OpenShift,也可以在Satellite中部署其他IBM Cloud平台上提供的Satellite ready的服务,如PostgrelSQL,ETCD,Redis以及其他一些服务等等。 IBM正在将更多的服务做成Satellite enabled的服务,后面将会有越来越多的服务可以直接部署到Satellite环境,这样使得我们的用户可以在自己期望的地点拥有并运行IBM Cloud Platform上的一系列服务。

 

由于腾讯云提供的虚拟机是VPC环境中的虚拟机,公网IP是浮动IP,所以OpenShift安装部署完成之后是以内网IP作为服务IP(需要通过能够连接内网IP的机器访问,无论是内网内的机器,还是VPN方式),如果我们希望换成公网IP进行对外服务的话,可以执行下面的操作,更改OpenShift NLB DNS解析的IP地址。

使用IBM Cloud CLI,查询Satellite Location信息(有关如何安装配置IBM Cloud CLI,请参考这个链接:https://blog.csdn.net/koolincn/article/details/104492312

使用每个主机的公共IP地址更新位置子域DNS记录

ibmcloud sat location dns register --location <location_name_or_ID> --ip <host_IP> --ip <host_IP> --ip <host_IP>

 

更新nlb-dns信息,删除原先的内网IP地址。

至此,Satellite已全部设置完成。

以上所说是通过公网直接与IBM Satellite服务端建立链接的部署方法,下面再讲述如何利用腾讯云VPC中的CCN,通过腾讯云内网与IBM Satellite服务端建立链接,使用腾讯云内网可以有更为优化的网络延时和网络稳定度,使整个Satellite环境更为稳健。

利用腾讯云全球站点以及CCN内网互联的特性,安装和部署IBM Satellite Locaton到腾讯云。

我们这里采用的方式是在腾讯上海和腾讯弗吉尼亚各创建一台虚拟机,两台虚拟机之间建立内网GRE/vxlanTunnel,然后腾讯上海的其他机器,先通过Tunnel,走腾讯CCN内网到腾讯弗吉尼亚,然后再由弗吉尼亚作为出口连接到IBM Satellite WDC的服务中心建立Satellite Link。这样,一是在网络延时方面有很大提升,由原先直接走公网方式的腾讯云上海到IBM云WDC,其延时在250毫秒左右,现在走Tunnel的方式后整个路线的延时在190毫秒左右(腾讯云上海到腾讯云弗吉尼亚走CCN约187毫秒,腾讯云弗吉尼亚到IBM WDC约3毫秒左右)。

下面我们就简单说明下如何搭建这样一个环境。

首先,在腾讯云创建VPC环境,分别建在上海和美国弗吉尼亚,然后创建CCN(云联网),加入上海和弗吉尼亚的VPC到新建的CCN中,实现上海和弗吉尼亚的VPC内网互通。

 

购买CCN内网多区域之间互联的带宽。

这里选择带宽最少100M,带宽太小会影响后续Satellite部署时下载软件的时间,可能会因为时间太长而超时,导致最后部署Satellite失败。

 

分别在上海与弗吉尼亚的VPC中部署一台虚拟机,用做GRE/vxlan Tunnel的配置。

具体Tunnel的配置,请参考下面的命令:

上海侧

Enable ip forward

#echo 1 > /proc/sys/net/ipv4/ip_forward

#modprobe ip_gre

Create tunnel named sh2us, add a virtual network address 192.168.192.0/24

#ip tunnel add sh2us mode gre local 10.200.1.8 remote 10.3.0.16 ttl 255 dev eth0

#ip addr add 192.168.192.2 dev sh2us peer 192.168.192.1/32

#ip link set dev sh2us up

(此处10.200.1.8是上海侧虚拟机的内网IP地址,10.3.0.16是弗吉尼亚侧虚拟机的IP地址)

Add route to IBM WDC satellite ip address

#ip route add 169.60.0.0/16 via sh2us

#ip route add 169.61.0.0/16 via sh2us

#ip route add 169.62.0.0/16 via sh2us

#ip route add 169.63.0.0/16 via sh2us

#ip route add 52.117.0.0/16 via sh2us

(169.60.0.0/16, 169.61.0.0/16, 169.62.0.0/16, 169.63.0.0/16, 52.117.0.0/16是IBM WDC Satellite服务地址,如果我们选用其他Satellite服务中心的话,请换成其他Satellite服务中心的IP地址, 如何获取这些IP地址信息,查阅下面Link)

https://cloud.ibm.com/docs/satellite?topic=satellite-host-reqs

 

弗吉尼亚侧

Enable ip forward

#echo 1 > /proc/sys/net/ipv4/ip_forward

#modprobe ip_gre

Create tunnel named sh2us, add a virtual network address 192.168.192.0/24

#ip tunnel add sh2us mode gre local 10.3.0.16 remote 10.200.1.8 ttl 255 dev eth0

#ip addr add 192.168.192.1 dev sh2us peer 192.168.192.2/32

#ip link set dev sh2us up

Add NAT table rules

#iptables --t nat -A POSTROUTING --out-interface eth0 -j MASQUERADE -d 52.117.0.0/16 -s 10.200.0.0/16

#iptables --t nat -A POSTROUTING --out-interface eth0 -j MASQUERADE -d 169.60.0.0/16 -s 10.200.0.0/16

#iptables --t nat -A POSTROUTING --out-interface eth0 -j MASQUERADE -d 169.61.0.0/16 -s 10.200.0.0/16

#iptables --t nat -A POSTROUTING --out-interface eth0 -j MASQUERADE -d 169.62.0.0/16 -s 10.200.0.0/16

#iptables --t nat -A POSTROUTING --out-interface eth0 -j MASQUERADE -d 169.63.0.0/16 -s 10.200.0.0/16

#iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

 

在两端的机器上分别修改MTU值(TCP包经过GRE/vxlan Tunnel传输的过程中,会在包头上再加上GRE/vxlan Tunnel的相关信息,使得原先的包的大小增大, 如果用作Tunnel的两台机器的MTU使用默认值的话,会导致发送端包的大小【加了GRE/vxlan Tunnel信息】超过Tunnel的MTU,并且多数时候数据包是不让拆分的状况,从而导致数据传输不会成功)

#ifconfig eth0 mtu 1650

#ifconfig vxlan1 mtu 1560

 

再配置腾讯云上海VPC的路由,添加对应的IP地址的路由信息,如下所示。

我们再来看一下启用隧道和不启用GRE/vxlan Tunnel,机器访问IBM WDC Satellite服务站心网络的延时和路径的区别。

再国内经过多次跳转,访问到国外,再route到IBM WDC,期间路径较长,经过的跳转较多,很多跳转不可控,不可预知,未知的网络稳定性和延时没有那么理想。整个网络延时在250毫秒左右

直接通过GRE/vxlan Tunnel连接到弗吉尼亚,没有其他跳转,而且走的是腾讯CCN内网,网络质量可控并且有保证,然后再由弗吉尼亚连接到IBM WDC(弗吉尼亚与WDC的物理距离也非常近,网络跳转较少,延时很短),整个网络延时在190毫秒左右。

由此可以看出,通过腾出CCN这种方式,在网路延时方面节省了约60毫秒,网络性能提升约25%

设置完云联网,Tunnel,路由之后,我们就可以开始Satellite的安装和部署了,具体步骤参考本文前面的Satellite Location部署教程

注:此部署可能产生费用)。

建议大家在安装部署Satellite的时候也可以同时参考IBM Cloud Satellite的官方文档。

https://cloud.ibm.com/docs/satellite?topic=satellite-getting-started

如何查看安装部署状态,以及出错信息,查看下面链接。

https://cloud.ibm.com/docs/satellite?topic=satellite-get-help

以上是关于IBM Cloud Satellite在Tencent Cloud上的部署--Part2部署的主要内容,如果未能解决你的问题,请参考以下文章

IBM Cloud Satellite在Tencent Cloud上的部署--Part2部署

IBM Cloud Satellite在Tencent Cloud上的部署--Part1准备

IBM Cloud Satellite在Tencent Cloud上的部署--Part1准备

IBM Cloud Satellite在Tencent Cloud上的部署--Part1准备

在 IBM-Cloud-cloud 对象存储中保留啥作为网络鸭连接服务器端点 URL

IBM 发布Cloud Private:基于Kubernetes和Cloud Foundry