From 480422d3b016e4af6045fba6ccc977a26a67a5ca Mon Sep 17 00:00:00 2001 From: GuangJie1 Date: Thu, 3 Jul 2025 17:15:58 +0800 Subject: [PATCH] add cloud readme --- Cloud/containerd/README.md | 85 ++++++++++++++++++++++++ Cloud/containerd/doc/image-info.yml | 79 ++++++++++++++++++++++ Cloud/containerd/doc/picture/logo.png | Bin 0 -> 1510 bytes Cloud/coredns/README.md | 73 ++++++++++++++++++++ Cloud/coredns/doc/image-info.yml | 67 +++++++++++++++++++ Cloud/coredns/doc/picture/logo.png | Bin 0 -> 20309 bytes Cloud/ovirt-engine/README.md | 48 +++++++++++++ Cloud/ovirt-engine/doc/image-info.yml | 47 +++++++++++++ Cloud/ovirt-engine/doc/picture/logo.png | Bin 0 -> 10792 bytes Cloud/qemu/README.md | 67 +++++++++++++++++++ Cloud/qemu/doc/image-info.yml | 71 ++++++++++++++++++++ Cloud/qemu/doc/picture/logo.png | Bin 0 -> 47036 bytes 12 files changed, 537 insertions(+) create mode 100644 Cloud/containerd/README.md create mode 100644 Cloud/containerd/doc/image-info.yml create mode 100644 Cloud/containerd/doc/picture/logo.png create mode 100644 Cloud/coredns/README.md create mode 100644 Cloud/coredns/doc/image-info.yml create mode 100644 Cloud/coredns/doc/picture/logo.png create mode 100644 Cloud/ovirt-engine/README.md create mode 100644 Cloud/ovirt-engine/doc/image-info.yml create mode 100644 Cloud/ovirt-engine/doc/picture/logo.png create mode 100644 Cloud/qemu/README.md create mode 100644 Cloud/qemu/doc/image-info.yml create mode 100644 Cloud/qemu/doc/picture/logo.png diff --git a/Cloud/containerd/README.md b/Cloud/containerd/README.md new file mode 100644 index 00000000..5787ff38 --- /dev/null +++ b/Cloud/containerd/README.md @@ -0,0 +1,85 @@ +# Quick reference + +- The official containerd docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative). + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community). + +# containerd | openEuler +Current containerd images are built on the [openEuler](https://repo.openeuler.org/). This repository is free to use and exempted from per-user rate limits. + +containerd is an industry-standard container runtime with an emphasis on simplicity, robustness, and portability. It is available as a daemon for Linux and Windows, which can manage the complete container lifecycle of its host system: image transfer and storage, container execution and supervision, low-level storage and network attachments, etc. + +Read more on [containerd Website](https://containerd.io/). + +# Supported tags and respective dockerfile links +The tag of each `containerd` docker image is consist of the version of `containerd` and the version of basic image. The details are as follows + +| Tag | Currently | Architectures | +|--------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------|---------------| +| [2.1.1-oe2403sp1](https://gitee.com/openeuler/openeuler-containerd-images/blob/master/Cloud/containerd/2.1.1/24.03-lts-sp1/containerdfile) | containerd 2.1.1 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +# Usage +In this usage, users can select the corresponding `{Tag}` based on their requirements. + +- Pull the `openeuler/containerd` image from docker + + ``` + docker pull openeuler/containerd:{Tag} + ``` + +- Run with an interactive shell + + You can also start the container with an interactive shell to use containerd. + ``` + docker run -it --rm openeuler/containerd:{Tag} bash + ``` + +- Create a simple CNI configuration file + + Create a basic CNI config file(e.g., empty.conf) inside `/etc/cni/net.d/` to avoid network plugin errors when starting containerd: + ``` + mkdir -p /etc/cni/net.d/ + + # vi /etc/cni/net.d/empty.conf + { + "cniVersion": "0.4.0", + "name": "empty-net", + "type": "bridge", + "bridge": "cni0", + "isGateway": true, + "ipMasq": true, + "ipam": { + "type": "host-local", + "subnet": "10.88.0.0/16", + "routes": [ + { "dst": "0.0.0.0/0" } + ] + } + } + ``` + +- Create the containerd configuration directory + + Make sure the containerd config directory exist: + ``` + mkdir -p /etc/containerd + ``` + +- Generate the default containerd configuration file + + Generate the default configuration and save it to `/etc/containerd/config.toml`: + ``` + ./containerd config default > /etc/containerd/config.toml + ``` + +- Start containerd with the custom configuration + + Start the containerd daemon using the created config file in the background: + ``` + ./containerd --config /etc/containerd/config.toml & + ``` + +# Question and answering +If you have any questions or want to use some special features, please submit an issue or a pull request on [openeuler-docker-images](https://gitee.com/openeuler/openeuler-docker-images). \ No newline at end of file diff --git a/Cloud/containerd/doc/image-info.yml b/Cloud/containerd/doc/image-info.yml new file mode 100644 index 00000000..5ee77a3c --- /dev/null +++ b/Cloud/containerd/doc/image-info.yml @@ -0,0 +1,79 @@ +name: containerd +category: cloud +description: containerd 是一个高性能容器运行时(Container Runtime),提供容器的生命周期管理,包括镜像管理、容器执行、存储挂载、网络配置等底层功能,但并不包含编排能力(如 Kubernetes)。 +environment: | + 本应用在Docker环境中运行,安装Docker执行如下命令 + ``` + yum install -y docker + ``` +tags: | + docker镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + + | Tag | Currently | Architectures | + |----------|-------------|------------------| + |[2.1.1-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Cloud/containerd/2.1.1/24.03-lts-sp1/Dockerfile)| containerd 2.1.1 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +download: | + 拉取镜像到本地 + ``` + docker pull openeuler/containerd:{Tag} + ``` + +usage: | + - 交互式shell启动进入容器中 + + 交互式 shell 启动容器来操作 containerd: + ``` + docker run -it --rm openeuler/containerd:{Tag} bash + ``` + + - 创建一个简单的 CNI 配置文件 + + 在 `/etc/cni/net.d/` 目录下创建一个基础的 CNI 配置文件(例如 `empty.conf`),以避免启动 containerd 时出现网络插件错误: + ``` + mkdir -p /etc/cni/net.d/ + + # vi /etc/cni/net.d/empty.conf + { + "cniVersion": "0.4.0", + "name": "empty-net", + "type": "bridge", + "bridge": "cni0", + "isGateway": true, + "ipMasq": true, + "ipam": { + "type": "host-local", + "subnet": "10.88.0.0/16", + "routes": [ + { "dst": "0.0.0.0/0" } + ] + } + } + ``` + + - 创建 containerd 配置目录 + + 确保 containerd 配置目录存在: + ``` + mkdir -p /etc/containerd + ``` + + - 生成默认的 containerd 配置文件 + + 生成默认配置并保存到 `/etc/containerd/config.toml` 文件: + ``` + ./containerd config default > /etc/containerd/config.toml + ``` + + - 使用自定义配置启动 containerd + + 使用创建的配置文件后台启动 containerd 守护进程: + ``` + ./containerd --config /etc/containerd/config.toml & + ``` + +license: Apache-2.0 license +similar_packages: + - CRI-O: Kubernetes 社区开发的轻量级容器运行时,只实现 Kubernetes CRI 接口。 +dependency: + - golang \ No newline at end of file diff --git a/Cloud/containerd/doc/picture/logo.png b/Cloud/containerd/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9dd28220e1cef93d847ee32dccdd6da3c8d5666f GIT binary patch literal 1510 zcmeAS@N?(olHy`uVBq!ia0y~yVEPVZ@8Mtrl7H$OZGjYLfk$L91B0G22s2hJwJ&2} zV4dOV;uunK>+PNWMVBK)4m>O_i%966J`44Pby4Om`HL7#mwBc=)cdBf@du(g= zCRWk63m2YXIGCn;^3v7sXP2CqzwyY#b)OCwt4D@1GBBLEFYgAl>yaD-g8Rr2yL)yK5!SCCi0{x^6aWKaq*y!=!rUN1vJg&1DBhgv0B5;i2g~pA)0`Ad!;bRd-|BVkxwa?S#OD7}yZv{a zSP;RJ4N4HfBM+2pW-Pesuzq*+i9g?zWs~ijBXiOV`u@ARn13={ubgE3!EoNc%U7EG-%%1rNGD||QZZ$aX_-NlMokenw zQ}{lgIb->!=#R-a9phr#k~`s7^N;`C{<-SzFRS&dBL6(!(f|5lm-n4;|zKmS5T`Gf6Gp4rpgvGw%P^=BT&vFYJSRUpSn zbnY+aXE<;)By^Tj{T?6_QB=HVyIDMcro6b({@BpBY<9=YjJM~7E?d@Kx^Mle_D28W zy$hZTUb`dGyYXCOI*LwsFu=kEZYDfjP-H;K!N3ueNguG*r!CX`@;I%hIVDuml;Oac z)HHEH>B$jO_OE{R@25B@IW@R}G-Cu0W_H6Ut+2+~0iiWL3=9i6|4STvB(v|oQ`ppv jz`}qTCE+e8k7wMWc_jH%<|`v$Vanj?>gTe~DWM4fvf3k= literal 0 HcmV?d00001 diff --git a/Cloud/coredns/README.md b/Cloud/coredns/README.md new file mode 100644 index 00000000..2b421186 --- /dev/null +++ b/Cloud/coredns/README.md @@ -0,0 +1,73 @@ +# Quick reference + +- The official CoreDNS docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative). + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community). + +# CoreDNS | openEuler +Current coredns images are built on the [openEuler](https://repo.openeuler.org/). This repository is free to use and exempted from per-user rate limits. + +CoreDNS is a DNS server. It is written in Go. It can be used in a multitude of environments because of its flexibility. CoreDNS is licensed under the Apache License Version 2, and completely open source. + +Read more on [CoreDNS Website](https://coredns.io/). + +# Supported tags and respective dockerfile links +The tag of each `coredns` docker image is consist of the version of `coredns` and the version of basic image. The details are as follows + +| Tag | Currently | Architectures | +|-------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------|---------------| +| [1.12.1-oe2403sp1](https://gitee.com/openeuler/openeuler-coredns-images/blob/master/Cloud/coredns/1.12.1/24.03-lts-sp1/corednsfile) | CoreDNS 1.12.1 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +# Usage +In this usage, users can select the corresponding `{Tag}` based on their requirements. + +- Pull the `openeuler/coredns` image from docker + + ``` + docker pull openeuler/coredns:{Tag} + ``` + +- Run with an interactive shell + + You can also start the container with an interactive shell to use coredns. + ``` + docker run -it --rm openeuler/coredns:{Tag} bash + ``` + +- Create a `Corefile` + + In your current working directory, create a simple `Corefile`: + ``` + # Corefile + .:53 { + forward . 8.8.8.8 + log + } + ``` + What this means: + * `.:53`: Listen for all DNS queries on port 53. + * `forward . 8.8.8.8`: Forward all DNS queries to Google Public DNS. You can replace `8.8.8.8` with your loca DNS server if needed. + * `log`: Log each DNS request for debugging. + +- Start CoreDNS (Run as a local binary) + + If you have the `coredns` binary, start it with: + ``` + ./coredns -conf Corefile + ``` + After starting, CoreDNS will listen on `0.0.0.0:53` and forward incoming DNS queries according to your configuration. + +- Test DNS Resolution + + Use `dig` on your container to test if CoreDNS is working: + ``` + # You should install bind-utils first in order to use the dig command. + dnf install -y bind-utils + dig @127.0.0.1 www.example.com + ``` + You should see a DNS response in your terminal, and CoreDNS should log the request in its output. + +# Question and answering +If you have any questions or want to use some special features, please submit an issue or a pull request on [openeuler-docker-images](https://gitee.com/openeuler/openeuler-docker-images). \ No newline at end of file diff --git a/Cloud/coredns/doc/image-info.yml b/Cloud/coredns/doc/image-info.yml new file mode 100644 index 00000000..2e9bbe98 --- /dev/null +++ b/Cloud/coredns/doc/image-info.yml @@ -0,0 +1,67 @@ +name: coredns +category: cloud +description: CoreDNS 是一个可扩展、灵活的开源 DNS 服务器,最初是为替代 SkyDNS 开发的,现在已经成为 Kubernetes 默认的 DNS 插件之一。 +environment: | + 本应用在Docker环境中运行,安装Docker执行如下命令 + ``` + yum install -y docker + ``` +tags: | + docker镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + + | Tag | Currently | Architectures | + |----------|-------------|------------------| + |[1.12.1-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Cloud/coredns/1.12.1/24.03-lts-sp1/Dockerfile)| CoreDNS 1.12.1 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +download: | + 拉取镜像到本地 + ``` + docker pull openeuler/coredns:{Tag} + ``` + +usage: | + - 交互式shell启动进入容器中 + + 交互式 shell 启动容器来操作 coredns: + ``` + docker run -it --rm openeuler/coredns:{Tag} bash + ``` + + - 创建文件 `Corefile` + + 在当前工作目录下创建一个简单的 `Corefile` 文件, 内容如下: + ``` + # Corefile + .:53 { + forward . 8.8.8.8 + log + } + ``` + What this means: + * `.:53`: 在 53 端口监听所有 DNS 查询请求。 + * `forward . 8.8.8.8`: 将所有 DNS 查询转发到 Google 公共 DNS(可以把 `8.8.8.8` 替换成你自己的 DNS 服务器)。 + * `log`: 记录每条 DNS 请求,方便调试。 + + - 启动 CoreDNS(以本地二进制方式运行) + + 如果你已经有 `coredns` 可执行文件,用下面的命令启动: + ``` + ./coredns -conf Corefile + ``` + 启动后,CoreDNS 会监听 `0.0.0.0:53`,并按照你的配置把收到的 DNS 请求转发出去。 + + - 测试 DNS 解析是否可用 + + 使用 `dig` 来验证 CoreDNS 是否正常工作: + ``` + # 使用 dig 命令前,需先安装 bind-utils 工具包。 + dnf install -y bind-utils + dig @127.0.0.1 www.example.com + ``` + 执行后,你应该能在终端里看到 DNS 响应结果,同时 CoreDNS 会在输出里记录查询日志。 + +license: Apache-2.0 license +similar_packages: + - dnsmasq: 轻量级的 DNS 和 DHCP 转发器,适合本地网络、开发环境或小型集群。 +dependency: + - golang \ No newline at end of file diff --git a/Cloud/coredns/doc/picture/logo.png b/Cloud/coredns/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c643b7b898a3ed9c82a48e03046b2c98c0a119bc GIT binary patch literal 20309 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 literal 0 HcmV?d00001 diff --git a/Cloud/ovirt-engine/README.md b/Cloud/ovirt-engine/README.md new file mode 100644 index 00000000..726260dc --- /dev/null +++ b/Cloud/ovirt-engine/README.md @@ -0,0 +1,48 @@ +# Quick reference + +- The official oVirt Engine docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative). + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community). + +# oVirt Engine | openEuler +Current oVirt Engine images are built on the [openEuler](https://repo.openeuler.org/). This repository is free to use and exempted from per-user rate limits. + +oVirt Engine is the central management service of the oVirt virtualization platform. + +# Supported tags and respective dockerfile links +The tag of each `ovirt-engine` docker image is consist of the version of `ovirt-engine` and the version of basic image. The details are as follows + +| Tag | Currently | Architectures | +|--------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------|---------------| +| [4.5.6-oe2403sp1](https://gitee.com/openeuler/openeuler-ovirt-engine-images/blob/master/Cloud/ovirt-engine/4.5.6/24.03-lts-sp1/ovirt-enginefile) | oVirt Engine 4.5.6 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +# Usage +In this usage, users can select the corresponding `{Tag}` based on their requirements. + +- Pull the `openeuler/ovirt-engine` image from docker + + ``` + docker pull openeuler/ovirt-engine:{Tag} + ``` + +- Run with an interactive shell + + You can also start the container with an interactive shell to use ovirt-engine. + ``` + docker run -it --rm openeuler/ovirt-engine:{Tag} bash + ``` + +- WildFly Standalone Server Startup Command + + Command Syntax + ``` + /usr/share/ovirt-engine-wildfly/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0 + ``` + **Options Explained:** + * `-b 0.0.0.0:` Bind to all available network interfaces(`0.0.0.0`). + * `-bmanagement 0.0.0.0:` Listen for both application traffic and management traffic. + +# Question and answering +If you have any questions or want to use some special features, please submit an issue or a pull request on [openeuler-docker-images](https://gitee.com/openeuler/openeuler-docker-images). \ No newline at end of file diff --git a/Cloud/ovirt-engine/doc/image-info.yml b/Cloud/ovirt-engine/doc/image-info.yml new file mode 100644 index 00000000..d1b4451c --- /dev/null +++ b/Cloud/ovirt-engine/doc/image-info.yml @@ -0,0 +1,47 @@ +name: ovirt-engine +category: cloud +description: oVirt Engine 是 oVirt 虚拟化管理平台的核心组件,相当于虚拟化集群的大脑。 +environment: | + 本应用在Docker环境中运行,安装Docker执行如下命令 + ``` + yum install -y docker + ``` +tags: | + docker镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + + | Tag | Currently | Architectures | + |----------|-------------|------------------| + |[4.5.6-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Cloud/ovirt-engine/4.5.6/24.03-lts-sp1/Dockerfile)| oVirt Engine 4.5.6 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +download: | + 拉取镜像到本地 + ``` + docker pull openeuler/ovirt-engine:{Tag} + ``` + +usage: | + - 交互式shell启动进入容器中 + + 交互式 shell 启动容器来操作 ovirt-engine: + ``` + docker run -it --rm openeuler/ovirt-engine:{Tag} bash + ``` + + - WildFly独立服务器启动命令 + + 启动命令: + ``` + /usr/share/ovirt-engine-wildfly/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0 + ``` + **选项说明:** + * `-b 0.0.0.0:` 绑定到所有可用网络接口(0.0.0.0)。 + * `-bmanagement 0.0.0.0:` 同时监听应用流量和管理流量。 + +license: Apache-2.0 license +similar_packages: + - N/A +dependency: + - postgresql + - openssl + - wildfly + - python3 diff --git a/Cloud/ovirt-engine/doc/picture/logo.png b/Cloud/ovirt-engine/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2ce3e7bae076af865ee7c18e78b3dc3426089422 GIT binary patch literal 10792 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 literal 0 HcmV?d00001 -- Gitee