写点什么

Serverless Desktop 上手

作者:刘宇
  • 2021 年 12 月 15 日
  • 本文字数:2454 字

    阅读完需:约 8 分钟

Serverless Desktop 上手

ServerlessDesktop 秘钥信息配置

秘钥说明

秘钥是本地客户端访问云资源的关键凭证,只有配置好相应的秘钥信息之后,ServerlessDesktop 才能对应用进行正确的部署联调等操作。本文以阿里云秘钥配置为例,来向大家展示如何利用 ServerlessDesktop 进行秘钥配置

操作入口

客户端下载完毕后,如果您没有配置秘钥信息,会有多个地方可以帮助您进行配置


入口 1


ServerlessHub -> 添加秘钥



入口 2


左下角配置 Icon -> 添加秘钥


配置

打开添加秘钥对话框后展示出如下效果



默认选择的是 alibaba 也就是阿里云秘钥,您可以根据需要自行切换到其他的云,每多云对应的配置属性都不相同,比如阿里云的秘钥信息需要三个属性 AccountID, AccessKeyId,AccessKeySecret,接下来我们可以点开 "查看秘钥信息安装说明" 来获取这三个关键属性


AccountID 获取


获取地址 https://account.console.aliyun.com/v2/#/basic-info/index



AccessKey 及 AccessKeySecret 获取


获取地址 https://usercenter.console.aliyun.com/#/manage/ak


如果您是新用户,需要点击此页面上的”创建 AccessKey“ 创建新的 Ak,Sk,如果是老用户可以直接使用已有的 Ak,Sk, 不过 Ak 的部分需要通过手机验证以进一步显示


填写别名

三个属性都获取完毕后,对号入座即可,最后还有一个关键的属性"秘钥别名",这也是一个关键属性,秘钥别名通常是在 S 工具的配置文件 s.yaml 需要用到的 access 属性,S 的执行引擎会通过这个别名解析到真正的秘钥信息。这里我们写入”default“ 即可,一般情况下会通过 defaul 别名找到对应的 秘钥真实信息进行应用的部署处理工作



秘钥管理


配置好秘钥后,可以通过点击 左下角配置 Icon,查看配置中心的秘钥,在这里您可以选择继续添加秘钥,或者删除以前不用的秘钥。另外 S 工具会对秘钥进行加密处理,防止因显式透出引起秘钥信息泄露


ServerlessDesktop 可视化配置说明

为什么有可视化配置

市面上的 Serverless 开发者工具通常都有自己的一套配置规范,用来对应用进行约束定义。 但往往配置项会比较复杂不容易阅读理解。Serverless Devs 为了更加友好的帮助开发者理解每一个配置项的含义,提供了可视化配置服务能力。

配置项组成

基本配置


这部分包括版本号,项目名,全局变量,秘钥信息 4 个部分,值得关注的是全局变量秘钥配置


  • 全局变量在这里定义可以被下面所有的 service 共享。比如我们在全局变量中定义了 domain: xxxx,则在 service 的属性里可以通过 {env.name}(从 process.env 获取值),以及 ${path('xxx')} 路径地址等

  • 秘钥配置则会通过别名取的对应的具体 ak,sk 凭证信息,用来操作云端资源


服务配置


服务是 Serverless Devs 对具备独立功能模块的抽象,一个项目由一个或多个 service 组成每一个 service 包括服务名,操作指令,执行组件,执行动作,以及属性信息组成,这些元素在我们的可视化面面都有完整的呈现。


服务属性说明


每一个服务都有唯一的执行组件,比如这里的服务是依赖 fc 组件,服务的执行指令会跟组件的内部方法对应,比如 fc 组件有 deploy,invoke 等方法,那么这个服务也会有这样的操作指令,服务的属性配置是跟组件的属性设置说明配对的,服务的属性配置好之后会在执行的时候传入到组件的方法中。另外 服务还包括了执行动作,可以做一些组件执行前后的动作,比如安装依赖,删除不用的环境变量等。


执行说明

每一个服务都有自己的"执行"按钮,另外对于整个项目而言,你可以进行“全量操作”,就是对所有的服务进行统一的指令执行。


可视化配置和编辑器联动

在配置信息视图中,左侧的可视化操作部分和右侧的代码编辑器是互通互联的,对于属性细节的配置更适合用左边的可视化能力,但是对于更复杂的配置,比如你复制粘贴其他应用的模板希望移植到现在应用上。更适合粘贴到左边的编辑器中,注意需要 ctrl/command + s 之后才能生效

ServerlessDesktop 工作空间

两种视角

打开工作空间,我们可以看到标题栏旁边选择框提供了两种视角的选择, 用户视角以及开发者视角,ServerlessDesktop 为开发者和普通用户都提供了良好的工作支持,您既可以作为其中单一角色来使用 ServerlessDesktop,也可以同时兼具两种角色完成 Serverless 应用的开发部署或者 应用模板及组件的开发上传

用户视角

针对只使用 ServerlessDesktop 初始化及管理自己应用的用户,在用户视角下,使用者可以看到有两个 tab 切, “我的创建” 及“我的收藏”,顾名思义, 我的创建是指用户创建的项目,可以是从应用中心初始化的项目,也可以是从本地导入的项目,而“我的收藏”则是在应用市场上标记加星的应用




应用卡片列表


在“我的创建”下面,每一个应用卡片 上都展示了项目名,所使用的模板,创建时间,以及本地存放的路径,可以随时查找相应的来源信息。


通过对卡片进行点击进入到“应用详情”可以看到应用详情包含了所有的可以操作能力,包括基本信息,配置信息,可观测,压测,端云调试等



基本信息的说明参看上图,配置信息部分则可以查看


《可视化配置介绍》

ServerlessDevs 端云调试

Serverless 应用开发 目前在调试上有比较大的困难,目前看大部分的云商服务其 函数运行空间对于用户是黑盒的,为了解决黑盒调试的问题,我们推出了端云调试的功能,方便广大开发者对自己的线上应用进行仿真调试,为了让开发者使用 本地 ide 对线上的代码进行 debug,并且不影响线上环境,ServerlessDevs 做了一些创新,本篇以阿里云函数计算为例,来演示一下如何对函数进行端云调试,目前端云调试支持语言为 python 以及 javascript,本次演示示例为 javascript

基本原理

《原理说明》

操作说明

以 refulapi 为例,(如何创建restfulapi?), 进入到 restfulapi 应用 的工作空间/应用详情


端云调试前置条件:



初始化环境


在 端云调试/云端资源及环境准备 面板点击“启动资源准备”(请确保 3001 端口没被占用)



出现“End of method: proxied” 成功结束



调试开始


切换到“本地调试配置”面板,首先打开 vscode 编辑器,并启动调试模式,在同时打上断点



点击“发起调用”



可以看到请求发起到达 debug 断点

用户头像

刘宇

关注

阿里云Serverless云布道师 2020.01.04 加入

阿里云Serverless产品经理,国防科大在读博士,《Serverless架构》、《Serverless实践》、《人人都能学会的Serverless架构》等书籍作者,Serverless Devs发起人,Anycodes在线编程负责人。

评论

发布
暂无评论
Serverless Desktop 上手