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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 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地址、用户名、密码。


相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
17天前
|
存储 搜索推荐 C++
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器2
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器
34 2
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器2
|
7天前
|
安全 Cloud Native Shell
云上攻防:云原生篇&Docker容器逃逸
本文介绍了Docker的基本概念及其对渗透测试的影响,重点讲解了容器逃逸的方法。Docker是一种轻量级的容器技术,与虚拟机相比,具有更高的便携性和资源利用率。然而,这也带来了安全风险,特别是容器逃逸问题。文章详细描述了三种常见的容器逃逸方法:不安全的配置、相关程序漏洞和内核漏洞,并提供了具体的检测和利用方法。此外,还介绍了几种特定的漏洞(如CVE-2019-5736和CVE-2020-15257)及其复现步骤,帮助读者更好地理解和应对这些安全威胁。
云上攻防:云原生篇&Docker容器逃逸
|
11天前
|
Kubernetes Cloud Native 云计算
云原生之旅:构建你的第一个容器化应用
【8月更文挑战第75天】在数字化浪潮中,云原生技术成为推动企业创新和效率提升的关键动力。本篇文章将引导你开启云原生之旅,通过一个简易的步骤指南,帮助你构建并部署第一个容器化应用。我们将一起探索Docker容器的魅力,以及如何利用Kubernetes进行集群管理,实现服务的自动化部署、扩展和管理。无论你是云原生新手还是希望深化理解,这篇文章都将为你提供实践操作的启示和深入思考的契机。
|
16天前
|
消息中间件 负载均衡 Cloud Native
云原生之旅:从容器到微服务的架构演变
在数字化转型的风潮中,云原生技术以其灵活性、可扩展性和弹性而备受青睐。本文将通过一个虚拟的故事,讲述一个企业如何逐步拥抱云原生,实现从传统架构向容器化和微服务架构的转变,以及这一过程中遇到的挑战和解决方案。我们将以浅显易懂的方式,探讨云原生的核心概念,并通过实际代码示例,展示如何在云平台上部署和管理微服务。
|
17天前
|
存储 C++ 容器
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器1
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器
40 5
|
16天前
|
运维 监控 Cloud Native
云原生之旅:从容器到微服务的演进之路
本文将引导您踏上云原生技术的探索之旅,从容器技术的核心概念出发,逐步深入到微服务架构的世界。我们将一起揭开云原生的神秘面纱,探索它如何改变现代软件的开发、部署和运维方式。通过本文,您将获得对云原生技术基础的深刻理解,并激发您进一步探索和应用这些前沿技术的兴趣和灵感。
|
16天前
|
运维 Kubernetes Cloud Native
云原生之旅:从容器化到微服务架构的演进之路
在数字化转型的浪潮中,云原生技术如同一股清流,为现代软件开发和运维带来革命性的变化。本文将通过深入浅出的方式,探索云原生的核心概念、关键技术以及它们如何共同塑造了今天的云基础设施和服务模式。我们将一起走进云原生的世界,了解它如何影响应用程序的设计、部署和扩展,并揭示这一趋势背后的哲学和实践。
24 1
|
22天前
|
Kubernetes Cloud Native 持续交付
云原生之旅:Docker容器化与Kubernetes集群管理
【9月更文挑战第33天】在数字化转型的浪潮中,云原生技术如同一艘航船,带领企业乘风破浪。本篇文章将作为你的航海指南,从Docker容器化的基础讲起,直至Kubernetes集群的高级管理,我们将一起探索云原生的奥秘。你将学习到如何封装应用、实现环境隔离,以及如何在Kubernetes集群中部署、监控和扩展你的服务。让我们启航,驶向灵活、可伸缩的云原生未来。
|
23天前
|
负载均衡 Cloud Native 安全
云原生时代的开发者指南:从容器到服务网格
【9月更文挑战第32天】在云原生技术日益成为企业数字化转型的核心力量之际,了解其背后的理念与实践对于开发者而言至关重要。本文旨在通过浅显易懂的语言,为读者揭开云原生技术的神秘面纱,从容器化的基础谈起,逐步深入到服务网格的高级应用,带领开发者们在云原生的海洋中航行。
35 1
|
12天前
|
运维 Kubernetes Cloud Native
云原生时代的容器编排:Kubernetes入门与实践
【10月更文挑战第4天】在云计算的浪潮中,云原生技术以其敏捷、可扩展和高效的特点引领着软件开发的新趋势。作为云原生生态中的关键组件,Kubernetes(通常被称为K8s)已成为容器编排的事实标准。本文将深入浅出地介绍Kubernetes的基本概念,并通过实际案例引导读者理解如何利用Kubernetes进行高效的容器管理和服务部署。无论你是初学者还是有一定经验的开发者,本文都将为你打开云原生世界的大门,并助你一臂之力在云原生时代乘风破浪。