2022云原生编程挑战赛“边缘容器”赛题任务提交说明

简介: 2022云原生编程挑战赛“边缘容器”赛题任务提交说明

1. 本地开发环境配置

本地开发环境需要安装git 环境和docker 环境


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地址、用户名、密码。


相关实践学习
通过ACR快速部署网站应用
本次实验任务是在云上基于ECS部署Docker环境,制作网站镜像并上传至ACR镜像仓库,通过容器镜像运行网站应用,网站运行在Docker容器中、网站业务数据存储在Mariadb数据库中、网站文件数据存储在服务器ECS云盘中,通过公网地址进行访问。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
7月前
|
Cloud Native 中间件 调度
云原生信息提取系统:容器化流程与CI/CD集成实践
本文介绍如何通过工程化手段解决数据提取任务中的稳定性与部署难题。结合 Scrapy、Docker、代理中间件与 CI/CD 工具,构建可自动运行、持续迭代的云原生信息提取系统,实现结构化数据采集与标准化交付。
396 1
云原生信息提取系统:容器化流程与CI/CD集成实践
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
9月前
|
Kubernetes Cloud Native 区块链
Arista cEOS 4.30.10M - 针对云原生环境设计的容器化网络操作系统
Arista cEOS 4.30.10M - 针对云原生环境设计的容器化网络操作系统
289 0
|
存储 缓存 C++
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
C++ 标准模板库(STL)提供了一组功能强大的容器类,用于存储和操作数据集合。不同的容器具有独特的特性和应用场景,因此选择合适的容器对于程序的性能和代码的可读性至关重要。对于刚接触 C++ 的开发者来说,了解这些容器的基础知识以及它们的特点是迈向高效编程的重要一步。本文将详细介绍 C++ 常用的容器,包括序列容器(`std::vector`、`std::array`、`std::list`、`std::deque`)、关联容器(`std::set`、`std::map`)和无序容器(`std::unordered_set`、`std::unordered_map`),全面解析它们的特点、用法
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
590 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
存储 人工智能 调度
容器服务:智算时代云原生操作系统及月之暗面Kimi、深势科技实践分享
容器技术已经发展成为云计算操作系统的关键组成部分,向下高效调度多样化异构算力,向上提供统一编程接口,支持多样化工作负载。阿里云容器服务在2024年巴黎奥运会中提供了稳定高效的云上支持,实现了子弹时间特效等创新应用。此外,容器技术还带来了弹性、普惠的计算能力升级,如每分钟创建1万Pod和秒级CPU资源热变配,以及针对大数据与AI应用的弹性临时盘和跨可用区云盘等高性能存储解决方案。智能运维方面,推出了即时弹性节点池、智能应用弹性策略和可信赖集群托管运维等功能,进一步简化了集群管理和优化了资源利用率。
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
监控 安全 Cloud Native
阿里云容器服务&云安全中心团队荣获信通院“云原生安全标杆案例”奖
2024年12月24日,阿里云容器服务团队与云安全中心团队获得中国信息通信研究院「云原生安全标杆案例」奖。
|
人工智能 Kubernetes Cloud Native
阿里云容器服务,智算时代云原生操作系统
2024云栖大会,阿里巴巴研究员易立分享了阿里云容器服务的最新进展。容器技术已成为云原生操作系统的基石,支持多样化的应用场景,如自动驾驶、AI训练等。阿里云容器服务覆盖公共云、边缘云、IDC,提供统一的基础设施,助力客户实现数字化转型和技术创新。今年,阿里云在弹性计算、网络优化、存储解决方案等方面进行了多项重要升级,进一步提升了性能和可靠性。
|
Kubernetes Cloud Native Docker
云原生之旅:从容器化到微服务
本文将带领读者踏上云原生的旅程,深入探讨容器化和微服务架构的概念、优势以及它们如何共同推动现代软件的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务应用,并解释相关的配置和操作。无论你是云原生新手还是希望深化理解,这篇文章都将为你提供有价值的见解和实操指南。