openwhisk部署

本文章主要参考了这两篇博文:OpenWhisk部署指南以及How to Set Up Apache OpenWhisk on Ubuntu 18.04。并结合自己部署时遇到的报错

安装git

sudo apt-get install git -y

将openwhisk项目克隆到本地

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

此处克隆项目,我有遇到一些由于网络的报错,比如connection refused。

处理方法是多次重复,以及尝试着切换了另一个网络就行了(比如刚开始是连接的校园网,不行的话就切换成手机热点,然后就克隆成功了)。(全程都挂着梯子)

 (上图是wifi网络改成连接手机热点后就成功clone了)

进入安装依赖的脚本所在目录

cd openwhisk/tools/ubuntu-setup

运行脚本,安装所有依赖

./all.sh

 运行后,应该会以红框内的docker restart结尾,否则就是出错了,且这一部分容易出各种错误,需留意 

build

cd <home_openwhisk>
./gradlew distDocker

这个报错是由于当前主机没有安装npm,执行下面的指令安装即可

sudo apt install -y npm

之后又遇到一个报错 

然后用玄学方法,梯子还一直开着,把原本连的校园网换成手机热点,然后,成功了.......

couchdb安装(参考官网)

sudo apt update && sudo apt install -y curl apt-transport-https gnupg
curl https://couchdb.apache.org/repo/keys.asc | gpg --dearmor | sudo tee /usr/share/keyrings/couchdb-archive-keyring.gpg >/dev/null 2>&1

上一行运行成功后会是这个

source /etc/os-release
echo "deb [signed-by=/usr/share/keyrings/couchdb-archive-keyring.gpg] https://apache.jfrog.io/artifactory/couchdb-deb/ ${VERSION_CODENAME} main" \
    | sudo tee /etc/apt/sources.list.d/couchdb.list >/dev/null
sudo apt update
sudo apt install -y couchdb

couchdb安装界面

选择standalong

erlang cookie自己是随便填的 

 

这个绑定地址我是填的0.0.0.0

 再后面就是默认用户名admin,输入密码的界面,我的密码填的openwhisk,后面还会用到。密码一定要记着。两次输入密码后安装成功

部署couchdb

sudo mkdir /home/logconf
sudo gedit wsk_env.sh

输入以下内容 

export OW_DB=CouchDB 
export OW_DB_USERNAME=admin  #admin是默认用户名,如果自己修改了,填自己的用户名
export OW_DB_PASSWORD=openwhisk  #这个是我安装couchdb时的密码,请修改成自己安装时输入的密码
export OW_DB_PROTOCOL=http
export OW_DB_HOST=172.17.0.1
export OW_DB_PORT=5984
export OPENWHISK_TMP_DIR=/home/logconf

 然后保存并退出

之后,使用ansible安装

source wsk_env.sh

 进入执行下面命令前,位置是在openwhisk目录下

cd ansible
sudo ansible-playbook -i environments/local setup.yml

运行后如图

 

sudo ansible-playbook prereq.yml

 

cd ..
sudo ./gradlew distDocker

cd ansible
sudo ansible-playbook initdb.yml

后来一次部署,在这一步报错。进入ansible文件夹中,能看到db_local.ini文件,查看该文件,发现其username和password并不是我们前面设置的值(账号admin,密码openwhisk)

那就是那一步配置失败了。我们在这个文件手动修改账号和密码

再重新运行, sudo ansible-playbook initdb.yml  就不会报错了

sudo ansible-playbook wipe.yml
sudo ansible-playbook openwhisk.yml

 openwhisk.yml运行时间比较长。

 如果成功运行到这样的结果,那其实openwhisk就能用了

运行docker ps,能看到以下几个容器

后面再运行

ansible-playbook postdeploy.yml

 

会这样,不过问题不大

cli工具下载

这个网址可以下载到各种版本的cli

Release 1.2.0 · apache/openwhisk-cli · GitHub

如果是ubuntu的话,可以直接执行如下指令

cd xxxxxxx/openwhisk/bin
//进入openwhisk目录下的bin文件夹中
wget https://github.com/apache/openwhisk-cli/releases/download/1.2.0/OpenWhisk_CLI-1.2.0-linux-amd64.tgz

 该指令会下载amd64的cli工具压缩包

下面将下载好的压缩包解压

tar -zxvf <下载好的压缩包>

下面将cli工具添加到环境变量中 

vim ~/.bashrc  //配置环境变量
export PATH=$PATH:/home/a123/openwhisk/bin //注意!!填自己的openwhisk bin路径
source ~/.bashrc //source下使文件生效 

在openwhisk目录下面进行对cli工具的配置 

./bin/wsk property set --apihost '172.17.0.1'
./bin/wsk property set --auth `cat ansible/files/auth.guest`

进行了以上配置之后,在命令行中输入以下内容并回车

wsk

就会出现如下的内容,这就说明wsk成功添加到环境变量中了

创建测试文件

sudo gedit hello.js
/**
 * Hello world as an OpenWhisk action.
 */
function main(params) {
    var name = params.name || 'World';
    return {payload:  'Hello, ' + name + '!'};
}

创建action

wsk -i action create hello hello.js

激活action并获得结果

wsk -i action invoke hello --result

出现这样的结果则说明部署成功 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值