首页> 自动化运维> 蓝鲸APP部署常见问题

[文章]蓝鲸APP部署常见问题

收藏
0 940 0

蓝鲸APP部署常见问题

黄小坚

【前言】

随着蓝鲸业务的推广,蓝鲸平台部署以及蓝鲸应用的部署工作逐渐增多;特别是蓝鲸应用的部署上线基本成为了IS技术部的成员的必备技能。蓝鲸应用的部署总会遇到这样或者那样的问题,本文对蓝鲸应用部署的常见问题做了简单解答,希望对大家有所帮助。

【正文】

应用的分类

蓝鲸应用可分为Smart应用以及自开发应用(我的应用)。

n  Smart应用

Smart应用是一个完整的应用包,包中包含了该应用所需的python,以及应用ID,版本等的配置文件,可以通过登陆开发者中心直接在Smart应用处上次应用包直接部署。


n  自开发应用

自开发应用需要在开发者中心中先创建该应用,然后上传应用进行部署。(注意:企业版创建应用后会默认往代码仓库推送应用框架代码,需要先删除框架代码,再上传应用代码进行部署


        

应用部署方式

蓝鲸应用的部署方式有两种:在线部署(从配置的PIP源下载应用所需python包),离线部署(从蓝鲸服务器固定位置获取python包),Smart应用部署方式都为离线部署。

 

n  部署方式更改

方法一:更改APPTAPPO上应用部署的配置文件,更改后需要重启APPT或者APPO


更改USE_PYPItrue,则是在线部署模式,获取python包的地址为PYTHON_PIP配置的地址,可以设置为企业内部的PIP源。

更改USE_PYPIfalse,则为离线部署模式,获取python包的地址为:蓝鲸安装路径+/paas_agent/support-files/pkgs。需要提前把蓝鲸应用所需的python包下载并放在该路径下(注意:python包下载时需要注意包的适用操作系统,以及python包的相关医疗包


        

方法二:修改蓝鲸应用的部署脚本(在APPT以及APPO服务器上),蓝鲸安装路+/paas_agent/paas_agent/etc/build/docker/builder (不需要重启服务)


         把其中判断是否使用PIP源的条件更改为false


如果需要修改在线部署的PIP源或者离线部署的python包地址亦可以直接修改脚本对应的$PYPI_SERVER_URL以及$PACKAGES_CONTAINER_PATH的值。


 

依赖相关系统包的应用部署

n  安装python-ldap模块,依赖openldap-devel

方法一:在我的应用代码下创建yum.txt文件,在文件中写上需要安装的系统包openldap-devel(适用于自开发应用部署),上传代码重新部署即可(需确保YUM源中存在该安装包)


 

方法二:修改蓝鲸应用的部署脚本(在APPT以及APPO服务器上),蓝鲸安装路+/paas_agent/paas_agent/etc/build/docker/builder (不需要重启服务)(注意:Smart应用修改的脚本路径为蓝鲸安装路+/paas_agent/paas_agent/etc/build/docker/saas/builder


修改builder,把需要安装的系统包直接写上:yum install openldap-devel -y&&ldconfig


 

n  安装cx_oracle模块,依赖oracle-client系统包

在蓝鲸服务器(APPTAPPO)上准备oracle客户端的以下四个rpm包,依次安装,

注意:Oracle服务器版本不得低于client版本两个大版本



安装的文件默认放在两个位置:

头文件:/usr/include/oracle/11.2/client64/

包文件:/usr/lib/oracle/11.2/client64/ ,包含{binlib}两个文件夹;

创建文件夹: mkdir -p /usr/lib/oracle/11.2/client64/network/admin/

创建监听文件,并在其中添加内容

vi /usr/lib/oracle/11.2/client64/network/admin/tnsnames.ora

ORCL =
        (DESCRIPTION =
                (ADDRESS = (PROTOCOL = TCP)(HOST = oracle
服务器ip)(PORT = 1521))
                (CONNECT_DATA =
              (SERVER = DEDICATED)
              (SERVICE_NAME = SID
) ) )

配置环境变量 vi  ~/.bashrc

export  ORACLE_HOME=/usr/lib/oracle/11.2/client64
export  TNS_ADMIN=$ORACLE_HOME/network/admin
export  NLS_LANG='simplified chinese_china'.ZHS16GBK
export  LD_LIBRARY_PATH=$ORACLE_HOME/lib 
export  PATH=$ORACLE_HOME/bin:$PATH

使配置完的环境变量生效 source ~/.bashrc

至此,应能在linux服务器上远程链接oracle数据库


vi /etc/ld.so.conf,在其末尾添加以下句式:/usr/lib/oracle/11.2/client64/lib

命令行输入ldconfig ,然后进行APP部署

 

共享文件挂载

某些自开发应用常常需要用到文件上传功能,但是由于蓝鲸企业版的正式环境是两台高可用的架构,上传的文件只能上传到其中一台服务器上,会导致应用有时候会找不到已上传的文件并进行操作(linux补丁,windows补丁,资源交付应用等都存在文件上传功能)。

解决办法:在两台高可用服务器间创建文件共享。

修改应用部署脚本(两台APPO上都需要更改),添加文件上传的映射路径(服务器路径映射到应用运行的docker容器路径,前者为本地路径,后者为容器的路径):


在两台正式服务器上创建该目录,并赋予APPS用户该目录的读写权限


登陆其中一台正式服务器,安装nfs服务,并配置目录共享(/etc/exports中配置)


登陆另一台正式服务器把共享的目录挂载到/data/bkee/bksaas(相对应的目录)下即可:


自动化运维
最近热帖
{{item.Title}} {{item.ViewCount}}
近期热议
{{item.Title}} {{item.PostCount}}