从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任务控制中心。x只兼容JFrog Artifactory v7.x。要升级,你必须首先安装JFrog Artifactory 7.x。有关更多信息,请参见安装Artifactory。
在任务控制4.x中引入了几个新概念,改进安装和定制流程。有关更多信息,请参见更新内容:自托管。
升级到版本4。x,您需要首先解压缩Mission Control的安装程序存档,而不安装服务,然后使用以下迁移过程导出/导入许可证。
当使用任务控制之前4.7.5释放,并使用Export<>Import功能来复制/复制任务控制实例,许可证桶应该在导入后手动加载,因为它们不包括在导出中。
- 下载任务控制。
提取压缩归档文件的内容并转到提取的文件夹。
jfrog-mc-
- .tar.gz CD jfrog-mc- - .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"
Postgres在Docker容器中docker 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=数据库服务器主机(默认值:"127.0.0.1")——port= port数据库服务器端口(默认值:"5432")——user= user数据库用户名(默认值:"jfmc")——database=要连接的数据库数据库名(默认值:"mission_control")——schema=要连接的数据库架构名(默认值:"jfmc_server")——output=要创建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时需要。在运行旧版本的同一台服务器上。
RPM -删除旧的软件包#卸载任务控制yum remove jfmc rm -fr /var/opt/jfrog/ Mission - Control #卸载PostgreSQL/ opt/PostgreSQL/9.6/ Uninstall - PostgreSQL rm -fr /var/opt/postgres #服务/etc/systemd/system/multi-user.target.wants / postgresql - 9.6。service systemctl daemon-reload systemctl reset-failed #For SystemV系统#卸载Elasticsearch yum remove -y Elasticsearch -oss rm -fr /etc/elasticsearch rm -fr /usr/share/elasticsearch . conf
Docker安装—停止并移除容器#安装docker-compose -f ./jfmc-compose。. json -p jfmc down #对于docker安装任务控制停止docker ps -a——format '{{}。grep ^jfmc_* | xargs docker rm -f
Debian -删除旧包卸载PostgreSQL/ opt/PostgreSQL/9.6/ Uninstall - PostgreSQL rm -fr /var/opt/postgres rm -rf /var/spool/mail/postgres 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 #For SystemV system rm -rf /etc/init.d/ postgresql -9.6 #卸载Elasticsearch
- 安装任务控制系统。
复制导出的数据。
mkdir -p $JFROG_HOME/mc/var/bootstrap/mc cp /tmp/jfmcDataExport.tar.gz $JFROG_HOME/mc/var/bootstrap/mc #注:以下只需要用于docker-compose installer chown -R 1050:1050 $JFROG_HOME/mc/var/bootstrap
重新启动任务控制。
- 验证导入是否成功。文件名应该重命名为
jfmcDataExport.tar.gz.done
。它将被重命名为jfmcDataExport.tar.gz.failed
如果导入过程失败。 检查任务控制日志。
$JFROG_HOME/mc/var/log/console.log . tail
从版本4升级。X到4.x
升级到任务控制4.6.x
支持以下升级方式:
升级任务控制高可用性集群时,请确保同时触发所有节点的升级过程。
交互式脚本升级(推荐)
它支持所有的安装类型,包括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
文件。jfrog-mc-
- .tar.gz CD jfrog-mc- - 的内容
.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
/,去吧。指示板选项卡应用程序模块。 检查任务控制日志。
$JFROG_HOME/mc/var/log/console.log . tail
手动RPM/Debian升级
停止当前服务器。
systemd操作系统Systemctl stop MC
systemv操作系统服务MC停止
提取压缩归档文件的内容并转到提取的文件夹。
CD jfrog-mc-
- .tar.gz 配置Elasticsearch。
如果您是从任务控制4.5版本升级。x及以下版本,则需要升级Elasticsearch。这个包可定位于提取的内容在
jfrog-mc - <版本> < rpm | deb > /第三方/ elasticsearch / elasticsearch-oss - <版本>。< rpm | deb >。
升级步骤请参考Elasticsearch文档。当将Elasticsearch的外部实例连接到Mission Control时,在的Shared Configurations中添加以下标志
美元JFROG_HOME / mc / var / etc /系统。
yaml
文件和步骤(6)可以跳过。Shared: elasticsearch: external: true
使用任务控制自带的Elasticsearch时,建议安装Search Guard插件。这将有助于确保与Elasticsearch的安全通信。
搜索保护包可以位于提取的内容在
jfrog-mc - <版本> < rpm | deb > /第三方/ elasticsearch / search-guard——<版本> . zip
。
有关安装步骤,请参见搜索守卫文件。- 添加一个admin用户到Search Guard,以确保与Elasticsearch的认证通信。
Search Guard配置接受散列密码。使用以下命令生成密码的散列。此外,按照上面步骤(5)中指定的,在共享配置中添加这里生成的用户名和密码。
/etc/elasticsearch/plugins/search-guard-7/tools/hash.sh -p
#这将输出一个散列密码( ),并复制它 准备配置代码片段,以使用从上一步获得的散列密码添加一个新(admin)用户
: hash: " " backend_roles: - "admin" description: "Insight Elastic admin用户" 将上面的代码段粘贴到该文件的末尾
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发行版上,以root用户将Mission Control作为服务安装。
rpminstall ./mc/mc.rpm
DebianDPKG - 1 ./mc/mc.deb
- 设置Artifactory连接详细信息。
启动和管理任务控制。
Service MC start / stop
从浏览器访问任务控制:
http:// < jfrogUrl > / ui /
,去吧。指示板选项卡应用程序模块。检查任务控制日志。
$JFROG_HOME/mc/var/log/console.log . tail
Linux Archive升级
停止当前服务器。
停止任务控制cd $JFROG_HOME/mc/app/bin ./mc.sh stop .sh
配置Elasticsearch。
如果您是从任务控制4.5版本升级。x及以下版本,则需要升级Elasticsearch。这个包可定位于提取的内容在
mc / app /第三方/ elasticsearch / elasticsearch-oss - <版本> gz
。
升级步骤请参考Elasticsearch文档。当将Elasticsearch的外部实例连接到Mission Control时,在的Shared Configurations中添加以下标志
美元JFROG_HOME / mc / var / etc /系统。
yaml
文件和步骤(6)可以跳过。Shared: elasticsearch: external: true
使用任务控制自带的Elasticsearch时,建议安装Search Guard插件。这将有助于确保与Elasticsearch的安全通信。
搜索保护包可以位于提取的内容在
mc / app /第三方/ elasticsearch / search-guard - <版本> . zip
有关安装步骤,请参见搜索守卫文件。- 添加一个admin用户到Search Guard,以确保与Elasticsearch的认证通信。
Search Guard配置接受散列密码。使用以下命令生成密码的散列。此外,按照上面步骤(5)中指定的,在共享配置中添加这里生成的用户名和密码。
/etc/elasticsearch/plugins/search-guard-7/tools/hash.sh -p
#这将输出一个散列密码( ),并复制它 准备配置代码片段,以使用从上一步获得的散列密码添加一个新(admin)用户
: hash: " " backend_roles: - "admin" description: "Insight Elastic admin用户" 将上面的代码段粘贴到该文件的末尾
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 $JF_NEW_VERSION/app $JFROG_HOME/mc #删除已提取的新版本rm -rf $JF_NEW_VERSION . x #删除应用程序rm -rf $JF_NEW_VERSION
运行迁移脚本,删除旧的服务目录。
以您在当前的Mission Control安装中拥有的相同权限运行迁移脚本。这个脚本将删除旧的服务目录,冗余的服务yaml文件在路由器和翻译你的当前配置到新的配置格式,根据新的文件系统布局。$JFROG_HOME变量指向新安装的导出JFROG_HOME=< jfrog目录的全路径,例如:/opt/jfrog> cd $JFROG_HOME/mc/app/bin ./ migration. sh检查迁移是否成功完成,可查看以下文件:—迁移日志:$JFROG_HOME/mc/var/log/migration.log—system. sh。$JFROG_HOME/mc/var/etc/system. conf配置文件。yamlThis newly created file will contain your current custom configurations in the new format.
管理任务控制。
美元JFROG_HOME / app / bin / mc.sh开始|停止
- 访问任务控制从你的浏览器:
http:// < jfrogUrl > / ui /
,去吧。指示板选项卡应用程序模块。 检查任务控制日志。
$JFROG_HOME/mc/var/log/console.log . tail
执掌升级
一旦有了新的图表版本,就可以更新部署。
不相容的升级
如果新版本与现有部署版本不兼容(请参阅相关的更新日志),你需要做以下工作:
- 在旧版本旁边部署新版本(并设置新的发布名称)
- 将配置和数据从旧部署复制到新部署
数据导出是通过迁移脚本完成的jfmcDataExport.sh
(可在任务控制图的文件目录下找到)。
升级。
- 验证您已将Artifactory升级到v.7x。有关更多信息,请参见执掌升级。
将已部署的版本更新为更新后的版本。
头盔升级任务控制jfrog/任务控制
停止旧的Mission Control pod(将副本缩减到0)(PostgreSQL保留)。
$ kubectl scale statfulsets
-mission-control——replicas=0 - 使用以下方法从旧PostgreSQL实例导出数据。
连接到旧的PostgreSQL pod(你可以通过运行
Kubectl得到豆荚
).$ kubectl exec -it
-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"如果是2张图表(操作系统用户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 - 重新启动新的任务控制舱。
- 验证导入是否成功。文件名应该重命名为
jfmcDataExport.tar.gz.done
(它将被重命名为jfmcDataExport.tar.gz.failed
(如果导入过程失败)。
- 运行
运行以下命令删除旧的任务控制部署和Helm版本。
helm delete
从浏览器访问Mission-Control:
http:// < jfrogUrl > / ui /
,然后去安全性与合规性选项卡应用程序模块。检查已部署的Helm版本的状态。
舵机状态控制中心
任务控制中心现在应该可以使用。