分类 华为云 下的文章

一边听着彦飞的视频,一边划拉着网页页面。反反复复看着这些网页,总是能有一些收获。

这不,之前测试华为云的函数计算,不小心把AK SK删除了。当时,也没想起来会影响什么。刚才看到了容器仓库,而仓库中有一个客户的容器镜像。心想,坏了,这个地方应该不能正常下载了。

虽然近期没有发布任务,也就没有发现问题,但是一旦有发布,势必会报错。

检查了一下codeup的部署逻辑,发现的确是从这里下载,而且是从客户的一台应用服务器上直接运行。

检查了一下,果然不能下载了。

那就重新认证一下吧。

华为云登录容器镜像仓库只需要AK SK的信息就可以了。

AK=xxx
SK=xxx
key=$(printf "$AK" | openssl dgst -binary -sha256 -hmac "$SK" | od -An -vtx1 | sed 's/[ \n]//g' | sed 'N;s/\n//') 
docker login -u cn-north-4@${AK} -p ${key} swr.cn-north-4.myhuaweicloud.com

2023-12-28T08:11:58.png
2023-12-28T08:12:05.png

在使用公有云的过程中,体验到了便捷性,但是也带来了一些资源浪费,尤其是晚上下班后ECS在空转的场景。

因此,搜索资料,尝试使用函数计算实现华为云ECS定时开关机。

参考:https://support.huaweicloud.com/bestpractice-functiongraph/functiongraph_05_1001.html

创建委托

登录华为云控制台
点击右上角“用户名”,点击“统一身份认证”
点击“委托”,点击“创建委托”
2023-12-19T03:13:56.png

委托信息如下:
2023-12-19T03:14:54.png

选择“企业项目视图”授权“ECS FullAccess”
2023-12-19T03:15:31.png

定时开机

打开华为云控制台,点击左上部分的资源列表,搜索“函数”,点击“图钉”将该资源添加到控制台资料列表方便下次查看。
2023-12-19T02:55:20.png

点击控制台左上部分资源列表,找到并点击“函数工作流”
2023-12-19T02:56:59.png

展开“函数”菜单,点击“函数列表”
2023-12-19T02:57:48.png

没有新建的话,可以点击新建。这里已经新建完成,梳理下配置的选项。

下载华为云开机zip包
https://functionstage-examples.obs.cn-north-1.myhuaweicloud.com/ecs-start-python.zip

点击“上传自”,选择“ZIP”
2023-12-19T02:58:48.png

点击“设置”,查看“常规配置”是否正确。
2023-12-19T03:00:05.png

点击“触发器”,选择“新建”触发器
2023-12-19T03:00:56.png

搜索“timer”字样,选择“定时触发器 (TIMER)”
选择“Cron表达式” CRON_TZ=Asia/Shanghai 0 9 * * *
输入“附加信息”:每天9点启动
点击保存

点击“权限”,确保此处选择的是第一步生成的“EcsOperation”
2023-12-19T03:03:06.png

点击“网络配置”,去掉“函数访问公网”,因为此处不需要访问公网资源。
2023-12-19T03:03:37.png

点击“环境变量”,分别输入region domain projectid whiteLists等信息
2023-12-19T03:04:20.png

projectid可以从“企业”->“项目管理”中,点击“名称”获得。
2023-12-19T03:17:38.png
whiteLists 可以从“云服务器控制台”->“实例与镜像”->“弹性云服务器”中相应位置获得
2023-12-19T03:19:35.png

点击“并发”,将单函数最大实例数修改为1。点击保存。
2023-12-19T03:04:59.png

定时关机

定时关机与定时开机设置基本一致,主要注意以下几点。

函数zip文件下载地址:https://functionstage-examples.obs.cn-north-1.myhuaweicloud.com/ecs-shutdown-python.zip

需要修改触发器时间CRON_TZ=Asia/Shanghai 0 20 * * *

环境变量需要增加type。
2023-12-19T03:06:33.png

结果如何,明天拭目以待。