从3.5.1以下版本升级
升级前,请确保您使用的操作系统版本为支持。看到系统需求有关操作系统支持的详细信息。
若要从3.5及以下版本升级,首先需要升级到3.5.1版本从3.5.1以下版本升级,然后继续从3.5.1版本升级到4.x。
从3.5及以下版本升级到4。不支持X。
从3.5.1版本升级到4.x
升级前,请确保您使用的操作系统版本为支持。看到系统需求有关操作系统支持的详细信息。
JFrog任务控制v4。x只兼容JFrog Artifactory v7.x。要升级,你必须先安装JFrog Artifactory 7.x.有关更多信息,请参见安装Artifactory.
在任务控制4.x中引入了几个新概念,改进安装和定制流程.有关更多信息,请参见最新动态:自托管.
升级到版本4。x,您需要首先解包任务控制的安装程序存档,而不安装服务,然后使用下面的迁移过程导出/导入许可。
当使用任务控制之前4.7.5释放,并使用Export<>Import功能来复制/复制一个Mission Control实例,许可证桶应该在导入后手动加载,因为它们不包括在导出中。
- 下载任务控制.
解压缩归档文件的内容并转到解压缩的文件夹。
Tar -xvf jfrog-mc-
- .tar.gz CD jfrog-mc- - .tar.gz .env文件包含在Docker-Compose归档文件中
这个.env文件被docker-compose并在安装和升级期间进行更新。
注意,某些操作系统默认情况下不显示点文件。如果您对该文件进行了任何更改,请记得在升级之前进行备份。
- 复制
jfmcDataExport.sh
迁移脚本从的< >提取文件夹/第三方/ postgresql /
目录,来的/ tmp
目录托管任务控制v3.5.1数据库的机器(或容器)。
对于Linux Archive安装,脚本将位于< extract-folder > / app /第三方/ postgresql
. 在托管Mission Control v3.5.1数据库的计算机(或容器)上运行以下命令。
本地Postgres安装chown postgres:postgres /tmp/jfmcDataExport.sh cd /tmp/ su postgres -c "POSTGRES_PATH=/opt/PostgreSQL/9.6/bin PGPASSWORD=password bash /tmp/jfmcDataExport.sh——output=/tmp"
Docker容器中的Postgresdocker exec -it
bash su postgres -c "POSTGRES_PATH=/usr/lib/postgresql/9.6/bin PGPASSWORD=password bash /tmp/jfmcDataExport.sh——output=/tmp" docker cp :/tmp/jfmcDataExport.tar.gz /tmp/jfmcDataExport.tar.gz #如果数据库主机与JFrog任务控制主机不一致,#则将/tmp/jfmcDataExport.tar.gz从数据库主机复制到JFrog任务控制主机(例如使用scp) commmand-line选项——host= host数据库服务器主机(默认值:"127.0.0.1")——port= port数据库服务器端口(默认值:"5432")——user= user数据库用户名(默认值:"jfmc")——database= database要连接的数据库名(默认值:"mission_control")——schema=要连接的schema数据库模式名(默认值:"jfmc_server")——output= output path to output dir,其中将创建jfmcDataExport.tar.gz(默认值:".")
检查上述命令的输出。
2019-10-28T16:13:18.277Z [shell] [INFO] [] [jfmcDataExport.sh:425] [main] -导出license桶…2019-10-28T16:13:18.313Z [shell] [INFO] [] [jfmcDataExport.sh:428] [main] -导出托管许可证…2019-10-28T16:13:18.349Z [shell] [INFO] [] [jfmcDataExport.sh:419] [main] -绑定导出的数据…2019-10-28T16:13:18.365Z [shell] [INFO] [] [jfmcDataExport.sh:421] [main] -任务控制数据转储到:./jfmcDataExport.tar.gz
运行命令清除RPM和Debian安装的旧包。对于zip,您需要停止并继续。
注意:此步骤仅在安装任务控制4时需要。X在运行旧版本的同一服务器上。
RPM -删除旧的包#卸载任务控制yum remove jfmc rm -fr /var/opt/ j青蛙/ Mission - Control #卸载PostgreSQL/ opt/PostgreSQL/9.6/ Uninstall - PostgreSQL rm -fr /var/opt/ postgress # SystemD系统rm -fr /lib/ SystemD /system/ PostgreSQL -9.6。服务/etc/systemd/system/multi-user.target.wants / postgresql - 9.6。service systemctl daemon-reload systemctl reset-failed #For SystemV systems #卸载Elasticsearch yum remove -y Elasticsearch -oss rm -fr /etc/elasticsearch rm -fr /usr/share/elasticsearch . service systemctl daemon-reload systemctl reset-failed
Docker安装-停止并删除容器# docker-compose安装docker-compose -f ./jfmc-compose。停止docker ps -a——format '{{。命名}}` | grep ^jfmc_* | xargs docker rm -f
Debian -删除旧包#卸载任务控制apt-get purge jfmc rm -fr /var/opt/jfrog/ Mission - Control #卸载PostgreSQL/ opt/PostgreSQL/9.6/ Uninstall - PostgreSQL rm -fr /var/opt/ PostgreSQL rm -rf /var/ spul /mail/ postgress rm -rf /opt/PostgreSQL rm -rf /tmp/postgresql_installer_* rm -rf /etc/selinux/targeted/active/modules/100/ PostgreSQL # SystemD系统rm -fr /lib/ SystemD /system/ PostgreSQL -9.6。服务/etc/systemd/system/multi-user.target.wants / postgresql - 9.6。service systemctl daemon-reload systemctl reset-failed # SystemV系统rm -rf /etc/init.d/postgres-9.6 #卸载Elasticsearch apt-get purge Elasticsearch -oss rm -fr /etc/elasticsearch rm -fr /usr/share/elasticsearch . service systemctl daemon-reload systemctl reset-failed # SystemV系统rm -rf /etc/init.d/postgres-9.6
- 安装任务控制。
复制导出的数据。
mkdir -p $JFROG_HOME/mc/var/bootstrap/mc cp /tmp/jfmcDataExport.tar.gz $JFROG_HOME/mc/var/bootstrap/mc #注:以下仅用于docker-compose安装程序chown -R 1050:1050 $JFROG_HOME/mc/var/bootstrap
重启任务控制。
- 验证导入是否成功。文件名应重命名为
jfmcDataExport.tar.gz.done
.将重命名为jfmcDataExport.tar.gz.failed
如果导入过程失败。 检查任务控制日志。
tail -f $JFROG_HOME/mc/var/log/console.log
从版本4升级。X到4.x
升级到任务控制4.6.x
升级到任务控制4.6.xrequires Artifactory 7.11.x. Prior to upgrading, to enable the new metrics and trends, you must perform the following:
- 停止人造工厂和任务控制服务。
- 升级到Artifactory 7.11。到任务控制4.6.x。
- 更新Artifactory系统YAMLElasticsearch URL、用户名和密码。有关更多信息,请参见使趋势.
- 停止并启动Artifactory以使更改生效。
支持以下升级方式:
升级任务控制高可用性集群时,请确保在所有节点上同时触发升级过程。
脚本交互升级(推荐)
它支持所有的安装类型,包括Docker Compose、RPM和Debian。
停止服务。
systemd操作系统Systemctl stop MC
systemv操作系统服务MC停止
码头工人组成CD jfrog-mc-
-compose docker-compose -p MC down 解压缩归档文件的内容并转到解压缩的文件夹。
请注意:请确保在当前文件中合并您的自定义docker-compose.yaml
文件的新提取版本docker-compose.yaml
文件。Tar -xvf jfrog-mc-
- .tar.gz CD jfrog-mc- - .tar.gz 的内容
.env
文件在以前的安装中新建.env
此存档中的文件不需要复制版本,因为这会影响升级。运行安装程序脚本。
请注意:如果需要,脚本将提示您一系列强制输入,包括jfrogURL(自定义基础URL)而且joinKey.组成。/ config.sh
RPM / DEB。/ install.sh
启动并管理任务控制服务。
systemd操作系统Systemctl start|stop MC
systemv操作系统Service MC start|stop .使用实例
码头工人组成CD jfrog-mc-
-compose docker-compose -p MC up -d docker-compose -p MC ps docker-compose -p MC down - 访问任务控制从您的浏览器:
http:// < jfrogUrl > / ui
/,去指示板页中的应用程序模块。 检查任务控制日志。
tail -f $JFROG_HOME/mc/var/log/console.log
手动升级RPM/Debian
停止当前服务器。
systemd操作系统Systemctl stop MC
systemv操作系统服务MC停止
解压缩归档文件的内容并转到解压缩的文件夹。
Tar -xvf jfrog-mc-
- .tar.gz CD jfrog-mc- - .tar.gz 配置Elasticsearch。
如果你从任务控制4.5版本升级。x和更低,您需要升级Elasticsearch。这个包可以定位于提取的内容在
jfrog-mc - <版本> < rpm | deb > /第三方/ elasticsearch / elasticsearch-oss - <版本>。< rpm | deb >。
升级步骤请参见Elasticsearch文档.的共享配置中添加以下标志,将Elasticsearch的外部实例连接到任务控制
美元JFROG_HOME / mc / var / etc /系统。
yaml
可以跳过文件和步骤(6)。Shared: elasticsearch: external: true
当使用任务控制附带的Elasticsearch时,建议安装Search Guard插件。这将有助于确保与Elasticsearch的安全通信。
搜索守护包可以位于所提取的内容处
jfrog-mc - <版本> < rpm | deb > /第三方/ elasticsearch / search-guard——<版本> . zip
.
安装步骤请参见Search Guard文档.- 添加一个admin用户到Search Guard,以确保与Elasticsearch进行认证通信。
Search Guard配置接受散列密码。使用以下命令为密码生成哈希。另外,在上面步骤(5)中指定的共享配置中添加此处生成的用户名和密码。
/etc/elasticsearch/plugins/search-guard-7/tools/hash.sh -p
#这将输出一个散列密码( ),复制它 准备配置片段,使用从上一步获得的散列密码添加一个新用户(admin)
: hash: " " backend_roles:—"admin" description: "Insight弹性管理员用户" 将上面的代码段粘贴到该文件的末尾
sg_internal_users.yml
位于/等/ elasticsearch / plugins / search-guard-7 / sgconfig /
- 启用对“_cluster/health”端点的匿名访问。这是检查Elasticsearch集群运行状况所必需的。
在此文件中启用匿名认证
sg_config.yml
在/etc/elasticsearch /插件/ search-guard-7 / sgconfig /
Sg_config: dynamic: http: anonymous_auth_enabled: true #设置为true
映射匿名用户
sg_anonymous
到后端角色sg_anonymous_backendrole
在这个文件中g_roles_mapping.yml
在/etc/elasticsearch /插件/ search-guard-7 / sgconfig
Sg_anonymous: backend_roles:—sg_anonymous_backendrole
将此代码段添加到该文件的末尾
sg_roles.yml
位于/等/ elasticsearch
/插件/ search-guard-7 / sgconfig
Sg_anonymous: cluster_permissions:—cluster:monitor/health
在Red Hat兼容的Linux发行版上,以根用户身份将任务控制作为服务安装。
rpmYum -y install ./mc/mc.rpm
DebianDPKG -i ./mc/mc.deb
- 设置Artifactory连接细节.
启动和管理任务控制.
Service MC start|stop .使用实例
从浏览器访问任务控制:
http:// < jfrogUrl > / ui /
,去指示板页中的应用程序模块。检查任务控制日志。
tail -f $JFROG_HOME/mc/var/log/console.log
Linux档案升级
停止当前服务器。
停止任务控制cd $JFROG_HOME/mc/app/bin ./mc.sh停止
配置Elasticsearch。
如果你从任务控制4.5版本升级。x和更低,您需要升级Elasticsearch。这个包可以定位于提取的内容在
mc / app /第三方/ elasticsearch / elasticsearch-oss - <版本> gz
.
升级步骤请参见Elasticsearch文档.的共享配置中添加以下标志,将Elasticsearch的外部实例连接到任务控制
美元JFROG_HOME / mc / var / etc /系统。
yaml
可以跳过文件和步骤(6)。Shared: elasticsearch: external: true
当使用任务控制附带的Elasticsearch时,建议安装Search Guard插件。这将有助于确保与Elasticsearch的安全通信。
搜索守护包可以位于所提取的内容处
mc / app /第三方/ elasticsearch / search-guard - <版本> . zip
安装步骤请参见Search Guard文档.- 添加一个admin用户到Search Guard,以确保与Elasticsearch进行认证通信。
Search Guard配置接受散列密码。使用以下命令为密码生成哈希。另外,在上面步骤(5)中指定的共享配置中添加此处生成的用户名和密码。
/etc/elasticsearch/plugins/search-guard-7/tools/hash.sh -p
#这将输出一个散列密码( ),复制它 准备配置片段,使用从上一步获得的散列密码添加一个新用户(admin)
: hash: " " backend_roles:—"admin" description: "Insight弹性管理员用户" 将上面的代码段粘贴到该文件的末尾
sg_internal_users.yml
位于/etc/elasticsearch /插件/ search-guard-7 / sgconfig /
- 启用对“_cluster/health”端点的匿名访问。这是检查Elasticsearch集群运行状况所必需的。
在此文件中启用匿名认证
sg_config.yml
在/etc/elasticsearch /插件/ search-guard-7 / sgconfig /
Sg_config: dynamic: http: anonymous_auth_enabled: true #设置为true
映射匿名用户
sg_anonymous
到后端角色sg_anonymous_backendrole
在这个文件中g_roles_mapping.yml
在/etc/elasticsearch /插件/ search-guard-7 / sgconfig
Sg_anonymous: backend_roles:—sg_anonymous_backendrole
将此代码段添加到该文件的末尾
sg_roles.yml
位于/etc/elasticsearch
/插件/ search-guard-7 / sgconfig
Sg_anonymous: cluster_permissions:—cluster:monitor/health
解压缩归档文件的内容并转到解压缩的文件夹。
解压Tar -xvf jfrog-mc-
-linux. Tar .gz 替换现有的美元JFROG_HOME / mc /应用程序有了新的应用程序文件夹中。
升级#导出变量以简化命令Export JFROG_HOME=/opt/jfrog Export JF_NEW_VERSION=/opt/jfrog/mc-4。cp -r $JFROG_HOME/ app $JFROG_HOME/mc #删除提取的新版本rm -rf $ jfrog_new_version
运行迁移脚本删除旧的服务目录。
使用与当前Mission Control安装相同的权限运行迁移脚本。这个脚本将删除旧的服务目录,路由器中冗余的服务yaml文件,并根据新的文件系统布局将当前配置转换为新的配置格式。$JFROG_HOME变量指向新的安装导出JFROG_HOME=< jfrog目录的全路径,例如:/opt/jfrog> cd $JFROG_HOME/mc/app/bin ./ migration. sh通过查看以下文件,确认迁移已经成功完成。yaml配置:$JFROG_HOME/mc/var/etc/system。yamlThis newly created file will contain your current custom configurations in the new format.
管理任务控制。
美元JFROG_HOME / app / bin / mc.sh开始|停止
- 访问任务控制从您的浏览器:
http:// < jfrogUrl > / ui /
,去指示板页中的应用程序模块。 检查任务控制日志。
tail -f $JFROG_HOME/mc/var/log/console.log
执掌升级
一旦有了新的图表版本,就可以更新部署了。
不相容的升级
如果新版本与现有部署版本不兼容(请参阅相关的更新日志),你需要做以下工作:
- 在旧版本旁边部署一个新版本(并设置一个新的版本名)
- 将配置和数据从旧部署复制到新部署
数据导出是通过一个名为jfmcDataExport.sh
(在任务控制图的文件目录下可用)。
升级。
- 验证您已经将Artifactory升级到v.7x。有关更多信息,请参见执掌升级.
将现有的部署版本更新到更新后的版本。
头盔升级任务控制jfrog/任务控制
停止旧的任务控制pod(将副本缩小到0)(PostgreSQL仍然存在)。
$ kubectl scale statefulsets
- task -control——replicas=0 - 按照以下方法从旧的PostgreSQL实例导出数据。
连接到旧的PostgreSQL pod(你可以通过运行
库贝特尔去拿吊舱
).$ kubectl exec -它
-postgresql bash 拷贝“jfmcDataExport.sh”文件,执行如下命令。
$ kubectl cp ./jfmcDataExport.sh
-postgresql:/tmp/jfmcDataExport.sh $ chown postgres:postgres /tmp/jfmcDataExport.sh $ su postgres -c "PGPASSWORD=password bash /tmp/jfmcDataExport.sh——output=/tmp"如果你是2x图表(操作系统用户postgres不存在)运行./jfmcDataExport.sh——output=/tmp并提供jfmc用户密码 将导出的文件复制到本地系统。
$ kubectl cp
-postgresql:/tmp/jfmcDataExport.tar.gz ./jfmcDataExport.tar.gz
- 安装新的任务控制并复制导出的文件。
- 运行
舵安装
与新版本
被称为mission-control-new
. 复制导出的tar文件到新的任务控制吊舱。
$ kubectl cp ./jfmcDataExport.tar.gz
-mission-control:/opt/jfrog/mc/var/bootstrap/mc/jfmcDataExport.tar.gz -c mission-control .gz - 重新启动新的任务控制舱。
- 验证导入是否成功。文件名应重命名为
jfmcDataExport.tar.gz.done
(将被重命名为jfmcDataExport.tar.gz.failed
如果导入过程失败)。
- 运行
运行以下命令删除旧的任务控制部署和头盔释放。
helm delete
从浏览器访问任务控制:
http:// < jfrogUrl > / ui /
,然后去安全与合规页中的应用程序模块。检查您部署的Helm释放的状态。
舵位,任务控制
任务控制现在应该可以了。