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的版本了
(或者采用该博客的方法)
Buildcd./gradlew distDocker
再运行这行命令后首先遇到了下图的问题,显示我fetch不到一个压缩包,实际上我是可以直接打开的,在issue也有人遇到了相关的情况,包括一些博客也有提到,是Docker镜像的问题,但是我在服务器搭了梯子再运行上述命令还是失败了
解决方法主要参考这篇博客,通过更换Docker源的问题初步解决
继续运行部署命令,遇到了如下的问题,在查询了诸多解决方法无果后重启服务器解决了,reboot大法好
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均有提到,但是在尝试了多种方法后仍未解决,留待更新。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)