更新时间:2024-09-25 18:25:54

1 场景介绍

从Proton 2.10.0(对应AnyShare 7.0.5.0)版本开始,部署控制台支持创建IPv4和IPv6的VIP,以支持IPv4和IPv6同时访问的场景,但仅支持在部署时进行设置。当客户需要将正在使用的IPv4环境修改为IPv4和IPv6同时访问时,则需要进行手工处理。

适用场景:

  • 环境已升级至 Proton 2.12.0(对应AnyShare 7.0.5.2)及以上版本;
  • 需要将 IPv4 访问修改为 IPv4 和 IPv6 可同时访问。

2 环境准备

在进行修改前,请确保以下准备工作已完成:

  1. 环境已升级至Proton 2.12.0(对应AnyShare 7.0.5.2)及以上版本
  2. 集群各个节点已同时配置IPv4和IPv6
  3. 客户已提供智能DNS(域名指向IPv4和IPv6两个地址,IPv4的client访问域名时解析成ipv4的服务器地址,IPv6的client访问域名时解析成IPv6的服务器地址)
  4. 请确认所有节点的10901、10902、10903、10904端口未被第三方服务使用,可使用如下方式查看端口是否已被使用:netstat -antlp | grep <端口号>

3 单栈IPv4修改为双栈访问

3.1 Nginx修改为主机网络模式

注意:若需要双栈访问AnyDATA,则按照本章节的操作修改class-8444即可

  1. 登录部署工作台,进入【服务管理】--【服务部署】
  2. 选择 DeploymentStudio,点击【更新】,选择当前版本,点击【下一步】
  3. 填写配置项,将class-443的service项修改为hostnetwork

修改网络模式.png

4.点击【SUBMIT】,点击【下一步】,点击【确定】,等待更新完成
5.查看配置确认是否修改成功,执行:helm3 -n anyshare get values class-443,service.network应为hostnetwork

确认配置.png

​6.开放防火墙443端口(集群所有节点均需开放),执行:firewall-cmd –zone=public --add-port=443/tcp --permanent

添加防火墙规则.png

3.2 修改proton-cli-config

  1. 获取当前配置,执行:kubectl get secret -n proton proton-cli-config -o jsonpath='{.data.ClusterConfiguration}' | base64 -d > proton-cli-config.yaml

获取当前配置.png

  1. 编辑配置文件,执行:vim proton-cli-config.yaml,将节点的ipv6地址添加到nodes列表中,如图所示(节点信息以实际环境信息为准):

编辑配置文件.png

  1. 使用base64将配置文件进行编码,执行:base64 proton-cli-config.yaml -w0

base64编码.png

  1. 编辑secret,将其中的data.ClusterConfiguration替换为第3步编码后的内容,执行:kubectl edit secret -n proton proton-cli-config -o yaml,替换data.ClusterConfiguration内容后,保存退出

编辑secret.png

3.3 设置高可用节点

  1. 登录部署工作台,进入【环境与资源】--【服务器】

登录部署控制台.png

  1. 点击【设置高可用节点】,设置IPv4(若已设置过IPv4高可用,跳过即可)和IPv6的高可用节点

设置高可用.png

  1. 进入【环境与资源】--【访问配置】,将访问地址修改为域名

修改访问配置.png

  1. 使用域名地址重新登录部署工作台,进入【环境与资源】--【访问配置】,更新证书,点击【配置证书】--点击【生成自签名证书】

生成自签名证书.png