从2.7以下版本升级
要从2.6及以下版本升级,首先需要升级到2.7版本。中描述的X升级Xray 2文档,然后继续从版本2.7升级到3.x。
从版本3开始。MongoDB不被Xray使用,除非在从版本2.x迁移的初始阶段。数据自动从MongoDB迁移到2.7x及以上版本的PostgreSQL。在升级到版本2.7x之后,必须确保在继续升级到版本3.x之前完成所有数据迁移。的xray-migration-readiness工具使您能够验证所有数据迁移是否完成。下载工具,并按照自述文件中的说明进行操作。
升级前,请确认当前使用的操作系统版本为支持。看到系统需求有关操作系统支持的详细信息。
从版本2.7升级到3.x
JFrog x射线v3。x只兼容JFrog Artifactory v7.x。要升级,你必须首先安装JFrog Artifactory 7.x.
支持以下升级方式:
升级前,请确认当前使用的操作系统版本为支持。看到系统需求有关操作系统支持的详细信息。
将数据从MongoDB迁移到PostgreSQL
从版本3开始。x,除了迁移阶段,Xray不使用MongoDB。在版本3的开始。数据自动从MongoDB迁移到PostgreSQL。在启动x射线服务之前,请确保两个数据库都已启动并运行。在迁移期间,Xray将不可访问。迁移时间取决于待迁移数据的大小。
交互式脚本升级(推荐)
安装程序脚本适用于所有支持的升级方法(RPM, Debian和码头工人组成).它为您提供了一种交互式方式来升级Xray及其依赖项。
- 下载x光(RPM, Debian或Docker Compose)。
停止服务。
Docker -停止并移除x射线容器x射线停止docker ps -a——format '{{。grep ^xray_* | xargs docker rm -f
RPM / DEBCD /opt/jfrog/xray/scripts ./xray.sh停止
提取压缩归档文件的内容并转到提取的文件夹。安装程序脚本位于解压的文件夹中。
CD jfrog-xray-
- .tar.gz CD jfrog-xray- - .env文件包含在Docker-Compose归档文件中
这个.env文件由docker-compose在安装和升级期间更新。
请注意,有些操作系统默认情况下不显示点文件。如果对文件进行了任何更改,请记住在升级之前进行备份。
- 对于非Docker-Compose安装,确保您的MongoDB正在运行,以确保迁移到PostgreSQL的过程将工作。
对于Docker-Compose安装,MongoDB服务将作为新撰写文件的一部分出现。 运行安装脚本。
请注意:脚本将提示您一系列强制输入,包括jfrogURL
(自定义基础URL)和joinKey
.组成。/ config.sh
.env在Docker-Compose
RPM / DEB。/ install.sh
- 通过查看以下文件,检查配置迁移是否成功完成:
迁移日志:
美元JFROG_HOME / x光/ var / log / migration.log
文件system.yaml配置:
$ JFROG_HOME / x光/ var / etc / system.yaml
这个新创建的文件将以新的格式包含您当前的自定义配置。请确保一个大的文件句柄限制在启动x射线之前指定。
启动x射线服务。
systemd操作系统Systemctl启动xray.service
从Xray 3.8x开始,Xray上的停止和重启操作将不会应用于RabbitMQ进程。在Xray的启动动作中,如果RabbitMQ没有运行,它将被启动。
如果您希望脚本对RabbitMQ执行停止和重启操作,请设置shared.rabbitMq.autoStop作为真正的在system.yaml中。注意,在docker-compose安装中不会使用此标志。
systemv操作系统Systemctl start xray
码头工人组成cd jfrog-xray-
-compose #从Xray 3.8x开始,RabbitMQ已经被移动到一个自己的组合文件,这需要在启动其他服务之前启动。从Xray 3.8开始。在启动其他服务之前,需要先启动PostgreSQL。Docker-compose -p xray-postgres -f Docker-compose -postgres-9-5-2v。-d docker-compose -p xray ps docker-compose -p xray down - 从浏览器访问Xray:
http:// < jfrogUrl > / ui
/,去吧。安全性与合规性选项卡应用程序模块。 检查x射线日志。
Linux$JFROG_HOME/var/log/console.log . tail
Post数据迁移步骤(MongoDB到PostgreSQL)
迁移成功后,建议执行以下步骤:
- 验证您的x射线数据已成功迁移。
- 删除MongoDB的配置
system.yaml
. - RPM安装时,请卸载MongoDB数据库。
对于Docker-Compose安装,您要么需要从Docker-Compose中删除“mongodb”服务。或者再次运行安装脚本,脚本将确定不再需要MongoDB,并将自动执行此操作。
手动RPM升级
RPM升级捆绑了Xray及其所有依赖项。它作为本机RPM包提供,其中Xray及其依赖项必须单独安装。如果您正在自动化安装,请使用此选项。
- 下载x光(RPM)。
停止当前服务。
CD /opt/jfrog/xray/scripts ./xray.sh停止
提取压缩归档文件的内容并转到提取的文件夹。
CD jfrog-xray-
-rpm. gz - 确保MongoDB正在运行,以确保迁移到PostgreSQL的过程能够正常工作。
在Red Hat兼容的Linux发行版上,以root用户将Xray作为服务安装。
Yum -y install ./xray/xray.rpm
通过查看以下文件,检查迁移是否成功完成:
迁移日志:
美元JFROG_HOME / x光/ var / log / migration.log
文件system.yaml配置:
$ JFROG_HOME / x光/ var / etc / system.yaml
这个新创建的文件将以新的格式包含您当前的自定义配置。请确保一个大的文件句柄限制在启动x射线之前指定。
- 设置Artifactory连接详细信息。
x射线需要一个工作的Artifactory服务器和一个合适的许可证。x射线连接到Artifactory需要2个参数:- jfrogUrl-部署JFrog Artifactory的机器的URL,或者指向它的负载平衡器。建议使用DNS名称,不要使用直连ip。例如:”http://jfrog.acme.com或http://10.20.30.40:8082”。请注意,
/ artifactory
不再需要上下文。
将其设置为共享配置部分的JFROG_HOME美元/ x光/ var / etc / system.yaml
文件。 - join.key-这是Artifactory注册和认证x射线服务器所需的“秘密”密钥。
你可以去取神器joinKey
的JPD UI中(join Key)用户管理|设置|加入键.
设置join.key中的Artifactory服务器所使用的共享配置部分JFROG_HOME美元/ x光
/var/etc/system.yaml
文件。
- jfrogUrl-部署JFrog Artifactory的机器的URL,或者指向它的负载平衡器。建议使用DNS名称,不要使用直连ip。例如:”http://jfrog.acme.com或http://10.20.30.40:8082”。请注意,
确保第三方服务正在运行。
PostgreSQL
如果你有PostgreSQL数据库,它被打包为2。X安装后,同样会在当前安装中使用。可以使用以下命令进行管理:
Service postgresql-9.5 start|stop|status
RabbitMQ
从版本3开始。RabbitMQ作为Xray RPM的一部分进行打包和管理。Xray主服务上的任何操作(停止、启动和状态)也将在RabbitMQ上执行。现有的RabbitMQ RPM是作为第2部分安装的。x在x射线3后可以卸载。X已成功安装并运行。
将数据从MongoDB迁移到PostgreSQL
从版本3开始。x,除非在迁移阶段,否则Xray不会使用MongoDB。在启动x射线服务之前,请确保两个数据库都已启动并运行。在迁移期间,Xray将不可访问。您可以在x射线3后卸载MongoDB。X已成功安装并运行。
服务mongod start / stop / status
开始x光。
systemd操作系统Systemctl启动xray.service
systemv操作系统Systemctl start xray
从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,去吧。安全性与合规性选项卡应用程序模块。检查x射线日志。
$JFROG_HOME/xray/var/log/console.log . tail
Post数据迁移步骤(MongoDB到PostgreSQL)
迁移成功后,建议执行以下步骤:
- 验证您的x射线数据已成功迁移。
- 删除MongoDB的配置
system.yaml
. - 卸载MongoDB数据库。
手动升级Debian
Debian升级捆绑了Xray及其所有依赖项。它作为本机Debian软件包提供,其中Xray及其依赖项必须单独安装。如果您正在自动化安装,请使用此选项。
- 下载x光(Debian)。
停止当前服务器。
CD /opt/jfrog/xray/scripts ./xray.sh停止
提取压缩归档文件的内容并转到提取的文件夹。
CD jfrog-xray-
-deb. Tar .gz - 确保您的MongoDB正在运行,以确保迁移到PostgreSQL的过程工作。
将Xray作为服务安装在Debian兼容的Linux发行版上,以root用户的身份。
运行安装DPKG - 1 ./xray/xray.deb
通过查看以下文件,检查迁移是否成功完成:
迁移日志:
美元JFROG_HOME / x光/ var / log / migration.log
文件system.yaml配置:
$ JFROG_HOME / x光/ var / etc / system.yaml
这个新创建的文件将以新的格式包含您当前的自定义配置。请确保一个大的文件句柄限制在启动x射线之前指定。
设置Artifactory连接详细信息。
x射线需要一个工作的Artifactory服务器和一个合适的许可证。x射线连接到Artifactory需要2个参数:- jfrogUrl-部署JFrog Artifactory的机器的URL,或者指向它的负载平衡器。建议使用DNS名称,不要使用直连ip。例如:”http://jfrog.acme.com或http://10.20.30.40:8082”。请注意,
/ artifactory
不再需要上下文。
将其设置为共享配置部分的JFROG_HOME美元/ x光/ var / etc / system.yaml
文件。 - join.key-这是Artifactory注册和认证x射线服务器所需的“秘密”密钥。
你可以去取神器joinKey
的JPD UI中(join Key)用户管理|设置|加入键.
设置join.key中的Artifactory服务器所使用的共享配置部分JFROG_HOME美元/ x光
/var/etc/system.yaml
文件。
- jfrogUrl-部署JFrog Artifactory的机器的URL,或者指向它的负载平衡器。建议使用DNS名称,不要使用直连ip。例如:”http://jfrog.acme.com或http://10.20.30.40:8082”。请注意,
确保第三方服务正在运行。
PostgreSQL
如果你有PostgreSQL数据库,它被打包为2。X安装后,同样会在当前安装中使用。可以使用以下命令进行管理:
Service postgresql-9.5 start|stop|status
RabbitMq
从3。RabbitMQ作为Xray DEB的一部分进行打包和管理。Xray主服务上的任何操作(停止、启动和状态)也将在RabbitMQ上执行。现有的RabbitMQ DEB是作为第2部分安装的。x在x射线3后可以卸载。X已成功安装并运行。
MongoDB
从3。x, x射线将不会使用MongoDB,除非在迁移期间。从3开始。数据将从MongoDB迁移到PostgreSQL。在启动x射线服务之前,请确保两个数据库都已启动并运行。您可以在x射线3后卸载MongoDB。X已成功安装并运行。
服务mongod start / stop / status
开始x光。
systemd操作系统Systemctl启动xray.service
Systemv操作系统Systemctl start xray
- 从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,去吧。安全性与合规性选项卡应用程序模块。 检查x射线日志。
$JFROG_HOME/xray/var/log/console.log . tail
Post数据迁移步骤(MongoDB到PostgreSQL)
迁移成功后,建议执行以下步骤:
- 验证您的x射线数据已成功迁移。
- 删除MongoDB的配置
system.yaml
. - 卸载MongoDB数据库。
HA升级
本节描述升级x射线的过程高可用性集群。
升级x射线2。x HA集群
从版本2升级Xray HA集群时,不再需要Xray负载平衡器。X到3.x作为all the Xray requests are now routed through the平台的路由器在JFrog平台。
支持以下安装方式:
升级前,请确认当前使用的操作系统版本为支持。看到系统需求有关操作系统支持的详细信息。
码头工人组成
对系统中的每个节点执行以下步骤。在启动每个节点时,请确保根据添加到集群中的第一个节点或其他节点输入正确的详细信息。
下面的说明假设您正在从2升级。X官方Docker安装。
通过在每个节点上运行以下命令,停止使用HA设置的所有集群节点。
./x射线停止所有
提取压缩归档文件的内容并转到提取的文件夹。
CD jfrog-xray-
- composer . Tar .gz .env文件包含在Docker-Compose归档文件中
这个.env文件由docker-compose在安装和升级期间更新。
请注意,有些操作系统默认情况下不显示点文件。如果对文件进行了任何更改,请记住在升级之前进行备份。
运行
config.sh
脚本设置具有所需所有权的文件夹。请注意该脚本将提示您一系列强制输入,包括如果这是集群的一部分,并配置所需的输入system.yaml
.。/ config.sh
请注意:对于第一个节点升级,如果您正在向现有产品集群添加额外的节点,请确保在提示时选择“N”。对于以下附加节点,请确保选择“Y”并提供连接键和JFrog URL。
启动节点。
运行命令只有从提取的文件夹中。
使用docker-compose命令管理Xray。
cd jfrog-xray-
-compose #从Xray 3.8开始。在启动其他服务之前,需要先启动PostgreSQL。如果PostgreSQL 9.5.2运行,请使用- docker-compose-p xray-postgres -f docker-compose-postgres-9-5-2v。使用- docker-compose-p xray-postgres -f docker-compose-postgres-10-13v。使用- docker-compose-p xray-postgres -f docker-compose-postgres。-d docker-compose -p xray ps docker-compose -p xray down 从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,去吧。安全性与合规性选项卡应用程序模块。Docker-compose -p x射线日志
检查x射线日志。
RPM或Debian
升级第一个节点
通过在每个节点上运行以下命令,停止使用HA设置的所有集群节点。
服务x射线停止
确保MongoDB和PostgreSQL在后台运行。
提取压缩归档文件的内容并转到提取的文件夹。
RPMTar -xvf jfrog-xray-
-rpm. Tar .gz DebianTar -xvf jfrog-xray-
deb.tar.gz 运行
install.sh
脚本设置具有所需所有权的文件夹。。/ install.sh
将以下内容添加到
$
文件。/data/pg_hba.conf 主机所有所有0.0.0.0/0 md5
一个将以下内容添加到
$
文件。/data/ PostgreSQL .conf listen_addresses = ' * '
重启PostgreSQL。
Service postgresql-
stop Service postgresql- start 从x射线版本3。RabbitMQ作为Xray RPM的一部分进行打包和管理。Xray主服务上的任何操作(停止、启动和状态)也将在RabbitMQ上执行。
现有的RabbitMQ RPM是作为Xray版本2的一部分安装的。x在x射线3后可以卸载。X已成功安装并运行。启动x射线节点。
systemd操作系统Systemctl启动xray.service
systemv操作系统Systemctl start xray
使用以下命令管理Xray。
systemd操作系统Systemctl停止x射线服务
systemv操作系统Service xray stop|status|restart
- 从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,去吧。安全性与合规性选项卡应用程序模块。 检查x射线日志。
$JFROG_HOME/xray/var/log/console.log . tail
升级新增节点
通过在每个节点上运行以下命令,停止使用HA设置的所有集群节点。
服务x射线停止
提取压缩归档文件的内容并转到提取的文件夹。
RPMTar -xvf jfrog-xray-
-rpm. Tar .gz Debianjfrog-xray-
-deb. Tar .gz 运行
config.sh
脚本设置具有所需所有权的文件夹。。/ install.sh
修改的
system.yaml
文件位于$ JFROG_HOME / x光
/var/etc
文件夹中使用以下配置。shared: rabbitMq: active: node: name:
(所有后续节点使用相同的名称)ip: 启动x射线节点。
systemd操作系统Systemctl启动xray.service
systemv操作系统Systemctl start xray
使用以下命令管理Xray。
systemd操作系统Systemctl停止x射线服务
systemv操作系统Service xray stop|status|restart
- 从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,去吧。安全性与合规性选项卡应用程序模块。 检查x射线日志。
$JFROG_HOME/xray/var/log/console.log . tail
Post数据迁移步骤(MongoDB到PostgreSQL)
迁移成功后,建议执行以下步骤:
- 验证您的x射线数据已成功迁移。
- 删除MongoDB的配置
system.yaml
. - 卸载MongoDB数据库。
从版本3升级。X到3.x
支持以下升级方式:
交互式脚本升级(推荐)
安装脚本适用于所有支持的升级方法(RPM、Debian和Docker Compose)。它为您提供了一种交互式方式来升级Xray及其依赖项。
- 下载x光(RPM、Debian或Docker Compose)。
停止服务。
systemd操作系统Systemctl停止x射线服务
systemv操作系统服务x射线停止
码头工人组成CD jfrog-xray-
-compose docker-compose -p xray down 提取压缩归档文件的内容并转到提取的文件夹。安装程序脚本位于解压的文件夹中。
请注意对于Docker Compose升级,请确保合并当前版本中的任何自定义docker-compose.yaml
文件的新解压缩版本docker-compose.yaml
文件。CD jfrog-xray-
- .tar.gz CD jfrog-xray- - 请注意
的内容
.env
文件在之前的安装中新建.env
此存档中的文件不复制版本,因为这将影响升级。运行安装脚本。
如果需要,脚本将用一系列强制输入提示您,包括jfrogURL
(自定义基础URL)和joinKey
.组成。/ config.sh
RPM / DEB。/ install.sh
启动x射线服务。
systemd操作系统Systemctl启动xray.service
systemv操作系统Systemctl start xray
码头工人组成CD jfrog-xray-
-compose docker-compose -p xray up -d - 从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,去吧。安全性与合规性选项卡应用程序模块。 检查x射线日志。
$JFROG_HOME/xray/var/log/console.log . tail
手动RPM/Debian升级
下载x光(RPM或Debian)
停止当前服务器。
systemd操作系统Systemctl停止x射线服务
systemv操作系统服务x射线停止
- 升级前请妥善保存RabbitMQ密码。
你可以在文件里找到密码,JFROG_HOME美元
rabbitmq / app / bin / /rabbitmq.conf。
提取压缩归档文件的内容并转到提取的文件夹。
CD jfrog-xray-
- .tar.gz 从Xray 3.8开始。与Xray绑定的RabbitMQ已经升级,它需要升级Erlang库。这个库可以在$JFROG_HOME/xray/app/third找到。有关更多信息,请参见安装Erlang.
要升级RabbitMQ的依赖,你需要升级
erlang socat /
通过使用“——replacefiles”来解决文件冲突错误。在Red Hat兼容的Linux发行版上,以root用户将Xray作为服务安装。
rpmYum -y install ./xray/xray.rpm
DebianDPKG - 1 ./xray/xray.deb
- 更新文件中的RabbitMQ密码。
JFROG_HOME美元
rabbitmq / app / bin / /rabbitmq.conf
,使用您先前存储的密码。 开始x光。
systemd操作系统Systemctl启动xray.service
systemv操作系统Systemctl start xray
从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,去吧。安全性与合规性选项卡应用程序模块。检查x射线日志。
$JFROG_HOME/xray/var/log/console.log . tail
手动升级Docker组件
停止当前服务器。
提取压缩归档文件的内容并转到提取的文件夹。
Tar -xvf jfrog-xray-
- composer . Tar .gz .env文件包含在Docker-Compose归档文件中
这个.env文件由docker-compose在安装和升级期间更新。
请注意,有些操作系统默认情况下不显示点文件。如果您对文件做了任何更改,请记得在升级之前进行备份。
将docker-compose模板从templates文件夹复制到解压的文件夹中。将其重命名为
docker-compose.yaml
.确保使用与安装期间相同的模板。要求 模板 x光 docker-compose.yaml
RabbitMQ docker-compose-rabbitmq.yaml PostgreSQL docker-compose-postgres.yaml
Mac版Docker
当你在Mac中使用Docker Compose时,
/etc/localtime
可能不像预期的那样工作,因为它可能不是docker-for-mac设置中的共享位置。您可以从选定的文件中删除以下行
docker-compose.yaml
文件以避免安装问题。- /etc/localtime: / etc /作用:罗依
更新
.env
文件,并确保在安装时使用相同的值。Xray的安装目录。如果没有输入,脚本将提示您输入。默认[$ HOME /。jfrog/xray] ROOT_DATA_DIR= #主机ID。集群中的其他节点将使用此ID来标识该节点HOST_ID= #主节点的ID。对于主节点,请保留该值为“None”。(shared.rabbitMq.active.node.name)。JF_SHARED_RABBITMQ_ACTIVE_NODE_NAME=无#主节点IP。JF_THIRD_PARTY_BIND_IP=127.0.0.1 . (shared.rabbitMq.active.node.ip) JF_SHARED_RABBITMQ_ACTIVE_NODE_IP=127.0.0.1
使用docker-compose命令启动Xray和PostgreSQL。
##启动其他服务前需要先启动RabbitMQ。docker-compose -p xray-rabbitmq -f docker-compose- RabbitMQ从x射线3.8。在启动其他服务之前,需要先启动PostgreSQL。Docker-compose -p xray-postgres检查服务是否已启动
从浏览器访问Artifactory:
http://SERVER_HOSTNAME/ui/
.例如,在您的本地机器上:http://localhost/ui/
.检查x射线日志。
Docker -compose -p x射线日志
配置控制台日志的日志轮换
的
console.log
文件可以快速增长,因为所有服务都写入它。安装脚本添加了一个cron作业来进行日志轮换console.log
每小时归档一次。这是不完成手动Docker Compose安装。了解更多关于如何配置日志轮换.
Linux Archive升级
请记住备份RabbitMQ密码并将其添加回rabbitmq.conf
文件。
停止当前服务器。
停止x光cd $JFROG_HOME/xray/app/bin ./xray.sh stop .sh
提取压缩归档文件的内容并转到提取的文件夹。
解压/opt/jfrog/ CD /opt/jfrog tar -xf jfrog-xray-
-linux.tar.gz 从Xray 3.8开始。与Xray绑定的RabbitMQ已经升级,它需要升级Erlang库。这个库可以在$JFROG_HOME/xray/app/third找到。有关更多信息,请参见安装Erlang.
替换现有的美元JFROG_HOME / x光/应用程序用新的应用程序文件夹中。
升级#导出变量以简化命令Export JFROG_HOME=/opt/jfrog Export JF_NEW_VERSION=/opt/jfrog/jfrog-xray-
-linux #删除应用rm -rf $JFROG_HOME/xray/app #复制新应用cp -fr $JF_NEW_VERSION/app $JFROG_HOME/xray/ #删除提取的新版本rm -rf $JF_NEW_VERSION 管理x光。
$ JFROG_HOME / x光/ app / bin / xray.sh开始|停止
- 访问x光从你的浏览器:http:// < jfrogUrl > / ui /,去吧。指示板选项卡应用程序模块。
检查x射线日志。
$JFROG_HOME/xray/var/log/console.log . tail
执掌升级
从x射线图版本3升级时。X到3.x,due to breaking changes, useKubectl delete statefulsets
运行舵机升级。
同时,从x射线图版本3升级。X到4。x,由于破坏RabbitMQ(当rabbitmq.enabled = true
)子图更改时,运行以下命令。
$ kubectl delete statefulsets$ kubectl delete statefulsets $ kubectl delete pvc $ helm upgrade——install xray——namespace xray jfrog/xray
执行升级需要停机时间。
离线更新
如果您希望在pod中运行时对Xray数据库进行脱机更新,请将下载的数据复制到正确的Xray容器中(如果之前需要,可以缩小到1个副本),然后使用kubectl命令将文件复制到特定位置。
例如:
Kubectl cp ./ comp_6795364578871 .zip/xray-0:/opt/jfrog/xray/var/work/server/updates/component/ comp_6795364578871 .zip -c xray-server .zip
Kubectl cp ./ vuln_6795364578871 .zip/xray-0:/opt/jfrog/xray/var/work/server/updates/vulnerability/ vuln_6795364578871 .zip -c xray-server .zip
升级Xray。
将已部署的版本更新为更新后的版本。
头盔升级——设置普通。xrayVersion =(版本号)/ jfrog / x光
如果安装了x射线而没有提供值
postgresql.postgresqlPassword
(密码是自动生成的),按照这些说明操作。得到了执行以下命令获取当前密码。
POSTGRES_PASSWORD=$(kubectl get secret -n
-postgresql -o jsonpath="{.data. path ")Postgresql-password}" | base64——decode) 通过传递先前自动生成的秘密来升级版本。
jfrog/xray——set postgresql.postgresqlPassword=${POSTGRES_PASSWORD}
如果安装了x射线而没有提供值
rabbitmq.auth.password
(密码是自动生成的),按照这些说明操作。G通过运行以下命令设置当前密码。
RABBITMQ_PASSWORD=$(kubectl get secret -n
-rabbitmq -o jsonpath="{.data. path ")Rabbitmq-password}”| base64——decode) 通过传递先前自动生成的秘密来升级版本。
jfrog/xray——set rabbitmq.auth.password=${RABBITMQ_PASSWORD}
- 如果Xray是用所有默认值安装的(例如,Rabbit/Postgres没有用户提供的值),请遵循以下步骤。
- 如上节所述,检索所有当前密码(RabbitMQ/PostgreSQL)。
通过传递以前自动生成的秘密来升级版本。
——安装xray——命名空间xray jfrog/xray——set rabbitmq.auth。Password =
——set postgresql.post
- 从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,然后去安全性与合规性选项卡应用程序模块。 检查已部署的舵机释放的状态。
舵机状态x射线
从1.x/2升级图表版本。X到3.x和一个bove
- JFrog x射线x只兼容JFrog Artifactory 7.x;要升级,必须首先安装JFrog Artifactory 7.x。
- 从1之前的版本升级。如果安装了1.x,首先需要升级到最新版本的1.x
- 从版本2升级。X,首先需要升级到最新版本2。X(有关更多信息,请参见升级Xray 2文档).
PostgreSQL迁移进程
推荐的迁移过程有两个主要步骤:
- 将已有的MongoDB数据迁移到已有的PostgreSQL中。
- 执行PostgreSQL的完整数据库导出和导入操作。
前提步骤:获取现有图表的详细信息
- 阻止用户访问Xray(但不关闭)。
获取服务名称
OLD_PG_SERVICE_NAME
,OLD_MONGO_SERVICE_NAME
使用下面的命令。例如:OLD_PG_SERVICE_NAME
和OLD_MONGO_SERVICE_NAME
值作为< OLD_RELEASE_NAME > postgresql
和< OLD_RELEASE_NAME > mongodb
分别。$ kubectl get svc NAME TYPE CLUSTER-IP external_ip PORT(S) AGE
-mongodb ClusterIP 10.101.56.69 27017/TCP 114m -postgresql ClusterIP 10.101.250.74 5432/TCP 114m -rabbitmq-ha ClusterIP none 15672/TCP,5672/TCP,4369/TCP 114m -rabbitmq-ha- ha ClusterIP none 15672/TCP,5672/TCP,4369/TCP 114m -x射线分析ClusterIP 10.104.138.63 7000/TCP 114m -x射线-indexer ClusterIP 10.106.72.163 7002/TCP 114m -x射线-persist ClusterIP 10.103.20.33 7003/TCP 114m -x射线-server LoadBalancer 10.105.121.175 80:32326/TCP 114m 保存以前的密码
OLD_PG_SERVICE_NAME
,OLD_MONGO_SERVICE_NAME
或者从现有的PostgreSQL和MongoDB的pod中提取它们。#示例:OLD_PG_PASSWORD=$(kubectl get secret -n
-postgresql -o jsonpath="{.data. path "postgresql -password}" | base64——decode) OLD_MONGO_PASSWORD=$(kubectl get secret -n -mongodb -o jsonpath="{.data. password}"Mongodb-password}”| base64——decode) 停止旧的Xray pod(将副本缩减到0)将仍然保持活跃。
$ kubectl scale statfulsets
- rabbitmqh -ha -xray-indexer -xray-persist -xray-server——replicas=0
将MongoDB的数据迁移到PostgreSQL中
运行舵安装
(不是升级)新版本
说xray-new
用下面的方法。
检查所有的探测是否被禁用。
——设置router.livenessProbe。启用=false——设置router.readinessProbe。启用=false——设置indexer. liveessprobe。启用=false——set analysis. liveessprobe。启用=false——设置server. liveessprobe。enabled=false——set persistent . liveessprobe。启用=false——设置indexer.readinessProbe。enabled=false——set analysis.readinessProbe。启用=false——设置server.readinessProbe。set persistent . readinessprobe .enabled=false
指向之前的PostgreSQL pod (user, password,DATABASE)。
——设置postgresql。启用=false——设置数据库。user=
——set database。password= ——set database.url="postgres:// :5432/xraydb?sslmode =禁用” 指向前一个MongoDB(用户、密码、数据库)pod。
——设置x光。mongoousername =
——set xray。mongoPassword=< old_mongopassword >——set xray. mongol ="mongodb:// :27017/? "authSource = xray&authMechanism = SCRAM-SHA-1” 这将触发迁移过程,如下面的示例所示。
#创建一个customvalues。yaml文件router: livenessProbe: enabled: false readinessProbe: enabled: false indexer: livenessProbe: enabled: false readinessProbe: enabled: false analysis: livenessProbe: enabled: false readinessProbe: enabled: false readinessProbe: enabled: false persistent: livenessProbe: enabled: false readinessProbe: enabled: false readinessProbe: enabled: false postgresql: enabled: false database: user:
password: url:“postgres: / / < SERVICE_NAME_POSTGRES >: 5432 / xraydb吗?sslmode =禁用”xray: mongoUsername: mongoPassword: mongoUrl: "mongodb:// :27017/?authSource=xray&authMechanism=SCRAM-SHA-1" masterKey: jfrogUrl: joinKey: rabbitmq: enabled: true auth: password: rabbitmq-ha: enabled: false 应用
values.yaml
文件。头盔升级——安装xray-new jfrog/xray -f customvalues.yaml
- 停止新的Xray pod(将副本缩小到0),两个PostgreSQL pod仍然是活跃的。
创建一个
customvalues.yaml
文件。replicaccount: 0 postgresql: postgresqlPassword:
rabbitmq: enabled: true auth: password: < password > rabbitmq-ha: enabled: false xray: masterKey: jfrogrurl: joinKey: unifiedUpgradeAllowed: true databaseUpgradeReady: true 应用
values.yaml
文件。头盔升级——安装xray-new jfrog/xray -f customvalues.yaml
执行PostgreSQL的全数据库导出和导入操作
在新旧pod之间迁移PostgreSQL数据。
连接到新的PostgreSQL pod(您可以通过运行
kubectl得到
豆荚)。$ kubectl exec -it
bash 登录后,使用以下命令从上一个数据库创建转储文件
pg_dump
,并连接到前一个PostgreSQL图表。$ pg_dump -h
-U xray DATABASE_NAME > /tmp/backup.sql 运行该命令后,系统会提示输入密码;此密码为之前的图表密码
OLD_PG_PASSWORD
.此操作可能需要一些时间,具体取决于数据库的大小。有了备份文件后,可以使用此命令恢复它。
-
$ psql -U xray DATABASE_NAME < /tmp/backup.sql
运行上述命令后,系统将提示您输入密码;这是当前的图表密码。此操作可能需要一些时间,具体取决于数据库的大小。
接下来,最后一次运行upgrade命令来启动Xray。
#创建一个customvalues。jfrogrurl:
joinKey: rabbitmq: enabled: true auth: password: < password > rabbitmq-ha: enabled: false postgresql: postgresqlPassword: unifiedUpgradeAllowed: true databaseUpgradeReady: true 在安装过程中应用values文件。
头盔升级——安装xray-new jfrog/xray -f customvalues.yaml
运行下面的命令来恢复对新x射线的访问删除旧的x射线部署和Helm版本。
run helm delete
x射线现在应该可以使用了。
RabbitMQ迁移进程
TRabbitMQ-HA图表已从7。X图版本;因此,在升级到7。x图表版本,你需要执行RabbitMQ迁移(假设你没有使用RabbitMQ Bitnami这样)。本节描述从RabbitMQ-HA图迁移到Bitnami RabbitMQ图之前升级到图表版本7。X及以上。
对于这个过程,您需要选择是否迁移没有现有队列(假设所有队列都是空的)或者在Xray关闭时迁移。
迁移没有现有队列
重要的
此过程假定所有队列都为空。
在运行头盔升级时,确保没有索引或手表运行。
使用Bitnami RabbitMQ升级Xray(禁用RabbitMQ- ha)。
Yaml rabbitmq-ha: enabled: false rabbitmq: enabled: true auth: username: guest password: password
使用现有队列进行迁移
这个迁移选项需要停机时间,适用于在Xray中运行未完成任务的情况,但迁移到Bitnami RabbitMQ是必要的。
- 分离(禁用)x射线在人工。
使用两个RabbitMQ (RabbitMQ- ha和Bitnami RabbitMQ)升级Xray,并将Xray服务缩减为0 (replicaccount: 0)。
两个rabbitmq应该缩小到一个副本。两个rabbitmq都应该有
ha-mode:所有
设置(默认情况下它们应该已经设置)。xray: replicaccount: 0 rabbitmq-ha: enabled: true replicaccount: 1 rabbitmq: enabled: true replicaccount: 1 auth:用户名:guest密码:guest
进入Bitnami RabbitMQ pod并运行以下命令。
. bash export OLD_RMQ=rabbit@ '
' -rabbitmq-ha-0. ' ' -rabbitmq-ha-discovery. ' ' .svc.cluster. bash$OLD_RMQ && \ rabbitmqctl start_app . local && \ rabbitmqctl stop_app && \ rabbitmqctl join_cluster
进程之间的数据同步RabbitMQ-HA和新的BitnamiRabbitMQ节点开始。- 使用命令验证队列大小和计数的同步
rabbitmqctl list_queues
.同步状态也可以从旧RabbitMQ (RabbitMQ- ha)的RabbitMQ仪表板中查看。 待所有集群节点间数据同步完成后,执行a
执掌升级
关闭RabbitMQ-HA。这将删除旧的RabbitMQ-HA并启动Xray服务。yaml xray: replicaccount: 1 rabbitmq-ha: enabled: false rabbitmq: enabled: true replicaccount: 1 auth:用户名:guest密码:guest
最后,从Bitnami RabbitMQ中移除旧节点。
bash rabbitmqctl forget_cluster_node rabbit@ '
' -rabbitmq-ha-0. ' ' -rabbitmq-ha-discovery. ' ' .svc.cluster.local . bash rabbitmqctl forget_cluster_node rabbit@ ' ' ' -rabbitmq-ha-discovery. 在Artifactory中启用Xray。
HA升级
本节描述升级x射线的过程使用交互式脚本的高可用性集群。
本次升级支持以下安装类型:
- Linux存档
- 码头工人组成
- RPM或Debian
从3.31.0及更高版本开始,Xray支持HA安装的热升级。与常规升级不同,升级节点时不需要关闭辅助节点。
如果需要进行热升级,请确保HA集群中所有节点的版本一致。例如,如果一个节点的版本为3.31.0,另外两个节点的版本为3.31.1,则不能进行热升级。在升级过程中,您无法执行DB同步。在热升级过程中,不能重启任何节点。如果在进程中间重新启动节点,则该节点将无法重新加入集群。在升级过程中,JFrog平台UI显示一条警告消息。不能使用热升级过程降级到以前的版本
由于Xray支持从3.31.0版本开始热升级,因此可以通过热升级将3.31.0版本的HA安装升级到3.31.0以上版本。
从3.31.0以上版本升级
按照以下步骤,使用集群中每个节点上的交互式脚本升级Xray。
停止待升级节点的x射线服务。
Linux存档$ JFROG_HOME / x光/ app / bin / xray.sh停止
码头工人组成Docker-compose -p xray down
RPM或DebianSystemctl stop xray
为仅限Linux Archive:删除
应用程序
文件夹中。通过运行安装脚本升级Xray。
如果需要,脚本会用一系列强制输入提示您,包括jfrogURL
(自定义基础URL)和joinKey
.Linux归档/Docker撰写。/ config.sh
-
RPM或Debian
。/ install.sh
启动x射线服务。
Linux存档$ JFROG_HOME / x光/ app / bin / xray.sh开始
码头工人组成Docker-compose -p xray up -d
RPM或DebianSystemctl start xray
从3.31.0之前版本升级
按照以下步骤使用交互式脚本升级Xray。
Linux和本地安装程序
在Linux和Native安装程序上运行升级之前,您需要停止RabbitMQ。因为shared.rabbitMq.autoStop
默认设置为false。能够运行RabbitMQsystemctl / xray.sh
,您将需要设置shared.rabbitMq.autoStop
来真正的在的system.yaml
.
码头工人组成
对于Docker Compose,您需要运行
docker- composition -rabbitmq -fyaml下来
停止所有x射线服务辅助节点.
重要的
必须停止备节点上的业务之前停止主节点服务。
Linux存档$ JFROG_HOME / x光/ app / bin / xray.sh停止
码头工人组成Docker-compose -p xray down
RPM或DebianSystemctl stop xray
接下来,停止主节点上的x射线服务。
Linux存档$ JFROG_HOME / x光/ app / bin / xray.sh停止
码头工人组成Docker-compose -p xray down
RPM或DebianSystemctl stop xray
- 为仅限Linux Archive:删除
应用程序
文件夹在所有节点上(主节点和辅助节点)。 通过运行安装脚本在主节点上升级Xray。
如果需要,脚本将用一系列强制输入提示您,包括jfrogURL
(自定义基础URL)和joinKey
.Linux归档/Docker撰写。/ config.sh
-
RPM或Debian
。/ install.sh
启动主节点上的x射线服务。
Linux存档$ JFROG_HOME / x光/ app / bin / xray.sh开始
码头工人组成Docker-compose -p xray up -d
RPM或DebianSystemctl start xray
升级备用节点的x射线。
Linux归档/Docker撰写。/ config.sh
RPM或Debianconfig.sh / install.sh
启动备节点的Xray服务。
Linux存档$ JFROG_HOME / x光/ app / bin / xray.sh开始
码头工人组成Docker-compose -p xray up -d
RPM或DebianSystemctl start xray