栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

OpenWhisk部署指南(未完待续)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

OpenWhisk部署指南(未完待续)

OpenWhisk是开源的Serverless平台,Github上的地址,虽然Github上有着部署的相关文档,但还是遇到了不少的问题,将安装过程及问题记录如下。

首先是将项目Clone到本地,进入OpenWhisk目录下
# Install git if it is not installed
sudo apt-get install git -y

# Clone openwhisk
git clone https://github.com/apache/openwhisk.git openwhisk

# Change current directory to openwhisk
cd openwhisk

安装JDK8

(这里比较推荐自己安装并部署好环境变量,便于管理,JDK的安装部署网上有很多教程就不贴出来了)

在 /openwhisk路径下执行以下命令安装 Open JDK8
# Install all required software
(cd tools/ubuntu-setup && ./all.sh)

执行以下命令安装 Oracle JDK 8
# Install all required software
(cd tools/ubuntu-setup && ./all.sh oracle)

这里需要注意到一点是,这个命令不仅是安装JDK,其他需要的一些需要的软件它也会部署。
根据我的经历,这里它会默认安装python2和python3,并且默认的python环境是python2,当默认是python2时运行部署命令会出现下面的问题,可以用https://stackoverflow.com/questions/69502341/error-you-are-using-pip-version-8-1-1-however-version-21-2-4-is-available-you的解决方案去解决

更新:这里还是修改下python的默认为python3

root@amax7:/usr/local/bin# vi ~/.bashrc 

root@amax7:/usr/local/bin# source ~/.bashrc 

这里再运行python --version命令可以看到已经变为python3的版本了

(或者采用该博客的方法)

Build
cd 
./gradlew distDocker

再运行这行命令后首先遇到了下图的问题,显示我fetch不到一个压缩包,实际上我是可以直接打开的,在issue也有人遇到了相关的情况,包括一些博客也有提到,是Docker镜像的问题,但是我在服务器搭了梯子再运行上述命令还是失败了

解决方法主要参考这篇博客,通过更换Docker源的问题初步解决

继续运行部署命令,遇到了如下的问题,在查询了诸多解决方法无果后重启服务器解决了,reboot大法好

CouchDB部署

CouchDB的部署主要参考了这篇文章
根据github的教程,通过dblocal.ini会配置以下的变量值

[db_creds]
db_provider=
db_username=
db_password=
db_protocol=
db_host=
db_port=

我在这里遇到的问题是我没有dblocal.ini这个文件,所以无法配置,根据文章的教程,可以先创建一个.sh文件,如下

mkdir /home/logconf 这里可以选择其他的文件,用于保存log,由于配置和日志默认保存路径为/tmp,机器重启时会被清空
vim wsk_env.sh
export OW_DB=CouchDB
export OW_DB_USERNAME=openwhisk
export OW_DB_PASSWORD=openwhisk
export OW_DB_PROTOCOL=http
export OW_DB_HOST=127.0.0.1
export OW_DB_PORT=4444 这个端口最好不选 443,openwsk 最后启动的 nginx 占用 443,避免冲突
export OPENWHISK_TMP_DIR=/home/logconf

之后,开始进行ansible安装

source openwsk_env.sh
cd ansible
ansible-playbook -i environments/local setup.yml

执行完后再打开/openwhisk/ansible/dblocal.ini如下所示

根据参考的文章,CouchDB配置部分就到此结束了,但是我在后面的部署中CouchDB还是遇到了一些问题,留待更新验证。

更新

当我再次运行,./gradlew distDocker 命令时遇到了如下的问题,检查发现是9100端口号被占用,用了这篇文章的解决方案,这里就不再赘述了


接着切换到ansible路径下依次运行如下命令(参照github)

cd 
./gradlew distDocker
cd ansible
ansible-playbook -i environments/$ENVIRONMENT couchdb.yml
ansible-playbook -i environments/$ENVIRONMENT initdb.yml
ansible-playbook -i environments/$ENVIRONMENT wipe.yml
ansible-playbook -i environments/$ENVIRONMENT openwhisk.yml

# installs a catalog of public packages and actions
ansible-playbook -i environments/$ENVIRONMENT postdeploy.yml

# to use the API gateway
ansible-playbook -i environments/$ENVIRONMENT apigateway.yml
ansible-playbook -i environments/$ENVIRONMENT routemgmt.yml

但是再运行到openwhisk.yml时始终运行不成功,如下所示,#4303 #4485
等issue均有提到,但是在尝试了多种方法后仍未解决,留待更新。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/572603.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号