从2.7以下版本升级
要从版本2.6及以下升级,首先需要升级到版本2.7。X的描述升级Xray 2文档,然后继续从2.7版本升级到3.x。
从版本3开始。x时,Xray不使用MongoDB,除了从版本2.x迁移的初始阶段。数据从2.7x及以上版本自动从MongoDB迁移到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开始时。x时,数据自动从MongoDB迁移到PostgreSQL。在启动Xray服务之前,请确保两个数据库都已启动并正在运行。在迁移期间,x射线将不可访问。迁移时间取决于需要迁移的数据大小。
交互式脚本升级(推荐)
安装程序脚本适用于所有支持的升级方法(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停止
解压缩归档文件的内容并转到解压缩的文件夹。安装程序脚本位于解压缩的文件夹中。
Tar -xvf jfrog-xray-
- .tar.gz CD jfrog-xray- - .tar.gz .env文件包含在Docker-Compose归档文件中
这个.env文件被docker-compose并在安装和升级期间进行更新。
注意,某些操作系统默认情况下不显示点文件。如果您对该文件进行了任何更改,请记得在升级之前进行备份。
- 对于非Docker-Compose安装,确保您的MongoDB正在运行,以确保迁移到PostgreSQL的过程将正常工作。
对于Docker-Compose安装,MongoDB服务将作为新合成文件的一部分出现。 运行安装程序脚本。
请注意:脚本将提示您一系列强制输入,包括jfrogURL
(自定义基础URL)而且joinKey
.组成。/ config.sh
.env在Docker-Compose
归档文件中包含一个.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启动x射线
码头工人组成cd jfrog-xray-
-compose #从Xray 3.8x开始,RabbitMQ已经被移动到自己的合成文件中,需要在启动其他服务之前启动docker-compose- p Xray - RabbitMQ -f docker-compose- RabbitMQ。yaml up -d #从Xray 3.8开始。在启动其他服务之前,需要先启动PostgreSQL。Docker-compose -p xray-postgres -f Docker-compose -postgres 9-5-2v。Yaml up -d docker-compose -p x射线up -d docker-compose -p x射线ps docker-compose -p x射线down - 从浏览器访问Xray:
http:// < jfrogUrl > / ui
/,去x光页中的应用程序模块。 检查x射线日志。
Linuxtail -f $JFROG_HOME/var/log/console.log
数据迁移步骤(MongoDB to PostgreSQL)
迁移成功后,建议完成以下步骤:
- 验证您的x射线数据已成功迁移。
- 删除MongoDB配置
system.yaml
. - 安装RPM时,卸载MongoDB数据库。
对于Docker-Compose安装,你需要从Docker-Compose中删除“mongodb”服务。yml文件,或者再次运行安装脚本,脚本将确定MongoDB不再是必要的,并自动执行此操作。
手动升级RPM
RPM升级捆绑了Xray及其所有依赖项。它是作为原生RPM包提供的,其中Xray及其依赖项必须单独安装。如果您正在自动化安装,请使用此选项。
- 下载x光(RPM)。
停止当前服务。
CD /opt/jfrog/xray/scripts ./xray.sh停止
解压缩归档文件的内容并转到解压缩的文件夹。
Tar -xvf jfrog-xray-
-rpm. Tar .gz CD jfrog-xray- -rpm. gz - 确保您的MongoDB正在运行,以确保迁移到PostgreSQL的过程将正常工作。
在Red Hat兼容的Linux发行版上,以根用户身份将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连接细节。
Xray需要一个正常工作的Artifactory服务器和一个合适的许可证。与Artifactory的x射线连接需要2个参数:- jfrogUrl- JFrog Artifactory所在机器的URL,或者负载均衡器指向该机器的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射线服务器所需的“秘密”密钥。
你可以获取ArtifactoryjoinKey
(join Key)从JPD UI用户管理|设置|接入键.
设置join.key的Artifactory服务器所使用的共享配置部份JFROG_HOME美元/ x光
/var/etc/system.yaml
文件。
- jfrogUrl- JFrog Artifactory所在机器的URL,或者负载均衡器指向该机器的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可以在Xray 3之后卸载。X已成功安装并运行。
从MongoDB迁移数据到PostgreSQL
从版本3开始。x, Xray将不使用MongoDB,除非在迁移阶段。在启动Xray服务之前,请确保两个数据库都已启动并正在运行。在迁移期间,x射线将不可访问。Xray 3之后可以卸载MongoDB。X已成功安装并运行。
Service mongod start|stop|status
开始x光。
systemd操作系统Systemctl启动xray.service
systemv操作系统Systemctl启动x射线
从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,去x光页中的应用程序模块。检查x射线日志。
-f $JFROG_HOME/xray/var/log/console.log
数据迁移步骤(MongoDB to PostgreSQL)
迁移成功后,建议完成以下步骤:
- 验证您的x射线数据已成功迁移。
- 删除MongoDB配置
system.yaml
. - 卸载MongoDB数据库。
手动升级Debian
Debian升级捆绑了Xray及其所有依赖项。它是作为原生Debian包提供的,其中Xray及其依赖项必须单独安装。如果您正在自动化安装,请使用此选项。
- 下载x光(Debian)。
停止当前服务器。
CD /opt/jfrog/xray/scripts ./xray.sh停止
解压缩归档文件的内容并转到解压缩的文件夹。
Tar -xvf jfrog-xray-
-deb. Tar .gz CD jfrog-xray- -deb. gz - 确保您的MongoDB正在运行,以确保迁移到PostgreSQL的过程能够正常工作。
将Xray安装为服务在Debian兼容的Linux发行版上,作为根用户。
运行安装DPKG -i ./xray/xray.deb
检查以下文件,确认迁移已经成功完成:
迁移日志:
美元JFROG_HOME / x光/ var / log / migration.log
文件system.yaml配置:
$ JFROG_HOME / x光/ var / etc / system.yaml
这个新创建的文件将包含新格式的当前自定义配置。请确保是大号的文件句柄限制在启动x射线之前指定。
设置Artifactory连接细节。
Xray需要一个正常工作的Artifactory服务器和一个合适的许可证。与Artifactory的x射线连接需要2个参数:- jfrogUrl- JFrog Artifactory所在机器的URL,或者负载均衡器指向该机器的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射线服务器所需的“秘密”密钥。
你可以获取ArtifactoryjoinKey
(join Key)从JPD UI用户管理|设置|接入键.
设置join.key的Artifactory服务器所使用的共享配置部份JFROG_HOME美元/ x光
/var/etc/system.yaml
文件。
- jfrogUrl- JFrog Artifactory所在机器的URL,或者负载均衡器指向该机器的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可以在Xray 3之后卸载。X已成功安装并运行。
MongoDB
从3。x, Xray将不使用MongoDB,除非在迁移期间。从3开始。x时,数据将从MongoDB迁移到PostgreSQL。在启动Xray服务之前,请确保两个数据库都已启动并正在运行。Xray 3之后可以卸载MongoDB。X已成功安装并运行。
Service mongod start|stop|status
开始x光。
systemd操作系统Systemctl启动xray.service
Systemv操作系统Systemctl启动x射线
- 从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,去x光页中的应用程序模块。 检查x射线日志。
-f $JFROG_HOME/xray/var/log/console.log
数据迁移步骤(MongoDB to PostgreSQL)
迁移成功后,建议完成以下步骤:
- 验证您的x射线数据已成功迁移。
- 删除MongoDB配置
system.yaml
. - 卸载MongoDB数据库。
HA升级
本节描述升级x射线的过程高可用性集群。
升级x射线。x HA集群
从版本2升级Xray HA集群时,不再需要Xray负载均衡器。X到3.x作为all the Xray requests are now routed through the平台的路由器在JFrog平台。
支持以下安装方式:
升级前,请确保您使用的操作系统版本为支持。看到系统需求有关操作系统支持的详细信息。
码头工人组成
请对系统中的每个节点执行以下步骤。在启动每个节点时,请确保根据添加到集群的第一个节点或其他节点输入正确的详细信息。
下面的说明假设您正在从2升级。X正式安装Docker。
在每个节点上运行以下命令,停止使用HA设置的所有集群节点。
./x射线停止所有
解压缩归档文件的内容并转到解压缩的文件夹。
Tar -xvf jfrog-xray-
- composer . Tar .gz 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运行use - docker-compose-p xray-postgres -f docker-compose-postgres 9-5-2v。如果PostgreSQL 10.13正在运行,使用- docker-compose-p xray-postgres -f docker-compose-postgres-10-13v。如果PostgreSQL 12.3正在运行,则使用- docker-compose-p xray-postgres -f docker-compose-postgres。Yaml up -d docker-compose -p x射线up -d docker-compose -p x射线ps docker-compose -p x射线down
从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,去x光页中的应用程序模块。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可以在Xray 3之后卸载。X已成功安装并运行。启动x射线节点。
systemd操作系统Systemctl启动xray.service
systemv操作系统Systemctl启动x射线
使用以下命令管理Xray。
systemd操作系统Systemctl停止xray.service
systemv操作系统Service xray stop|status|restart .使用实例
- 从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,去x光页中的应用程序模块。 检查x射线日志。
-f $JFROG_HOME/xray/var/log/console.log
升级附加节点
在每个节点上运行以下命令,停止使用HA设置的所有集群节点。
服务x射线停止
解压缩归档文件的内容并转到解压缩的文件夹。
RPMTar -xvf jfrog-xray-
-rpm. Tar .gz DebianTar -xvf jfrog-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启动x射线
使用以下命令管理Xray。
systemd操作系统Systemctl停止xray.service
systemv操作系统Service xray stop|status|restart .使用实例
- 从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,去x光页中的应用程序模块。 检查x射线日志。
-f $JFROG_HOME/xray/var/log/console.log
数据迁移步骤(MongoDB to PostgreSQL)
迁移成功后,建议完成以下步骤:
- 验证您的x射线数据已成功迁移。
- 删除MongoDB配置
system.yaml
. - 卸载MongoDB数据库。
从版本3升级。X到3.x
支持以下升级方式:
脚本交互升级(推荐)
安装程序脚本适用于所有支持的升级方法(RPM, Debian和Docker Compose)。它为您提供了一种交互式的方式来升级Xray及其依赖项。
- 下载x光(RPM, Debian或Docker Compose)。
停止服务。
systemd操作系统Systemctl停止xray.service
systemv操作系统服务x射线停止
码头工人组成CD jfrog-xray-
-compose docker-compose -p xray down 解压缩归档文件的内容并转到解压缩的文件夹。安装程序脚本位于解压缩的文件夹中。
请注意:对于Docker Compose升级,请确保合并当前的任何自定义docker-compose.yaml
文件的新提取版本docker-compose.yaml
文件。Tar -xvf jfrog-xray-
- .tar.gz CD jfrog-xray- - .tar.gz 请注意
的内容
.env
文件在以前的安装中新建.env
此存档中的文件不需要复制版本,因为这会影响升级。运行安装程序脚本。
如果需要,脚本将提示您一系列强制输入,包括jfrogURL
(自定义基础URL)而且joinKey
.组成。/ config.sh
RPM / DEB。/ install.sh
启动x射线服务。
systemd操作系统Systemctl启动xray.service
systemv操作系统Systemctl启动x射线
码头工人组成CD jfrog-xray-
-compose docker-compose -p xray up -d - 从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,去x光页中的应用程序模块。 检查x射线日志。
-f $JFROG_HOME/xray/var/log/console.log
手动升级RPM/Debian
下载x光(RPM或Debian)
停止当前服务器。
systemd操作系统Systemctl停止xray.service
systemv操作系统服务x射线停止
- 请在升级前妥善保存RabbitMQ密码。
你可以在文件里找到密码,JFROG_HOME美元
rabbitmq / app / bin / /rabbitmq.conf。
解压缩归档文件的内容并转到解压缩的文件夹。
Tar -xvf jfrog-xray-
- .tar.gz CD jfrog-xray- - .tar.gz 从Xray 3.8开始。Xray捆绑的RabbitMQ已经升级,需要升级Erlang库。这个库可以在$JFROG_HOME/xray/app/third-party上找到。有关更多信息,请参见安装Erlang.
为了升级RabbitMQ的依赖关系,你需要升级
erlang socat /
通过使用"——replacefiles"来解决文件冲突错误。在Red Hat兼容的Linux发行版上,以根用户身份将Xray作为服务安装。
rpmYum -y install ./xray/xray.rpm
DebianDPKG -i ./xray/xray.deb
- 更新文件中的RabbitMQ密码
JFROG_HOME美元
rabbitmq / app / bin / /rabbitmq.conf
,并输入先前储存的密码。 开始x光。
systemd操作系统Systemctl启动xray.service
systemv操作系统Systemctl启动x射线
从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,去x光页中的应用程序模块。检查x射线日志。
-f $JFROG_HOME/xray/var/log/console.log
手动Docker合成升级
停止当前服务器。
Docker-compose -p x射线关闭
解压缩归档文件的内容并转到解压缩的文件夹。
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
Docker for Mac
当你在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_SHARED_RABBITMQ_ACTIVE_NODE_IP=127.0.0.1 #第三方应用程序内部端口的绑定IP JF_THIRD_PARTY_BIND_IP=127.0.0.1
使用docker-compose命令启动Xray和PostgreSQL。
在启动其他服务之前,需要先启动RabbitMQ docker-compose -p xray-rabbitmq -f docker-compose- RabbitMQyaml up -d ##从x射线3.8。在启动其他服务之前,需要先启动PostgreSQL。Docker-compose -p xray-postgres -f Docker-compose -postgres。yaml up -d docker-compose -p xray up -d ##检查服务是否正常
从浏览器访问Artifactory:
http://SERVER_HOSTNAME/ui/
.例如,在您的本地机器上:http://localhost/ui/
.检查x光日志。
Docker ps Docker -compose -p x射线日志
配置控制台日志的日志旋转
的
console.log
文件可以快速增长,因为所有服务都对其进行写操作。安装脚本添加了一个cron作业来记录旋转console.log
每小时归档一次。这是不为手动Docker Compose安装完成。了解更多关于如何配置日志旋转.
Linux档案升级
请记住备份RabbitMQ密码,并将其添加回rabbitmq.conf
文件。
停止当前服务器。
停止x光cd $JFROG_HOME/xray/app/bin ./xray.sh停止
解压缩归档文件的内容并转到解压缩的文件夹。
解压Mv jfrog-xray-
-linux.tar.gz /opt/jfrog/ CD /opt/jfrog tar -xf jfrog-xray- -linux.tar.gz . Mv jfrog-xray- -linux.tar.gz . Mv 从Xray 3.8开始。Xray捆绑的RabbitMQ已经升级,需要升级Erlang库。这个库可以在$JFROG_HOME/xray/app/third-party上找到。有关更多信息,请参见安装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 $ jfrog_new_version /app $JFROG_HOME/xray/ #删除提取的新版本rm -rf $JF_NEW_VERSION 管理x光。
$ JFROG_HOME / x光/ app / bin / xray.sh开始|停止
- 访问x光从您的浏览器:http:// < jfrogUrl > / ui /,去指示板页中的应用程序模块。
检查x射线日志。
-f $JFROG_HOME/xray/var/log/console.log
执掌升级
当从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
升级x射线。
将现有的部署版本更新到更新后的版本。
——install
——命名空间xray jfrog/xray 如果安装Xray时没有提供值
postgresql.postgresqlPassword
(密码是自动生成的),按照下面的说明操作。得到了运行以下命令输入当前密码。
POSTGRES_PASSWORD=$(kubectl get secret -n
-postgresql -o jsonpath="{.data. data. "" | base64——decode) 通过传递先前自动生成的秘密来升级版本。
——set postgresql.postgresqlPassword=${POSTGRES_PASSWORD}
如果安装Xray时没有提供值
rabbitmq.auth.password
(密码是自动生成的),按照下面的说明操作。G运行以下命令设置当前密码。
RABBITMQ_PASSWORD=$(kubectl get secret -n
-rabbitmq -o jsonpath="{.data. "Rabbitmq-password}" | base64——decode) 通过传递先前自动生成的秘密来升级版本。
helm upgrade
jfrog/xray——set rabbitmq.auth.password=${RABBITMQ_PASSWORD}
- 如果Xray安装时使用了所有默认值(例如,没有用户提供的Rabbit/Postgres值),请按照以下步骤操作。
- 检索所有当前密码(RabbitMQ/PostgreSQL),如上一节所述。
通过传递先前自动生成的秘密来升级版本。
Helm upgrade——install xray——命名空间xray jfrog/xray——set rabbitmq.auth。密码=
——set postgresql.post
- 从浏览器访问Xray:
http:// < jfrogUrl > / ui /
,然后去x光页中的应用程序模块。 检查已部署的舵机释放装置的状态。
舵舵状态x光片
从1.x/2升级图表版本。X到3.x而且一个bove
- JFrog x射线3。x只兼容JFrog Artifactory 7.x;要升级,必须先安装JFrog Artifactory 7.x。
- 从1之前的版本升级。X,您将首先需要升级到最新版本的1.x
- 从版本2升级。X,您首先需要升级到最新版本的2。X(有关更多信息,请参见升级Xray 2文档).
迁移过程
推荐的迁移过程有两个主要步骤:
- 迁移现有MongoDB数据到现有PostgreSQL。
- 执行PostgreSQL的完整数据库导出和导入。
前提条件步骤:获取现有图表的详细信息
- 阻止用户访问x射线(但不关闭)。
获取服务名称
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无<无> 15672/TCP,5672/TCP,4369/TCP 114m -rabbitmq-ha-discovery ClusterIP无<无> 15672/TCP,5672/TCP,4369/TCP 114m - x射线-analysis ClusterIP 10.104.138.63 <无> 7000/TCP 114m -xray-indexer ClusterIP 10.106.72.163 7002/TCP 114m -xray-persist ClusterIP 10.103.20.33 7003/TCP 114m -xray-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. data. "postgres-password}" | base64——decode) OLD_MONGO_PASSWORD=$(kubectl get secret -n <命名空间> -mongodb -o jsonpath="{.data. key}"Mongodb-password}" | base64——decode) 停止旧的Xray pod(将副本缩小到0)将仍然保持活跃。
$ kubectl scale statefulsets
-rabbitmq-ha -xray-analysis -xray-indexer -xray-persist -xray-server——replicas=0
迁移现有MongoDB数据到现有PostgreSQL
运行舵安装
(不升级)与新版本
说xray-new
用下面的方法。
验证所有探测都已禁用。
——设置router.livenessProbe。enabled=false——设置router.readinessProbe。enabled=false——设置index . livingessprobe。enabled=false——设置analysis. livingessprobe。enabled=false——设置server. livingessprobe。enabled=false——设置persistence . livingessprobe。enabled=false——设置indexer.readinessProbe。enabled=false——设置analysis.readinessProbe。enabled=false——设置server.readinessProbe。——set persistent . readinessprobe .enabled=false
指向之前的PostgreSQL pod(用户,密码,数据库)。
——设置postgresql。Enabled =false——设置数据库。user=
——设置数据库。password= ——set database.url="postgres:// :5432/xraydb? "sslmode =禁用” 指向之前的MongoDB(用户,密码,数据库)pod。
——设置x光。mongusername =
——设置x射线。mongpassword = ——set x - ray. mongourl ="mongodb:// :27017/? "authSource = xray&authMechanism = SCRAM-SHA-1” 这将触发迁移过程,如下面的示例所示。
#创建自定义值。yaml文件路由器:livingessprobe: enabled: false readinessProbe: enabled: false indexer: livingessprobe: enabled: false readinessProbe: enabled: false分析:livingessprobe: enabled: false readinessProbe: enabled: false服务器:livingessprobe: enabled: false readinessProbe: enabled: false persistent: livingessprobe: enabled: false postgresql: enabled: false数据库: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
- 停止新的x射线舱(缩小副本到0)。两个PostgreSQL舱仍然处于活动状态。
创建一个
customvalues.yaml
文件。replicaccount: 0 postgresql: postgresqlPassword:
rabbitmq: enabled: true auth: password: < password > rabbitmq-ha: enabled: false xray: masterKey: jfrogUrl: joinKey: unifiedUpgradeAllowed: true databaseUpgradeReady: true 应用
values.yaml
文件在安装期间。头盔升级—安装xray-new jfrog/xray -f customvalues.yaml
执行PostgreSQL的完整数据库导出和导入
在新旧pod之间迁移PostgreSQL数据。
连接到新的PostgreSQL pod(您可以通过运行
kubectl得到
豆荚)。$ kubectl exec -它
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
运行上述命令后,系统将提示您输入密码;这是当前图表密码。此操作可能需要一些时间,具体取决于数据库大小。
接下来,最后一次运行升级命令来启动Xray。
#创建自定义值。yaml文件xray: masterKey:
jfrogUrl: joinKey: rabbitmq: enabled: true auth: password: < password > rabbitmq-ha: enabled: false postgresql: postgresqlPassword: unifiedUpgradeAllowed: true databaseUpgradeReady: true 在安装期间应用值文件。
头盔升级—安装xray-new jfrog/xray -f customvalues.yaml
通过运行下面的命令恢复对新x射线的访问删除旧的x射线部署和Helm释放。
执行helm delete
.命令
x射线现在应该可以使用了。
RabbitMQ迁移过程
TRabbitMQ-HA图表已从7中删除。X线图版本;因此,在升级到7。x图表版本,你将需要执行RabbitMQ迁移(假设你没有使用RabbitMQ Bitnami这样)。介绍从RabbitMQ-HA图迁移到Bitnami RabbitMQ图表之前升级到图表版本7。X及以上。
对于这个过程,您需要选择是否迁移没有现有队列(假设所有队列都为空)或在Xray关闭时迁移。
迁移没有现有队列
重要的
这个过程假设所有队列都是空的。
在运行头盔升级时,请确保没有索引或手表正在运行。
用Bitnami RabbitMQ升级x射线(禁用RabbitMQ- ha)。
Yaml rabbitmq-ha: enabled: false rabbitmq: enabled: true auth: username: guest password:密码
使用现有队列迁移
这个迁移选项需要停机,适用于在Xray中有未完成的任务运行的情况,但迁移到Bitnami RabbitMQ是必要的。
- 在Artifactory中分离(禁用)x射线。
使用RabbitMQ (RabbitMQ- ha和Bitnami RabbitMQ)升级Xray,并将Xray服务缩小到0 (replicaccount: 0)。
两个rabbitmq应该缩小到一个副本。两个rabbitmq都应该有
ha-mode:所有
设置(默认情况下应该已经设置了)。yaml xray: replicaccount: 0 rabbitmq-ha: enabled: true replicaccount: 1 rabbitmq: enabled: true replicaccount: 1 auth: username: guest password: guest
进入Bitnami RabbitMQ pod并运行以下命令。
.svc.cluster. bash export OLD_RMQ=rabbit@ '
' -rabbitmq-ha-0. ' ' -rabbitmq-ha-discovery. ' ' .svc.cluster. bash export OLD_RMQ=rabbit@ ' ' -rabbitmq-ha-0. '\ rabbitmqctl stop_app && \ rabbitmqctl join_cluster $OLD_RMQ && \ rabbitmqctl start_app
之间数据同步的过程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: username: guest password: guest
最后,从Bitnami RabbitMQ中移除旧节点。
bash rabbitmqctl forget_cluster_node rabbit@ '
' -rabbitmq-ha-0. ' ' -rabbitmq-ha-discovery. ' ' .svc.cluster.local 在Artifactory中启用x射线。
HA升级
本节描述升级x射线的过程高可用性集群使用交互式脚本。
本次升级支持以下安装类型:
- Linux存档
- 码头工人组成
- RPM或Debian
从3.31.0版本及更高版本开始,Xray支持HA安装的热升级。与常规升级不同,升级节点时不需要关闭辅助节点。
执行热升级时,请确保HA集群中所有节点的版本一致。例如,一个节点的版本为3.31.0,另外两个节点的版本为3.31.1,不支持热升级。升级过程中不能进行DB同步操作。热升级过程中,禁止重启节点。如果在此过程中重新启动节点,则该节点将无法重新加入集群。升级过程中,JFrog平台界面显示警告信息。不能通过热升级过程降级到以前的版本
由于Xray支持从3.31.0版本进行热升级,因此可以通过热升级将3.31.0的HA安装升级到3.31.0以上的版本。
从3.31.0以上版本升级
按照以下步骤,在集群中的每个节点上使用交互式脚本升级Xray。
停止待升级节点上的Xray服务。
Linux存档$ JFROG_HOME / x光/ app / bin / xray.sh停止
码头工人组成Docker-compose -p x射线关闭
RPM或DebianSystemctl停止x射线
为仅限Linux存档:删除
应用程序
文件夹中。通过运行安装程序脚本升级Xray。
如果需要,脚本会提示您一系列强制输入,包括jfrogURL
(自定义基础URL)而且joinKey
.Linux Archive/Docker Compose。/ config.sh
-
RPM或Debian
。/ install.sh
启动x射线服务。
Linux存档$ JFROG_HOME / x光/ app / bin / xray.sh开始
码头工人组成Docker-compose -p x射线向上-d
RPM或DebianSystemctl启动x射线
从3.31.0以前的版本升级
按照以下步骤使用交互式脚本升级Xray。
Linux和本机安装程序
在Linux和Native安装程序上运行升级之前,你需要停止RabbitMQ。因为shared.rabbitMq.autoStop
默认设置为false。能够运行RabbitMQsystemctl / xray.sh
,您将需要设置shared.rabbitMq.autoStop
来真正的在的system.yaml
.
码头工人组成
对于Docker Compose,您将需要运行
Docker-compose -p xray-rabbitmq -f Docker-compose -rabbitmq。yaml下来
停止所有x射线服务辅助节点.
重要的
必须停止备节点上的服务之前停止主节点服务。
Linux存档$ JFROG_HOME / x光/ app / bin / xray.sh停止
码头工人组成Docker-compose -p x射线关闭
RPM或DebianSystemctl停止x射线
接下来,停止主节点上的Xray服务。
Linux存档$ JFROG_HOME / x光/ app / bin / xray.sh停止
码头工人组成Docker-compose -p x射线关闭
RPM或DebianSystemctl停止x射线
- 为仅限Linux存档:删除
应用程序
所有节点(主节点和从节点)上的文件夹。 通过运行安装程序脚本升级主节点上的Xray。
如果需要,脚本将提示您一系列强制输入,包括jfrogURL
(自定义基础URL)而且joinKey
.Linux Archive/Docker Compose。/ config.sh
-
RPM或Debian
。/ install.sh
在主节点上启动Xray服务。
Linux存档$ JFROG_HOME / x光/ app / bin / xray.sh开始
码头工人组成Docker-compose -p x射线向上-d
RPM或DebianSystemctl启动x射线
升级备节点的x射线。
Linux Archive/Docker Compose。/ config.sh
RPM或Debianconfig.sh / install.sh
在辅助节点上启动Xray服务。
Linux存档$ JFROG_HOME / x光/ app / bin / xray.sh开始
码头工人组成Docker-compose -p x射线向上-d
RPM或DebianSystemctl启动x射线