Docker+OpenFaas+Flask客户端环境配置以及harbor+rancher集群使用

Docker+OpenFaas+Flask客户端环境配置以及harbor+rancher集群使用

1. Matlab打包

1.1 Matlab文件打包

2. Python+matlab+Flask+Faas配置

2.1. 环境配置-客户端配置以及连接服务端

2.2 环境配置-基于flask-python的OpenFaas配置

2.3 自动生成基于python的OpenFaas工程

2.4 引入matlab包和数据

2.5 将python_matlab的tar(python_mcr.tar)包变成镜像

2.6 修改handler文件

2.7 自动生成requirements.txt 文件

2.8 创建dockerfile

2.9. 换下载源

3. 程序运行

3.1 安装依赖包

3.2 运行文件(正确流程)

3.3 打包上传的结果查看

 

1. Matlab打包

1.1 Matlab文件打包

  1. 写一个简单的matlab函数,plus_one.m。

2)进入library compiler应用进行函数打包。

下图中的Samples可以自动创建或者自行编写,这里自动创建plus_oneSample1.m,之后maltab中可以在for_redistribution_only/samples文件夹下自动生成用于python调用matlab的.py文件例子

       下图中的Files required中可以添加打包的函数(plus_one)调用的子函数。

       填写完成后即可点击Package进行打包,打包后生成plus_one.prj文件和plus_one文件夹。

       文件夹plus_one中的内容如下图所示

       在文件夹for_redistribution_files_only中,含有setup.py文件,该文件是执行python拓展包安装的文件。在路径for_redistribution_files_only/samples中含有python语言调用打包的matlab函数的示例程序plus_oneSample1.py,该示例程序根据library compiler中添加的Samples生成,非常值得参考。

 

2. Python+matlab+Flask+Faas配置

2.1. 环境配置-客户端配置以及连接服务端

1)客户端配置

在需要安装faas-cli的本地机器上安装docker,之后安装faas-cli:

windows用户(Git Bash)

$curl -sL https://cli.openfaas.com | sh

(Windows用户如果遇到网络问题导致下载失败,可直接将faas-cli.exe安装包放到用户根目录下的bin文件夹下,并把gitbash的安装的cmd目录加入系统环境变量classpath下或者path目录下,即可完成openfaas客户端的安装。)

 

2)客户端连接服务端

在本地机器的系统环境变量中设置一个名为的OPENFAAS_URL的变量,值为服务端的地址和端口

现在登入(可能需要打开一个新的终端命令行工具窗口,让环境变量生效),之后使用echo命令登入

本地测试是否连接成功:

GitBash中输入:

faas-cli version

(附:

1)查看环境变量是否设置成功

echo $OPENFAAS_URL

若无,添加环境变量

export OPERNFAAS_URL=*******

2)登入时若出错,可尝试以下两种解决方法:

第一种以管理员身份打开:

第二种输入命令时,最后加上密码

3)openfaas官方文档https://docs.openfaas.com/cli/templates/

Pycharm terminal 转换为GitBash

https://blog.csdn.net/u011519550/article/details/89855122

 

2.2 环境配置-基于flask-python的OpenFaas配置

安装flask包,之后才能用基于flask-python的OpenFaas

Gitbash中输入命令:(注意是faas-cli 命令)

 

faas-cli template pull https://github.com/openfaas-incubator/python-flask-template

可以看到工程的template路径下出现之前下载的包

 

2.3 自动生成基于python的OpenFaas工程

faas-cli new yourprojectname --lang python3-flask -g 网址和端口

 

2.4 引入matlab包和数据

将打包好的文件放到python相应的工程目录下(可手动拷贝或者使用COPY命令)

在terminal中cd到matlab包的for_redistribution_files_only中,执行:python setup.py install

注意修改dockerfile

在其中添加:RUN cd yourmatlabfunctionname/for_redistribution_files_only &&python setup.py install

 

2.5 将python_matlab的tar(python_mcr.tar)包变成镜像

docker load -i ‘文件位置’

 

2.6 修改handler文件

前面加上matlab环境路径配置代码:

import os

old_env = os.environ.get("LD_LIBRARY_PATH")
if old_env:
    old_env = os.environ['LD_LIBRARY_PATH'] = os.environ['LD_LIBRARY_PATH'] + \
                                              "/usr/local/MATLAB/MATLAB_Runtime/v97/runtime/glnxa64:" + \
                                              "/usr/local/MATLAB/MATLAB_Runtime/v97/bin/glnxa64:" + \
                                              "/usr/local/MATLAB/MATLAB_Runtime/v97/sys/os/glnxa64:" + \
                                              "/usr/local/MATLAB/MATLAB_Runtime/v97/extern/bin/glnxa64:"
else:
    old_env = os.environ['LD_LIBRARY_PATH'] = "/usr/local/MATLAB/MATLAB_Runtime/v97/runtime/glnxa64:" + \
                                              "/usr/local/MATLAB/MATLAB_Runtime/v97/bin/glnxa64:" + \
                                              "/usr/local/MATLAB/MATLAB_Runtime/v97/sys/os/glnxa64:" + \
                                              "/usr/local/MATLAB/MATLAB_Runtime/v97/extern/bin/glnxa64:"
os.environ['LD_LIBRARY_PATH'] = old_env

 

2.7 自动生成requirements.txt 文件

安装pipreqs:pip install pipreqs

cd到工程目录下,执行:pipreqs ./ --encoding=utf8 --force

 

2.8 创建dockerfile

在template的python-flask目录下,编写dockerfile,注意在其中加入修改成符合flask的目录结构

 

2.9. 换下载源

将sources.list拷贝到template的python-flask中,并在dockerfile中加入:

RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak
COPY sources.list /etc/apt/sources.list

(需要根据自己的目录结构进行修改,sources.list可自行百度创建)

附:需要根据工程需要,相应的修改index.py和yml文件

 

3. 程序运行

3.1 安装依赖包

1) pandas 包

升级pip 命令—此为安装到anaconda 环境中:

python -m pip install --upgrade pip

安装pandas 包

pip install pandas -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com/pypi/simple

也可以直接在pycharm interpreter 中安装

注:安装pandas时可能需要挂VPN

附:pandas包使用conda 命令安装时显示版本与py37不匹配,因此这里用pip

2) matlab matplotlib等包

直接在pycharm interpreter 中安装

 

3.2 运行文件流程

1)Docker打开

2)登录faas客户端

3)创建镜像

faas-cli build -f yourprojectname.yml

4)登录harbor

5) 上传镜像

faas-cli push -f yourprojectname.yml

6)部署镜像

faas-cli deploy -f yourprojectname.yml

 

3.3 打包上传的结果查看

登录harbor查看即可

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值