溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行Serverless + CVM的實(shí)戰(zhàn)分析

發(fā)布時(shí)間:2021-12-16 11:10:48 來(lái)源:億速云 閱讀:139 作者:柒染 欄目:云計(jì)算

本篇文章為大家展示了如何進(jìn)行Serverless + CVM的實(shí)戰(zhàn)分析,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

項(xiàng)目背景

目前有客戶有需求對(duì)數(shù)量眾多的測(cè)試環(huán)境想通過(guò)非工作時(shí)間進(jìn)行關(guān)機(jī)操作,同時(shí)騰訊提供關(guān)機(jī)不收費(fèi)的 CVM 操作,一定程度可以節(jié)省 IT 開(kāi)支,每天早上工作時(shí)間提前進(jìn)行開(kāi)機(jī),如此如果人工來(lái)操作重復(fù)周期性的操作顯然非常不合適,但是共有云目前沒(méi)有提供這種對(duì)服務(wù)器定時(shí)開(kāi)關(guān)機(jī)操作的產(chǎn)品功能,只能利用其 API 來(lái)進(jìn)行,但是需要一臺(tái)具備公網(wǎng)能力的服務(wù)器來(lái)發(fā)起API調(diào)用請(qǐng)求,此時(shí)剛好利用 Serverless 的 Tencent Serverless Toolkit for VS Code 小試牛刀,本次示例利用騰訊云函數(shù)(SCF)簡(jiǎn)單示例下 Serverless 的一小部分功能。

之前由于沒(méi)有IDE,將程序部署到SCF后運(yùn)行不便與調(diào)試,現(xiàn)在有了神器Tencent Serverless Toolkit for VS Code,簡(jiǎn)單方便的本地配置,快速拉取云端函數(shù)并可以在本地模擬COS,CMQ,API網(wǎng)關(guān)等出發(fā)事件運(yùn)行還書(shū),本地化的開(kāi)發(fā),調(diào)試,可謂補(bǔ)齊了SCF不便于代碼上傳調(diào)試的缺點(diǎn),利用此插件可在本地快捷調(diào)試代碼,一鍵上傳程序,為SCF如虎添翼。

項(xiàng)目編寫(xiě)

1. 根據(jù)模版創(chuàng)建項(xiàng)目

如何進(jìn)行Serverless + CVM的實(shí)戰(zhàn)分析

2. 填寫(xiě)項(xiàng)目名稱

填寫(xiě)項(xiàng)目名稱完成項(xiàng)目創(chuàng)建

如何進(jìn)行Serverless + CVM的實(shí)戰(zhàn)分析

3. 了解項(xiàng)目結(jié)構(gòu)

在項(xiàng)目模版中,主要關(guān)注index.py 和template.yaml

  • Index.py 為業(yè)務(wù)邏輯代碼

  • Template.yaml 為騰訊云SCF配置相關(guān),如下為我的定時(shí)任務(wù)配置

    為提高安全性其中由于使用的了騰訊云的secretid/secretkey,將其作為變量放置在配置中,業(yè)務(wù)代碼從配置中獲取,

    其中也配置了超時(shí)時(shí)間以及定時(shí)cron

Resources:
  default:
    Type: TencentCloud::Serverless::Namespace
    cvm_oper:
      Properties:
        CodeUri: .
        Description: cvm oper
        Environment:
          Variables:
            secretid: AKIDZyGxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
            secretkey: kFUTDkxxxxxxxxxxxxxxxxxxxxxxxx
        Events:
          stop_cvm:
            Properties:
              CronExpression: 0 59 11 * * MON-FRI *
              Enable: true
            Type: Timer
        Handler: index.main_handler
        MemorySize: 128
        Runtime: Python3.6
        Timeout: 10
        VpcConfig:
          SubnetId: ''
          VpcId: ''
      Type: TencentCloud::Serverless::Function

編寫(xiě)代碼

1. 代碼程序

在此我利用騰訊云的CVM的SDK進(jìn)行了云服務(wù)器的停止與開(kāi)機(jī)操作,在此簡(jiǎn)單實(shí)例下cvm啟動(dòng)

其中有event,正式環(huán)境可以為其傳入自己業(yè)務(wù)需求的參數(shù)來(lái)處理具體業(yè)務(wù)邏輯。

2. 本地測(cè)試

在本地 IDE 進(jìn)行運(yùn)行測(cè)試

查看以及運(yùn)行成功,服務(wù)器也正常啟動(dòng)

上傳項(xiàng)目到云端

1. 上傳到云端進(jìn)行測(cè)試

2. 云端查看項(xiàng)目

云端測(cè)試

查看運(yùn)行日志

至此我們以及利用Tencent Serverless Toolkit for VS Cod完成了簡(jiǎn)單的項(xiàng)目編寫(xiě)部署,在此只是拋磚引玉,實(shí)際代碼需要考慮到傳入?yún)?shù),多項(xiàng)目協(xié)調(diào)部署等。

上述內(nèi)容就是如何進(jìn)行Serverless + CVM的實(shí)戰(zhàn)分析,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI