部署指南
💡 部署架构简介
瑞数应用欺诈防护系统(以下简称防护系统)的私有化部署,是指在私有网络的 K8s 容器化环境中建立检测服务集群,并通过网关接入该集群,从而为目标站点提供安全检测和防护服务。
💡 提示:
私有化部署所需相关文件包,请通过左侧导航栏中的 联系方式 向瑞数信息进行咨询。
以下架构图展示了私有化部署后,通过 插件版接入 的方式,将被保护站点接入到检测集群的网络拓扑,以供参考(关于其他接入方式,请参考 如何选择瑞数云的接入方式 中的介绍)。

以下内容将分别对基于 华为云 CCE 环境 和 自建 K8s 环境 的部署方法进行介绍。
1 基于华为云CCE的部署
以下内容将以 华为云容器引擎CCE 作为部署环境、以及 华为云弹性负载均衡ELB 作为部署环境前端的流量转发实例进行介绍。
请先在华为云官网上购买 华为云容器引擎CCE 和 华为云弹性负载均衡ELB 服务。
1.1 部署要求
部署前需要将瑞数信息提供的镜像推送到私有化环境可访问的容器仓库。
在华为私有云环境中,和 CCE 联动的容器仓库服务为 华为云容器镜像服务SWR,请参考 附录 1 如何将镜像上传到华为云SWR,将瑞数提供的容器镜像上传到该仓库。
防护系统需要 CCE 环境中的持久化存储特性。请确保 CCE 环境正确配置了 可用的默认 StorageClass(存储类) 。
另外,如果指定存储类不支持自动创建 PV(持久卷),则需要手动创建多个持久卷,并且每个卷的容量必须大于或等于模板文件包中 values.yaml 文件内对应服务的 pvcsize 容量,如下表所示。
服务名称 手动创建的对应 PV 容量 clickhouse ≥ 1Gi kafka ≥ 30Gi minio ≥ 10Gi postgresql ≥ 1Gi prometheus ≥ 1Gi pushgateway ≥ 1Gi Redis ≥ 5Gi 💡 提示:
华为 CCE 环境提供的默认存储类支持自动创建持久卷。请参考华为官方文档对于 CCE默认存储类 的介绍,以及 K8s 官方文档关于 存储类 介绍。
1.2 开始部署
1.2.1 上传模板文件包
登录华为云并进入 集群管理 页面,并单击购买 CCE 时创建的 集群名称,如下图所示。
单击左方导航栏的 模板管理,然后单击右上角的 上传模板,如下图所示。
在弹出窗口中,单击 添加文件,指定瑞数信息提供的模板文件 revol-1.5.5-.tgz,如下图所示。最后单击 上传。
1.2.2 执行部署
模板文件包上传成功后,会在页面显示带有集群名称的标签,如下图所示。单击该标签上的 安装 按钮。
页面右方弹出安装所用的配置窗口,如下图所示。
实例名称:填写一个自定义的实例名称,例如 my-instance。
命名空间:单击右方的 创建命名空间 并填写一个自定义的命名空间,例如 my-namespace,然后在该配置项的下拉菜单中选择刚才创建的命名空间。
选择版本:保持默认即可。
配置文件:无需填写。
在窗口下方的编辑区域内,将 image > repository 配置项中的仓库地址改为 部署环境依赖 章节中 第 2 点 使用的镜像仓库地址。
配置和修改完成后,单击窗口右下角的 安装 按钮,即可开始部署。
单击页面的 模板实例 标签,在 执行状态 一栏查看部署状态。部署过程需要 5 分钟左右或更长时间(取决于网络速度)。部署完成后,执行状态 一栏显示 安装成功,如下图所示。
在窗口左方导航栏中单击 服务发现,然后在窗口顶部 命名空间 下拉菜单中选择之前创建的命名空间,如下图所示。
在页面中 服务名称 一栏中,分别找到 console、detector-http、detector-log-fluent、detector-syslog 四个服务,并记录它们的端口信息中的五位数端口(例如 31626)。
这些端口将在下面配置负载均衡时作为流量转发的目标端口。
1.2.3 配置负载均衡转发
💡 注意!!!
负载均衡用于对指向防护系统管理界面、检测服务、日志模块的请求进行转发。如果被保护站点采用 HTTPS 协议,则负载均衡也同样需要监听 HTTPS 协议,这就要求指向防护系统管理界面和检测服务的请求不能使用 IP(IP 地址无法获得授信证书),而必须使用带有授信证书的域名,例如 console.mysite.com 和 detector.mysite.com。
没有相应的授信证书域名时,需要确保被保护站点采用 HTTP 协议,从而负载均衡则不再需要 HTTPS 证书的相关配置,指向管理界面和检测服务的请求也可以使用 IP 作为目标地址。对于没有授信证书域名的情况,请参考各个步骤中的提示信息。
以下内容将基于华为云 弹性负载均衡、针对防护系统管理界面的 HTTPS 请求进行监听为配置实例进行介绍。其他服务流量的转发配置类似。
▶ 协议与端口的转发配置
登录华为云并进入 弹性负载均衡 界面,并单击购买负载均衡时配置的 名称,如下图所示。
在新页面中单击 添加监听,如下图所示。
正如前面提到的,需要将针对 console、detector-http、detector-log-fluent、detector-syslog 四个服务的流量转发到目标端口。请按照下表中的配置来添加监听器,从而实现流量转发。
服务名称 监听端口 前端协议 目标端口 console 443 HTTPS 31626 detector-http 444 HTTPS 30467 detector-log-fluent 8000 TCP 32469 detector-syslog 514 UDP 30993 💡 提示:
如果没有针对管理界面和检测服务提供带授信证书的域名,则相应的将前端协议 HTTPS 改为 HTTP,并修改对应的监听端口号,如 8800 和 8080。
按照表格中的数据,在 添加监听器 页面中填写配置。
名称:为监听器填写一个自定义名称,例如 listener-console-443。
前端协议:按照表格中的前端协议,为 console 服务的监听器分配 HTTPS 监听协议。
💡 提示:
如果没有针对管理界面的带授信证书的域名,则前端协议相应的选择 HTTP 配置(检测服务同理)。
前端端口:按照表格中的监听端口信息,为 console 服务配置 443 端口。
💡 提示:
如果没有针对管理界面的带授信证书的域名,则填写其他端口号,例如 8800(检测服务同理)。
SSL解析方式:保留默认单项认证即可(前端协议选择非 HTTPS 时忽略该配置项)。
服务器证书:单击该下拉菜单并选择 创建证书,并在窗口右方弹出窗口内填写证书内容,如下图所示(前端协议选择非 HTTPS 时忽略该配置项)。
证书名称:填写证书的名称。
证书类型:保持默认 服务器证书 即可。
证书内容:将 PEM 编码的服务器证书内容复制粘贴到文本框内,然后单击 上传。
私钥:将 PEM 编码的私钥文件内容复制粘贴到文本框内,然后单击 上传。
域名:填写用于访问防护系统管理界面(即 console 服务)的域名,例如 console.mysite.com。
💡 提示:
如果您上传的证书为泛域名证书,则无需填写域名。泛域名证书支持所有以其域名为后缀的访问方式,例如您的泛域名证书绑定的域名为 *.mysite.com,即使这里不指定域名,也能够在 完成所有配置后,通过域名 console.mysite.com 来访问防护系统管理界面(即 console 服务)。
如果您没有泛域名证书,则需要为防护系统管理界面填写一个独立域名,例如 console.mysite.com,并为该域名申请对应的授信证书并上传。(针对 detector-http 服务配置监听器时同理)
重定向:无需修改。(四个服务都无需修改该配置项,保持默认即可)
访问控制:无需修改。(四个服务都无需修改该配置项,保持默认即可)
获取客户端IP:该配置项仅在 TCP 或 UDP 作为前端协议时才会显示。采用 HTTP 协议的服务不会显示该配置。(配置基于 TCP 或 UDP 的服务时,该配置项保持默认即可)
配置完成单击页面右下角的 下一步:配置后端分配策略,进入以下页面。
这里仅需要填写易于理解的名称即可,例如 server_group_console,便于之后配置 转发策略 时选择后端对应的后端服务器组。余下配置项无需对默认值进行修改,直接单击右下角的 下一步:添加后端服务器。
在以下页面中,单击 添加云服务器 按钮。
在弹出窗口中,确保左上角下拉菜单中的子网信息是购买 CCE 云主机时所配置的子网。
页面中将显示该子网中已购买的 CCE 云主机。选中其中用于部署的云主机,然后单击 确定。
💡 注意!!!:
在针对 detector-http 服务添加监听器时,请将页面下方的 健康检查 修改为 TCP协议。在针对 detector-syslog 服务添加监听器时,请将页面下方的 健康检查 禁用。否则流量转发不能正常工作。
在新页面中,将表格中 console 的目标端口 31626 填写到 批量添加端口 文本框,并单击 确定,将该端口添加到所有云主机的端口配置框中。
最后单击右下角的 下一步:确认配置,确认无误再单击确认页面右下角的 提交 按钮,完成 console 监听器的添加。
接下来重复本小节的操作,继续为余下的三个服务添加监听器。
添加完成后,监听器列表将列出已添加的内容。

▶ 域名的转发策略配置(前端协议选择非 HTTPS 时忽略该小节)
💡 提示:
前端协议选择非 HTTPS 时,请忽略本小节。
上面四个转发配置中,仅 console 服务和 detector-http 服务需要配置 转发策略。以下内容仍然以 console 服务为例。
在 监听器 列表中,选择 console 服务监听器的 操作 一栏中的 添加/编辑转发策略,如下图所示。
在 转发策略 配置页面中,单击左上角的 添加转发策略,如下图所示。
在页面显示的新配置项中,填写域名转发策略的内容,如下图实例所示。
转发策略名称:填写一个自定义的转发策略名称,例如 console-forward。
如果...是:在下拉菜单中选择 域名,在文本框填写将要用于访问防护系统管理界面(即 console 服务)的域名,例如 console.mysite.com。
如上图实例配置,含义为如果请求的域名为 console.mysite.com,则执行该策略的动作。
💡 提示:
关于域名的相关信息,请参考 协议与端口的转发配置 小节内 步骤 3 对于 域名 配置项的提示。
动作:在下拉菜单中选择 转发至后端服务器组。
后端服务器组:在下拉菜单中选择之前针对 console 服务创建的对应服务器组名称。
配置完成后,单击右上角的 保存 按钮。
然后针对 detector-http 服务重复以上三个步骤来实现该服务的转发策略。
1.2.4 验证部署
▶ 验证服务状态
在如上图所示监听器列表页面顶部选择 基本信息 标签,进入当前负载均衡的基本信息页面,如下图所示。

用一台计算机接入私有网络,然后在浏览器地址栏中采用 HTTPS 协议访问 console 服务配置的域名,例如 https://console.mysite.com 。
💡 提示:
针对没有相应的授信证书域名时的服务配置验证,可以通过一台计算机接入与上图中 IPv4 私有IP 相同的网段,然后在浏览器地址栏中采用 HTTP 访问该私有 IP 和 console 服务相应配置的监听端口(例如 http://192.168.1.80:8800)。
当浏览器打开如下图所示的 瑞数应用欺诈防护系统 登录页面,说明部署成功。

💡 提示:
私有化部署的防护系统无法通过以上登录界面中的 注册 按钮完成注册,需要超级管理员登录才能注册新的账号。在 console 登录地址后输入 /super 并回车(例如 https://console.mysite.com/super 或 http://192.168.1.80:8800/super) ,可以进入超级管理员登录界面。请向瑞数信息相关人员咨询超级管理员的登录信息。
▶ 验证插件接入
在一台网关上(要求该网关能与您购买的 ELB 通信),按照瑞数信息提供的 插件版接入指南 完成网关配置(配置时也需要 同时注意下方的几个事项)。如果能够按照指南中的验证方法通过验证,说明已成功接入防护系统。
💡 注意!!!
负载均衡已配置带授信证书的域名的前提下:
❶ 在采用插件版的方式接入私有化部署的系统时,插件配置文件 /usr/local/riversec/static/config.json 中的
"域名 detector.riveryun.com"
需要替换为
"负载均衡上指定的带授信证书的域名 + 负载均衡监听 detector-http 服务的端口"。
(例如 detector.mysite.com:444)❷ 同时,/usr/local/riversec/conf/guard.conf 中的
"域名 detector.riveryun.com"
需要替换为
"部署环境 IP + detector-syslog 服务的端口"
(例如 192.168.3.3:514)负载均衡上未配置带授信证书的域名的前提下:
❶ 确保被保护站点的协议为 HTTP。
❷ 在采用插件版的方式接入私有化部署的系统时,插件配置文件 /usr/local/riversec/static/config.json 中的
"协议和域名 https://detector.riveryun.com",
需要替换为
"http://负载均衡 IP + 负载均衡监听 detector-http 服务的端口"
(例如 http://192.168.1.80:8080)❸ 同时,/usr/local/riversec/conf/guard.conf 中的
"域名 detector.riveryun.com"
需要替换为
"部署环境 IP + detector-syslog 服务的端口"
(例如 192.168.3.3:514)
↩️ 卸载方法
通过删除命名空间,即可卸载所有部署的服务。
单击页面左侧导航栏中的 命名空间,然后在页面右方对应的命名空间名称一行中,选择 更多 > 删除 即可。如下图所示。

2 基于自建 K8s 环境的部署
以下内容将以自建 K8s 集群作为部署环境、以及 Nginx 作为部署环境前端的负载均衡流量转发实例进行介绍。
2.1 部署要求
要求部署环境安装了 Kubernetes Cluster v1.19 或更高版本(安装方法请参考 Kubernetes 官方文档)。
需要一台安装了 Helm v3.10.0 或更高版本、并且安装了 Kubectl 工具的 PC(安装方法请参考 Helm 官方文档 和 Kubernetes 命令行工具官方文档),并确保两个工具能够与集群通信。
💡 提示:
如果 Helm 安装文件的官方下载地址速度太慢,可以尝试以下命令来下载文件:
curl https://labfileapp.oss-cn-hangzhou.aliyuncs.com/helm-v3.9.0-linux-amd64.tar.gz -o helm-v3.9.0-linux-amd64.tar.gz
要求部署环境前端存在一个负载均衡器,用于保证源 IP 正确获取。
部署前需要将瑞数信息提供的镜像推送到私有化环境可访问的容器仓库。
💡 提示:
如果尚未建立私有仓库,可以参考 Docker 仓库官网文档 新建一个仓库。
新建仓库后,将瑞数信息提供的镜像文件包下载到本地后,将文件包内容推送到仓库中(关于镜像的推送方法,请参考 附录 2 如何将镜像上传到私有仓库 )。
防护系统需要 K8s 环境中的持久化存储特性。请确保 K8s 集群正确配置了 可用的默认 StorageClass(存储类),并且基于该存储类创建的 PV (持久卷)的 Access Modes 为 RWO 模式。
另外,如果指定存储类不支持自动创建持久卷,则需要手动创建多个持久卷,并且每个卷的容量必须大于或等于模板文件包中 values.yaml 文件内对应服务的 pvcsize 容量,如下表所示。
服务名称 手动创建的对应 PV 容量 clickhouse ≥ 1Gi kafka ≥ 30Gi minio ≥ 10Gi postgresql ≥ 1Gi prometheus ≥ 1Gi pushgateway ≥ 1Gi Redis ≥ 5Gi 💡 提示:
请参考 K8s 官方文档关于 存储类 介绍。
2.2 开始部署
2.2.1 配置服务参数并执行部署
按照上方的部署要求中 第 2 点 准备好 PC 后,将瑞数信息提供的模板文件包(名称类似 revol-1.5.5-.tgz )保存到该 PC 上,并执行以下命令解压文件。解压后得到一个 revol 目录。
# 请根据实际文件名修改以下命令中的文件名称
tar -zvxf revol-1.5.5-.tgz进入解压后生成 revol 目录,编辑该目录下的 values.yaml 文件。
修改仓库地址:
将该文件中 image > repository 配置项的值修改为私有仓库的地址。假设仓库地址为 192.168.1.1:5000,则修改为如下方实例的格式。
...
image:
repository: "192.168.1.1:5000"
...在后续步骤执行 helm 部署命令时,部署环境将会从该仓库中获取镜像。
💡 提示:
K8s v1.2 版本后,默认采用 HTTPS 协议与仓库进行交互。如果您的私有仓库采用 HTTP 协议,则需要对 K8s 部署环境进行相应的配置修改(通常配置文件为 /etc/containerd/config.toml),以便让部署环境顺利从私有仓库拉取镜像。
💡 注意:
如果您的私有镜像仓库配置了身份验证,可以按照 K8s 官方网站提供的 从私有仓库拉取镜像 来为部署环境配置身份验证信息。
修改各个服务的 internal 或 external 配置信息:
服务配置中的 internal 配置所针对的场景,是部署时基于该文件新创建的服务,而不是您在 K8s 中已经自行创建的、并且需要复用的服务。
反之 external 配置所针对的场景,是您已经在 K8s 环境中创建了相同的服务、并且您希望在部署时复用这些服务。
💡 提示:
支持 external 部署方式的服务包括 minio、postgresql、kafka、clickhouse、redis、prometheus。
例如,您当前已经在 K8s 环境中创建了自有的 minio、redis、clickhouse 服务,并且您望在部署时复用这些服务,则这些服务称为 外部服务。这时仅需要对 values.yaml 文件中的这些服务的 external 配置项进行修改即可。
反之,则可以修改服务的 internal 配置项,如下图所示。
针对 internal > password 配置,您可以将 password 修改为自定义的密码,也可以保持不变。
针对 external 配置,将您当前 K8s 环境中自有服务的 accessKey、secretKey、xxxAddress 等信息填写到对应服务的 external 配置项下的对应位置即可。
修改邮件服务的配置:
如果需要启用邮件验证的方式来实现账号注册,请参考 附录 3 如何配置邮件发送功能 中的内容来修改 values.yaml 文件内的 smtp 服务。
执行命令创建一个命名空间,例如 my-namespace,则输入以下命令。
kubectl create namespace my-namespace
执行以下命令来启动部署进程。(以下命令实例中的 my-release 为自定义的 发布名称,my-namespace 为上一步的 命名空间,请根据需要修改)
helm upgrade -n my-namespace --install my-release ./
部署过程需要持续 5 分钟左右或更长时间(取决于网络速度),期间可以多次重复执行以下命令查看部署情况。
kubectl get deployment,statefulset -n my-namespace
返回信息中显示如下图所示的组件状态,说明部署进程已完成。
2.2.2 配置负载均衡
💡 注意!!!
负载均衡用于对指向防护系统检测服务的请求进行转发。如果被保护站点采用 HTTPS 协议,则负载均衡也同样需要监听 HTTPS 协议,这就要求指向检测服务的请求不能使用 IP(IP 地址无法获得授信证书),而必须使用带有授信证书的域名,例如 detector.mysite.com。同时,该域名还需要能够在私有网络中被解析为负载均衡的 IP 地址。
没有相应的授信证书域名时,需要确保被保护站点采用 HTTP 协议,从而负载均衡则不再需要 HTTPS 证书的相关配置,指向检测服务的请求也可以使用 IP 作为目标地址。对于没有授信证书域名的情况,请参考各个步骤中的提示信息。
以下内容将以 Nginx 作为负载均衡、HTTPS 协议为配置实例进行介绍。其他类型的负载均衡配置请参考对应产品的说明文档。
请按照以下配置实例部署,实现将访问 detector-http 服务的流量转发到部署环境中对应的服务。
在部署环境中,执行以下命令获取 detector-http 服务的端口信息,同时也记录 console 服务的端口信息(用于验证部署结果)。
💡 提示:
detector-http 服务用于接收防护系统针对客户端的检测信息。
记住下方命令中的 my-namespace 替换为执行 部署命令 时指定的 命名空间。
kubectl get services -n my-namespace
找到返回的 console 和 detector-http 服务的 3xxxx 端口信息并记录下来。如下图所示。
登录装有 Nginx 的主机,并确保该主机能够访问部署环境。在 Nginx 配置文件中添加以下指令,并按照其中的注释信息进行相应的修改。
以下基于 Nginx 的负载均衡配置范例中,监听 443 端口上 server_name 为 detector.mysite.com 的请求并转发到 detector-http 服务。
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 443 ssl;
#### 已有带授信证书的域名时,监听 443 端口来转发指向 detector-http 服务的流量
#### 没有授信证书且采用 IP 访问的情况下,则需要删除末尾的 ssl,并修改为其他端口,如 8080
######################################################################
# ▼ 以下为 HTTPS 证书配置,server_name 没有授信证书的情况下可以注释以下指令 ▼ #
######################################################################
server_name detector.mysite.com;
ssl_certificate /path/to/ssl/console.example.com.crt;
#### 确保证书文件路径正确
ssl_certificate_key /path/to/ssl/console.example.com.key;
#### 确保私钥文件路径正确
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers on;
######################################################################
# ▲ 以上为 HTTPS 证书配置,server_name 没有授信证书的情况下可以注释以上指令 ▲ #
######################################################################
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://10.10.89.106:31127;
#### 确保 IP 地址为部署环境的 IP
#### 确保端口为记录的 detector-http 端口 3xxxx
}
}
保存并通过 reload 命令(例如 /usr/local/nginx/sbin/nginx -s reload)重新加载 Nginx 配置文件,使其生效。
2.2.3 验证部署
▶ 验证服务状态
用一台计算机接入网络,确保其能够访问部署环境。然后在浏览器地址栏中访问 http://部署环境 IP 地址 + console 服务的端口(例如 http://192.168.3.3:3xxxx) 。
当浏览器打开如下图所示的 瑞数应用欺诈防护系统 登录页面,说明部署成功。

💡 提示:
私有化部署的防护系统无法通过以上登录界面中的 注册 按钮完成注册,需要超级管理员登录才能注册新的账号。在 console 登录地址后输入 /super 并回车(例如 http://192.168.1.80:3xxxx/super ),可以进入超级管理员登录界面。请向瑞数信息相关人员咨询超级管理员的登录信息。
▶ 验证插件接入
在一台网关上(要求该网关能与负载均衡通信),按照瑞数信息提供的 插件版接入指南 完成网关配置。如果能够按照指南中的验证方法通过验证,说明已成功接入防护系统。
💡 注意!!!
负载均衡已配置带授信证书的域名的前提下:
❶ 在采用插件版的方式接入私有化部署的系统时,插件配置文件 /usr/local/riversec/static/config.json 中的
"域名 detector.riveryun.com"
需要替换为
"负载均衡上指定的带授信证书的域名 + 负载均衡监听 detector-http 服务的端口"。
(例如 detector.mysite.com:443)❷ 同时,/usr/local/riversec/conf/guard.conf 中的
"域名 detector.riveryun.com"
需要替换为
"部署环境 IP + detector-syslog 服务的端口"
(例如 192.168.3.3:30525)负载均衡上未配置带授信证书的域名的前提下:
❶ 确保被保护站点的协议为 HTTP。
❷ 在采用插件版的方式接入私有化部署的系统时,插件配置文件 /usr/local/riversec/static/config.json 中的
"协议和域名 https://detector.riveryun.com",
需要替换为
"http://负载均衡 IP + 负载均衡监听 detector-http 服务的端口"
(例如 http://192.168.1.80:8080)❸ 同时,/usr/local/riversec/conf/guard.conf 中的
"域名 detector.riveryun.com"
需要替换为
"部署环境 IP + detector-syslog 服务的端口"
(例如 192.168.3.3:30525)
↩️ 卸载方法
在部署环境中执行以下命令卸载已部署的服务(注意将 my-release 和 my-namespace 修改为执行 部署命令 时指定的 发布名称 和 命名空间)。
helm uninstall my-release -n my-namespace
附录 1 如何将镜像上传到华为云SWR
💡 注意!!!:
请确保您的 华为云SWR镜像仓库 所选的地理位置与您购买的 华为云容器引擎CCE 所选位置相同,即下图中红色方框标注的位置。
如果将要上传的镜像尺寸大于2G(含解压后的尺寸),请忽略以下步骤,并在一台具有公网访问权限的 PC 上,依照 附录 2 的 第 1 步 的方法加载镜像(包括手动拉取的镜像,因为华为云的部署环境也无法发起对公网的访问),然后再根据 使用docker命令迁移镜像到SWR 中 第 2 步 的方法来进行上传。

在 容器镜像服务 页面左侧的导航栏中,选择 我的镜像,然后在页面右上角单击 上传镜像,如下图所示。
在弹出窗口中,单击 创建组织,并在新窗口输入一个自定义组织名称,单击 确定。
在下拉菜单中选择创建的组织名称,然后将镜像文件拖放到窗口下半部分并放开鼠标,最后单击 上传 即可,如下图所示。
附录 2 如何将镜像上传到私有仓库
在一台能够访问私有仓库的 PC 上,执行以下命令加载镜像文件包
docker load -i 镜像文件包名
需要注意的是,该镜像文件包中并不包含以下所列镜像。在执行部署时,部署环境会自动通过公网拉取。
如果部署环境不能访问外网,则需要在其他具有公网访问权限的网络中手动拉取这些镜像,然后将镜像复制到该 PC 上,并依次执行 docker load 命令加载镜像,以便在后面的步骤中推送到私有仓库。
clickhouse/clickhouse-server:23.2.5.46-alpine
bitnami/kafka:3.4.0-debian-11-r22
bitnami/minio:2023.4.13-debian-11-r1
postgres:15.2-alpine
prom/prometheus:v2.44.0
prom/pushgateway:v1.5.1
redis:6.2-alpine将以下命令中所有的 127.0.0.1:5000 替换为您的私有仓库地址,然后依次执行这些命令来修改镜像名称。
docker tag harbor.revolcloud.com/revol/detector:v1.5.5. 127.0.0.1:5000/detector:v1.5.5.
docker tag harbor.revolcloud.com/revol/console:v1.5.5. 127.0.0.1:5000/console:v1.5.5.
docker tag harbor.revolcloud.com/revol/keeper:v1.5.5. 127.0.0.1:5000/keeper:v1.5.5.
docker tag harbor.revolcloud.com/revol/spider:v1.5.5. 127.0.0.1:5000/spider:v1.5.5.
docker tag harbor.revolcloud.com/revol/processor:v1.5.5. 127.0.0.1:5000/processor:v1.5.5.
docker tag harbor.revolcloud.com/revol/intelligence:v1.5.5. 127.0.0.1:5000/intelligence:v1.5.5.
docker tag harbor.revolcloud.com/revol/configure:v1.5.5. 127.0.0.1:5000/configure:v1.5.5.
docker tag harbor.revolcloud.com/revol/proxy:v1.5.5. 127.0.0.1:5000/proxy:v1.5.5.如果与 步骤 1 中的描述相同,即部署环境不能访问外网,并且手动拉取了镜像,则需要同时修改这些镜像的名称。修改命令如下所列,同样将所有的 127.0.0.1:5000 替换为您的私有仓库地址,然后执行。
docker tag clickhouse/clickhouse-server:23.2.5.46-alpine 127.0.0.1:5000/clickhouse/clickhouse-server:23.2.5.46-alpine
docker tag redis:6.2-alpine 127.0.0.1:5000/redis:6.2-alpine
docker tag postgres:15.2-alpine 127.0.0.1:5000/postgres:15.2-alpine
docker tag bitnami/minio:2023.4.13-debian-11-r1 127.0.0.1:5000/bitnami/minio:2023.4.13-debian-11-r1
docker tag bitnami/kafka:3.4.0-debian-11-r22 127.0.0.1:5000/bitnami/kafka:3.4.0-debian-11-r22
docker tag prom/prometheus:v2.44.0 127.0.0.1:5000/prom/prometheus:v2.44.0
docker tag prom/pushgateway:v1.5.1 127.0.0.1:5000/prom/pushgateway:v1.5.1将以下命令中所有的 127.0.0.1:5000 替换为您的私有仓库地址,然后依次执行这些命令来将镜像推送到私有仓库。
docker push 127.0.0.1:5000/detector:v1.5.5.
docker push 127.0.0.1:5000/console:v1.5.5.
docker push 127.0.0.1:5000/keeper:v1.5.5.
docker push 127.0.0.1:5000/spider:v1.5.5.
docker push 127.0.0.1:5000/processor:v1.5.5.
docker push 127.0.0.1:5000/intelligence:v1.5.5.
docker push 127.0.0.1:5000/configure:v1.5.5.
docker push 127.0.0.1:5000/proxy:v1.5.5.如果与 步骤 1 中的描述相同,即部署环境不能访问外网,并且手动拉取了镜像,并按照 步骤 2 中的描述修改了镜像名称,则需要同时推送这些镜像。推动命令如下所示,同样将所有的 127.0.0.1:5000 替换为您的私有仓库地址,然后执行。
docker push 127.0.0.1:5000/clickhouse/clickhouse-server:23.2.5.46-alpine
docker push 127.0.0.1:5000/redis:6.2-alpine
docker push 127.0.0.1:5000/postgres:15.2-alpine
docker push 127.0.0.1:5000/bitnami/minio:2023.4.13-debian-11-r1
docker push 127.0.0.1:5000/bitnami/kafka:3.4.0-debian-11-r22
docker push 127.0.0.1:5000/prom/prometheus:v2.44.0
docker push 127.0.0.1:5000/prom/pushgateway:v1.5.1
附录 3 如何配置邮件发送功能
如果需要通过邮件发送的方式来实现新账号的注册,则可以按照以下方法实现邮件发送功能。
将瑞数信息提供的模板文件包解压,并进入生成的 revol 目录,编辑该目录下的 values.yaml 文件。
在该文件中,按照下方的配置范例对 smtp 配置块中的各个选项进行对应的修改。
smtp:
enable: true # 修改为 true,启用邮件发送服务,以便发送注册邮件和账单邮件
server: "smtp.email.com" # 填写自己的 SMTP 发件邮箱地址
# 例如 smtp.email.com
port: 25
domain: "email.com" # 填写自己 SMTP 发件邮箱地址的后缀
# 例如 email.com
startssl: true # 如果自己的发件邮箱启用了tls连接则为 true,
# 反之为 false
verify: "none" # 连接发件邮箱时是否进行证书校验。none 表示不启用校验,
# peer 表示启用校验。请根据自己的发件邮箱设定进行修改
authentication: "login" # 发件邮箱账号的认证方式,通常为 login
sender:
# 用户注册时,向其发送的注册邮件的发件人信息配置块
name: "sender@email.com" # 修改为自己的发件邮箱地址,
# 可以是自定义地址,例如
# sender@email.com
account: "sender@email.com" # 修改为自己的发件邮箱账号
# 通常与发件邮箱地址一致
password: "" # 填写发件邮箱的密码
billing:
# 用户进行购买操作时,系统发送账单邮件的配置信息块
name: "billing@email.com" # 修改为自己的发件邮箱地址
# 可以是自定义地址,例如
# billing@email.com
account: "billing@email.com" # 修改为自己的发件邮箱账号,
# 通常与发件邮箱地址保持一致
password: "" # 填写发件邮箱的密码
bcc: "" # 邮件密送地址,以`,`隔开