ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

蓝鲸离线部署二三事

2020-12-13 18:57:07  阅读:317  来源: 互联网

标签:virtualenv 离线 蓝鲸 agent BK PROXY pip 二三 proxy


概述

最近需求在离线环境下部署了蓝鲸5.1.29,但是由于依赖yum、pip源,因此在配置文件中设置了BK_PROXY,以便在部署中安装相关依赖组件。但是部署并没有一帆风顺,还是出乎意料的遇到了问题。下面我们来进行分享下。

问题

由于设置了BK_PROXY,在安装paas、cmdb、 app_mgr、job、bkdata、fta、gse_agent等组件没有问题,但是部署saas应用,如:bk_fta_solution、bk_nodeman时会出现问题:
(1)bk_install saas-o bk_fta_solutions控制台打印
控制台打印(2)/data/bkce/logs/paas_agent/agent.log(appo所在节点日志)
appo所在节点日志
究其原因是通过virtualenv创建虚拟环境时默认会安装seeder模块,如setuptools、pip、wheel,但是这些模块需要通过pip源安装,如果此时没有网络或本地pip源,会导致超时。我们已经设置了BK_PROXY来代理上网,但是为什么没有生效呢?

分析

无论通过开发者中心或是"bk_install saas-o bk_fta_solutions "安装saas时就会调用程序buildsaas。

# vim /data/bkce/paas_agent/paas_agent/etc/build/virtualenv/saas/buildsaas
# 其中第134行:
/opt/\$py_version/bin/virtualenv --system-site-packages --no-setuptools $WORKON_HOME/\$APP_CODE

此行作用就是创建虚拟环境,一旦执行就会出现如上图片中的问题。

我们通过添加"echo $BK_PROXY"打印到日志,发现是可以读取到代理的,但是virtualenv并没有使用代理。

参考中关于代理的使用,那么我们就应该知道如何解决了。

# vim /data/install/utils.fc
http_proxy=$BK_PROXY https_proxy=$BK_PROXY  virtualenv  -v --system-site-packages --no-setuptools /data/bkce/paas_agent/apps/Ensv/xxxxx
http_proxy=$BK_PROXY https_proxy=$BK_PROXY  pip
http_proxy=$BK_PROXY https_proxy=$BK_PROXY  yum

扩展:通过此行代码,我们还可以得到如下信息:

# 1.virtualenv命令所在位置
/opt/py27_e/bin/virtualenv
# 2.创建的虚拟环境所在目录
/data/bkce/paas_agent/apps/Envs

解决

  1. 确认BK_PROXY是否设置
    在/data/install/global.env 中查看BK_PROXY代理,但是即使设置了,在buildsaas中也不会调用,接下来我们还需要手动调整下buildsaas中的代码。

  2. virtualenv处使用代理
    在这里插入图片描述

  3. yum处使用代理
    在这里插入图片描述通过如上代码调整,可以实现saas的正常安装。如果不在代码中设置BK_PROXY代理,而是直接使用服务器的全局代理http_proxy,虽然也能安装成功,但是一直跳转到登录页 ,而无法登录。

​注意:buildsaas在哪台服务器,可以根据/data/install/install.config中appo所在节点进行查找。

总结

  1. 在未设置本地的yum源、pip源的情况下,蓝鲸并不能进行完全离线部署。当然在virtualenv创建虚拟环境后,我们可以自行导入pip离线包。
  2. 外网代理除使用BK_PROXY外,还是添加本地hosts方式代理上网,此种访问方式可以避免调整代码,但是需要逐个添加需要上外网的域名。

标签:virtualenv,离线,蓝鲸,agent,BK,PROXY,pip,二三,proxy
来源: https://blog.csdn.net/yanggd1987/article/details/111129282

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有