Apache OpenWhisk Runtime Docker SDK 安装与使用指南
目录结构及介绍
Apache OpenWhisk Runtime Docker SDK 被设计用于构建“黑盒”运行时环境。这个SDK特别适用于希望在OpenWhisk平台上部署自定义容器镜像作为功能处理单元的开发者。项目的主要目录及其内容概述如下:
sdk
: 包含了用于开发自定义运行时(即Docker镜像)的基础框架。docker
: 这个子目录包含了用于构建Docker镜像的所有必要文件。Dockerfile
: 构建Docker镜像的基本脚本。action
: 指定运行时可执行逻辑的具体位置。requirements.txt
: Python依赖库列表,仅当Python是你的行动语言时才适用。
启动文件介绍
Script buildAndPush.sh
提供了便利的功能以帮助构建并推送Docker镜像至用户的Docker Hub帐户中。以下是对该脚本使用的步骤:
-
安装基础骨架:
wsk sdk install docker
-
变更工作目录到骨架目录:
cd dockerSkeleton
-
使用自己的DockerHub用户名构建并推送Docker镜像:
./buildAndPush.sh <your_dockerhub_username>/whiskexample
-
创建一个基于构建好的Docker镜像的动作(action):
wsk action create dockerSkeletonExample --docker <your_dockerhub_username>/whiskExample
-
通过CLI测试动作:
wsk action invoke dockerSkeletonExample --blocking
确保所有必要的OpenWhisk命令行界面(CLI)工具已正确配置并且可以访问你的本地或远程OpenWhisk实例。
配置文件介绍
主要涉及以下几种类型的配置:
环境变量设置
为了使构建过程顺利进行,某些环境变量需被适当设定:
$OPENWHISK_HOME
: 应指向OpenWhisk核心仓库的根目录路径。$PREFIX_USER
: 此变量应表示你的DockerHub用户名前缀。$ROOTDIR
: 必须被设置为你正在工作的这个仓库的根目录。
一旦这些关键参数被定义好之后,你可以使用以下命令序列来完成OpenWhisk的重新部署以及配置支持Docker“黑盒”的运行时环境:
cd $OPENWHISK_HOME/ansible
ANSIBLE_CMD="ansible-playbook -i $[ROOTDIR]/ansible/environments/local"
$ANSIBLE_CMD setup.yml
$ANSIBLE_CMD couchdb.yml
$ANSIBLE_CMD initdb.yml
$ANSIBLE_CMD wipe.yml
$ANSIBLE_CMD openwhisk.yml
或者利用wskdev
工具创建指向目标ansible环境的软链接简化此流程:
ln -s $[ROOTDIR]/ansible/environments/local <chosen_directory_for_link>
其中<chosen_directory_for_link>
应该替换为你选择的链接名或目录路径,以便于在后续的自动化操作中调用这些预设的部署和初始化任务。