1. 本地开发环境配置
2.创建阿里云容器镜像服务的镜像仓库
阿里云容器镜像服务(简称 ACR)是面向容器镜像、Helm Chart 等符合 OCI 标准的云原生制品安全托管及高效分发平台。
ACR 产品页 :https://www.aliyun.com/product/acr 。
①当前可以免费使用容器镜像服务 ACR 个人版,点击进入 ACR 控制台 https://cr.console.aliyun.com
本次练习任务请将仓库地域选择上海,选择个人实例进入。
②进入访问凭证页面,点击设置固定密码,并牢记密码便于后续镜像提交需要。
③进入命名空间页面,创建地址唯一的镜像仓库命名空间: 例如cloud-native-challenge
注意:命名空间可能存在已经占用的情况, 请自行确定命名空间的名称。
④根据任务/比赛要求选择对应的地域(本次练习选择上海),其他的按照自己需求选择或填写。
创建一新的镜像仓库:
命名空间: 选择上文中刚创建的命名空间名字,例如: cloud-native-challenge
仓库名称(固定名称): edge-proxy
仓库类型:私有,避免其他用户公开匿名拉取使用。
⑤选择代码源为本地仓库, 直接从本地直接推送至镜像仓库,灵活度更大,点击创建镜像仓库。
⑥页面自动跳转至对应的仓库基本信息。在操作指南的页面下,可以查看登录、拉取、推送等简单操作的指南。可直接复制公网地址,进行镜像的推送。
若命名空间为:cloud-native-challenge, 镜像仓库名称为:edge-proxy , 则整个镜像的地址为:registry.cn-shanghai.aliyuncs.com/cloud-native-challenge/edge-proxy。
为能够将本地镜像推送到刚刚创建的阿里云镜像仓库中, 需要按照第一步,使用 docker 命令登录阿里云镜像仓库。
3. 代码开发
fork 代码
访问 https://code.aliyun.com/openyurt/edge-proxy 代码仓库, 并fork 其代码到自己的代码仓库中,并使用git 命令clone 到本地, 在edge-proxy 代码框架基础上实现自己的业务逻辑,满足本次大赛对edge-proxy 的要求。
代码编译
使用make build 命令,编译代码, 检测是否能够编译成功
镜像推送
使用 make docker-build 命令在本地构建镜像:在 ACR 中选择上海 region 建立镜像仓库, 设置命名空间为 cloud-native-challenge, 镜像仓库名称为 edge-proxy ,可获得整个镜像完整地址为:registry.cn-shanghai.aliyuncs.com/cloud-native-challenge/edge-proxy
执行以下命令:
【make docker-build IMAGE_REPO=registry.cn-shanghai.aliyuncs.com/cloud-native-challenge IMAGE_TAG=v1.0 REGION=cn DOCKER_USERNAME=** DOCKER_PASSWD=**】
其中 DOCKER_USERNAME 指的是阿里镜像仓库的用户名, DOCKER_PASSWD 指的是阿里镜像仓库的密码。
若构建成功,则会在本地构建 registry.cn-shanghai.aliyuncs.com/cloud-native-challenge/edge-proxy:v1 的镜像,同时会自动 push 到阿里云镜像仓库,且会在本地 _output/ 目录下生成manifest.yaml 文件, 用于本地开发测试。
具体如何进行本地开发测试, 请详细阅读代码里的 README.md 文件
4. 提交评测任务
点击边缘赛题赛道,左侧提交结果,输入刚刚构建好的镜像仓库的地址,以及用户名,密码,点击确定,最后点击提交结果按钮,则会自动触发官方评测程序,进行评测。
注意:创建docker运行有20分钟的超时设定。也就是说20分钟没有运行完,将会停止评测。 如果返回的评测日志中包含关键字“trying and failing to pull image", 表示拉取不到image。需要检查image地址、用户名、密码。