2020hdc.md 7.1 KB
Newer Older
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
1
+++
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
2
title = "<HDC.Cloud> openEuler黑客马拉松"
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
3 4 5 6
date = "2019-12-10"
tags = ["meetup", "summit"]
banner = "img/banners/banner-2020hdc.jpg"
author = "openEuler"
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
7
summary = "<HDC.Cloud> openEuler黑客马拉松"
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
8 9
+++

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
10 11 12 13 14 15 16 17
<div class="competition-nav competitionnav-fixed" id="menuinfo">
    <a data-menuanchor="section1" href="#section1">竞赛简介</a>
    <a data-menuanchor="section2" href="#section2">参赛要求</a>
    <a data-menuanchor="section3" href="#section3">赛题介绍</a>
    <a data-menuanchor="section5" href="#section5">大赛日程及报名安排</a>
    <a data-menuanchor="section6" href="#section6">奖项设置</a>
</div>

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
18
<h4 id="section1" style="text-align: center;">竞赛简介</h4>
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
19 20

华为HDC 2020 openEuler黑客松大赛,是华为公司面向全球操作系统爱好者举办的一场编程马拉松大赛。
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
21

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
22
华为在服务器操作系统领域已有近10年的技术积累,内部解决方案已广泛应用于运营商、政府、金融等行业ICT系统中。
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
23 24 25

华为鲲鹏处理器,兼容ARM架构,最大可集成了64个物理核,采用多合一SoC芯片架构,单颗处理器实现了CPU、 RoCE网卡、SAS控制器、桥片等4颗芯片的功能, 是业界领先的处理器产品。

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
26
针对鲲鹏处理器,华为在服务器操作系统的性能、可靠性、安全性等方面做了深度优化。
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
27

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
28 29 30 31
为了促进鲲鹏计算产业的发展和生态建设,华为将内部服务器操作系统解决方案进行开源,并命名为openEuler。当前openEuler内核源于Linux,支持鲲鹏及其它多种处理器,能够充分释放硬件的计算潜能。

本次大赛将通过“线上初赛+线下决赛”的形式,让广大参赛者进一步体验和熟悉基于鲲鹏处理器 + openEuler操作系统的基础架构环境 (构建、编译、部署、运行等),共同推动软硬件应用生态的创新和发展。

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
32
<h4 id="section2" style="text-align: center;">参赛要求</h4>
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
33 34 35

参赛对象:操作系统技术爱好者,如高校学生、开源社区贡献者、企业职员等

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
36
组队要求:2人(最多)/队
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
37

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
38
<h4 id="section3" style="text-align: center;">赛题介绍</h4>
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
39 40

##### 初赛内容
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

各大Linux操作系统发行版的OS基础容器镜像是用户构建应用镜像的基础,其大小对使用有比较大的影响;本题目重点解决如下问题:

a. 构建尽量小的容器基础镜像,减小应用镜像的体积

b. 提供跨架构的容器镜像构建工具,实现在x86平台上开发制作的容器镜像,可以在鲲鹏(ARM64)平台上运行

具体的要求如下:

a. 基于openEuler ISO构建最小的基础容器镜像

    1. 构建环境不限

    2. 生成的镜像包含基础能力(vim,bash,yum),但是不破坏应用包之间的依赖关系

    3. 需要给出安装的应用包列表

    4. 尽量删除无用、冗余数据

b. 编码实现异构镜像构建工具,并制作基于基础镜像的最小httpd服务镜像

    1. 在使用Intel X86处理器的本地设备(Desktop or Laptop)上通过本工具能够构建可以在基于华为鲲鹏处理器(ARM64)的运程服务器上运行的容器镜像

    2. 生成的容器镜像应该符合OCI规范
    
    3. 容器镜像构建工具需要具备Pull/Push/Build功能:

        Pull:
            • 参考docker命令行格式
            • 能够从容器镜像仓库中拉取public镜像
        Push:
            • 参考docker命令行格式
            • 能够上传镜像到容器镜像仓库(支持用户名、密码配置)
        Build
            • 参考Docker命令行格式:
            • 支持最简单语法(FROM,CP,RUN,PORT,CMD)

上述过程生成的镜像,可以在鲲鹏服务器/虚拟机上使用iSulad容器引擎正常运行。

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
80
##### 初赛验收标准
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

1. 参赛期间编写的代码需要公开可访问,且正确引用其他开源代码(如涉及)

2. 镜像需要符合OCI格式

3. 镜像需要上传到公开可获取的镜像仓库

4. 应用镜像的Dockerfile需要上传到公开可获取的git仓库

5. 镜像可以在鲲鹏服务器(ARM64)上正常运行

6. 项目获胜者的递进关系如下:

    a) 完成基础镜像者晋级

    b) 如果均完成a),完成httpd服务镜像者且能正常运行者晋级

    c) 如果均完成b),则httpd服务镜像最小者晋级

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
100
##### 初赛操作指南
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

1. OCI规范请参考 - https://github.com/opencontainers/image-spec

2. 代码实现参考项目:

    • https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html

    • https://www.tomczhen.com/2018/05/13/cross-platform-build-docker-image/

    • https://lantian.pub/article/modify-computer/build-arm-docker-image-on-x86-docker-hub-travis-automatic-build.lantian

    • https://github.com/docker/buildx

    • https://github.com/containers/buildah

3. openEuler操作系统请参考 - https://openeuler.org/

4. openEuler 操作系统 ISO可以在xxx(URL)获取

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
120
5. iSulad 使用指南: <a href="/doc/events/2020hdc/iSula容器用户指南.docx">点击下载</a>
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
121

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
6. 基于鲲鹏处理器云服务平台: 鹏城生态开发者云 - https://dw.pcl.ac.cn/cloud/login

    申请鲲鹏虚拟机指南(<b style="color: red;">请按指南内容填写相关信息, 否则资源申请请求不予批准</b>):

    a. 登陆https://dw.pcl.ac.cn/cloud/login, 注册新用户:

        用户名: 以”openEuler-” 为前缀

        邮箱:  与参赛报名时提供的联系邮箱一致

    b.新建项目, 指定项目信息:

        项目名称 – 以“openEuler@hdc-” 为前缀

        项目信息 - “其他”, 以”HDC 2020 openEuler 参赛项目” 为前缀

        领域信息 – “其他”,“国产操作系统”

    <img src="/img/events/2020hdc/1.png" />

    c. 产品信息:

        产品名称 – 以”openEuler-iSula@hdc-” 为前缀

        产品信息 – “互联网类产品”

        云服务器用途 – “开发”

    <img src="/img/events/2020hdc/2.png" />

    d. 基本信息:

        名称 – 以” openEuler-iSula@hdc-” 为前缀

        类型 – “虚拟机”

        使用时长 – “90天”

        数量 – “1”

        CPU架构要求 – “鲲鹏920”

        OS 版本要求 – “openEuler 1.0 Beta”

    e. 资源:

        CPU – 2

        虚拟机内存 – 4G

        系统磁盘容量 – 80G

        网卡数量 – 1

        是否申请云硬盘 – 否

    <img src="/img/events/2020hdc/3.png" />
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
179

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
180
<h4 id="section5" style="text-align: center;">大赛日程及报名安排</h4>
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
181

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
182
##### 初赛(线上)
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
183

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
184
初赛时间:2019年12月23日——2020年1月17日
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
185 186 187

阶段晋级队伍:15支队伍

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
188
##### 决赛(线下,深圳)
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
189

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
190
决赛时间:2020年2月11日
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
191 192 193

阶段晋级队伍:3支队伍

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
194
<h4 id="section6" style="text-align: center;">奖项设置</h4>
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
195 196 197 198 199 200 201 202 203

##### 大赛奖项

一等奖:1队

二等奖:2队

三等奖:3队

存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
204
(每支队伍最多2名成员)
存储OpenStack开源团队's avatar
存储OpenStack开源团队 已提交
205 206 207 208 209 210 211 212 213 214

##### 参赛者权益

1. 2020华为开发者大会入场通券,参与华为面向ICT(信息与通信)领域全球开发者的年度顶级旗舰活动

2. 参赛T恤

3. 获奖选手获得赛事荣誉证书及奖牌

4. 获奖选手将在华为相关宣传渠道(官网、社区、社媒)得到宣传报道