diff --git a/README.md b/README.md index 85d78394f0656bfff3bfe32fdadd5f68ab01b884..0393163487191933921bf7bf72acf73d8d874157 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,9 @@ NestOS是一款在openEuler社区CloudNative sig组孵化的云底座操作系 Nest即“巢穴”,作为可以包容podman(鼹鼠)、iSulad(蚂蚁)、docker(集装箱)的“巢穴”,NestOS即化身为可以搭载iSulad、docker、podman等基础平台的操作系统。 -NestOS将配置工具ignition与rpm-ostree、OCI支持、SElinux强化等技术集成在一起,采用基于双系统分区、容器技术和集群架构的设计思路,搭载iSulad、docker、podman等主流容器基础平台,克服了由于用户修改系统内容、用户服务对系统组件依赖,以及系统软件包升级时不稳定中间态等种种导致升级过程不可靠的因素,最终以一种轻量级、定制化的操作系统呈现出来。可以适应各种不同的基础设施环境,并与OKD紧密集成,针对运行Kubernetes进行了优化,使系统具备十分便捷的集群组建能力。 +NestOS将配置工具ignition与rpm-ostree、OCI支持、SElinux强化等技术集成在一起,采用基于双系统分区、容器技术和集群架构的设计思路,搭载iSulad、docker、podman等主流容器基础平台,克服了由于用户修改系统内容、用户服务对系统组件依赖,以及系统软件包升级时不稳定中间态等种种导致升级过程不可靠的因素,最终以一种轻量级、定制化的操作系统呈现出来。可以适应各种不同的基础设施环境,并与OKD紧密集成,针对运行Kubernetes进行了优化,使系统具备十分便捷的集群组建能力。 + +目前NestOS beta版已经在鲲鹏920、飞腾2000、飞腾2500等平台上完成了适配。 ![image-20211015170943884](graph/README/image-20211015170943884.png) @@ -14,10 +16,9 @@ NestOS将配置工具ignition与rpm-ostree、OCI支持、SElinux强化等技术 #### NestOS应用指南 1. [rpm-ostree使用](https://gitee.com/openeuler/NestOS/blob/master/docs/rpm-ostree%E4%BD%BF%E7%94%A8.md) - 2. [k8s+iSulad搭建](https://gitee.com/openeuler/NestOS/blob/master/docs/K8S+iSulad%E6%90%AD%E5%BB%BA.md) - 3. [zincati自动更新](https://gitee.com/openeuler/NestOS/blob/master/docs/zincati%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%96%B0%E4%BD%BF%E7%94%A8.md) +4. [NestOS定制化](https://gitee.com/openeuler/NestOS/blob/master/docs/%E5%AE%9A%E5%88%B6NestOS.md) #### 功能特性 @@ -42,9 +43,7 @@ NestOS将配置工具ignition与rpm-ostree、OCI支持、SElinux强化等技术 | 100*stop | 1483 | 1445 | 296 | -80% | -80% | | 100*rm | 1691 | 5286 | 741 | -56% | -86% | -更多详细内容请[点击](https://gitee.com/openeu/NestOS/blob/master/docs/%E6%80%A7%E8%83%BD%E5%AF%B9%E6%AF%94%E6%B5%8B%E8%AF%95.md) - -#### FAQ +更多详细内容请[点击](https://gitee.com/openeuler/NestOS/blob/master/docs/%E6%80%A7%E8%83%BD%E5%AF%B9%E6%AF%94%E6%B5%8B%E8%AF%95.md) 1、NestOS与Fedora CoreOS是什么关系? @@ -54,6 +53,9 @@ NestOS是基于Fedora CoreOS的衍生版本,后续我们将会结合openeuler config是制作NestOS镜像时使用的配置文件,由于现阶段没有跟随社区版本发布,所以该文件为我们根据openeuler定制的一份配置文件。配置文件中有一些注释,以及个别软件包引入与否,均为我们本地进行测试评估需要,现开源出来供大家交流学习使用。并且配置文件中所包含的软件包源、IP地址均为本地搭建。 +#### NestOS roadmap + +![image-NestOS-roadmap.png](graph/README/image-NestOS-roadmap.png) #### 主要贡献者 | Gitee ID | 公司 | 邮箱 | @@ -67,4 +69,7 @@ config是制作NestOS镜像时使用的配置文件,由于现阶段没有跟 | @kylinhao | 麒麟软件 | wanghao6@kylinos.cn | | @duguhaotian | 华为 | liuhao27@huawei.com | -欢迎感兴趣的小伙伴加入我们 \ No newline at end of file +欢迎感兴趣的小伙伴加入我们 + + + [1]: ./images/NestOS-roadmap.png "NestOS-roadmap.png" \ No newline at end of file diff --git "a/docs/K8S+iSulad\346\220\255\345\273\272.md" "b/docs/K8S+iSulad\346\220\255\345\273\272.md" index 05d21d310639bc3c00000dea7a38549361e012ee..31aa22ae172b17fceef1bb759acafcef4e908c25 100644 --- "a/docs/K8S+iSulad\346\220\255\345\273\272.md" +++ "b/docs/K8S+iSulad\346\220\255\345\273\272.md" @@ -233,7 +233,7 @@ sha256:73d337f5edd79dd4db997d98d329bd98020b712f8d7833c33a85d8fe44d0a4f5 --cri- socket=/var/run/isulad.sock ``` -**注意**:添加--cri-socket=/var/run/isulad.sock以使用isula为容器引擎 +**注意**:添加--cri-socket=/var/run/isulad.sock以使用isulad为容器引擎 查看下载好的镜像 ``` diff --git "a/docs/graph/\345\277\253\351\200\237\345\274\200\345\247\213/image-20211014201046509.png" "b/docs/graph/\345\277\253\351\200\237\345\274\200\345\247\213/image-20211014201046509.png" index 959851e3a119440b6b9be6bd1e845d80d0845428..77a0635c974614314e297de9b003f4982e1eeda9 100644 Binary files "a/docs/graph/\345\277\253\351\200\237\345\274\200\345\247\213/image-20211014201046509.png" and "b/docs/graph/\345\277\253\351\200\237\345\274\200\345\247\213/image-20211014201046509.png" differ diff --git "a/docs/zincati\350\207\252\345\212\250\346\233\264\346\226\260\344\275\277\347\224\250.md" "b/docs/zincati\350\207\252\345\212\250\346\233\264\346\226\260\344\275\277\347\224\250.md" index 871c90a135f194e25a44a0b0b173d7baf7b9979e..2e297f0bb1a7d380961daf88713adc0b14464341 100644 --- "a/docs/zincati\350\207\252\345\212\250\346\233\264\346\226\260\344\275\277\347\224\250.md" +++ "b/docs/zincati\350\207\252\345\212\250\346\233\264\346\226\260\344\275\277\347\224\250.md" @@ -1,6 +1,6 @@ # zincati自动更新使用 -zincati负责NestOS的自动更新,zincati通过cincincati提供的后端来检查当前是否有可更新版本,若检测到有可能新版本,会通过rpm-ostree进行下载。 +zincati负责NestOS的自动更新,zincati通过cincinnati提供的后端来检查当前是否有可更新版本,若检测到有可能新版本,会通过rpm-ostree进行下载。 目前系统默认关闭zincati自动更新服务,可通过修改配置文件设置为开机自动启动自动更新服务。 @@ -9,17 +9,17 @@ vi /etc/zincati/config.d/95-disable-on-dev.toml ``` 将updates.enabled设置为true -同时增加配置文件,修改cincincati后端地址 +同时增加配置文件,修改cincinnati后端地址 ``` -vi /etc/zincati/config.d/update-cincincati.toml +vi /etc/zincati/config.d/update-cincinnati.toml ``` 添加如下内容 ``` [cincinnati] -base_url="http://10.1.110.88:8080" +base_url="http://nestos.org.cn:8080" ``` 重新启动zincati服务 diff --git "a/docs/\345\256\232\345\210\266NestOS.md" "b/docs/\345\256\232\345\210\266NestOS.md" new file mode 100644 index 0000000000000000000000000000000000000000..5688ad6b90fba5875031e36c0f1147863781acf9 --- /dev/null +++ "b/docs/\345\256\232\345\210\266NestOS.md" @@ -0,0 +1,50 @@ +# 定制NestOS + +我们可以使用nestos-installer 工具对原始的NestOS ISO文件进行加工,将Ignition文件打包进去从而生成定制的 NestOS ISO文件。使用定制的NestOS ISO文件可以在系统启动完成后自动执行NestOS的安装,因此NestOS的安装会更加简单。 + +在开始定制NestOS之前,需要做如下准备工作: + +- 下载 NestOS ISO +- 准备 config.ign文件 + +## 生成定制NestOS ISO文件 + +### 设置参数变量 + +``` +$ export COREOS_ISO_ORIGIN_FILE=nestos-LTS.20211009.dev.0-live.x86_64.iso +$ export COREOS_ISO_CUSTOMIZED_FILE=my-nestos.iso +$ export IGN_FILE=config.ign +``` + +### ISO文件检查 + +确认原始的NestOS ISO文件中是没有包含Ignition配置。 + +``` +$ nestos-installer iso ignition show $COREOS_ISO_ORIGIN_FILE + +Error: No embedded Ignition config. +``` + +### 生成定制NestOS ISO文件 + +将Ignition文件和原始NestOS ISO文件打包生成定制的NestOS ISO文件。 + +``` +$ nestos-installer iso ignition embed $COREOS_ISO_ORIGIN_FILE --ignition-file $IGN_FILE $COREOS_ISO_ORIGIN_FILE --output $COREOS_ISO_CUSTOMIZED_FILE +``` + +### ISO文件检查 + +确认定制NestOS ISO 文件中已经包含Ignition配置了 + +``` +$ nestos-installer iso ignition show $COREOS_ISO_CUSTOMIZED_FILE +``` + +执行命令,将会显示Ignition配置内容 + +## 安装定制NestOS ISO文件 + +使用定制的 NestOS ISO 文件可以直接引导安装,并根据Ignition自动完成NestOS的安装。在完成安装后,我们可以直接在虚拟机的控制台上用core/password登录NestOS。 \ No newline at end of file diff --git "a/docs/\345\277\253\351\200\237\345\274\200\345\247\213.md" "b/docs/\345\277\253\351\200\237\345\274\200\345\247\213.md" index 9b327d79bc26cfbfb840b1f05adc40fc750ad205..9be31e7086092cb8d7560f01d00b2e74cc53a368 100644 --- "a/docs/\345\277\253\351\200\237\345\274\200\345\247\213.md" +++ "b/docs/\345\277\253\351\200\237\345\274\200\345\247\213.md" @@ -25,8 +25,7 @@ NestOS 初次启动如下图所示 ![image-20211014201036415](graph/快速开始/image-20211014201036415.png) -初次启动 NestOS ,ignition 尚未安装,可根据系统提示使用 coreos-installer 组件进行 ignition的安 -装。 +初次启动 NestOS ,ignition 尚未安装,可根据系统提示使用 nestos-installer 组件进行ignition的安装。 ![image-20211014201046509](graph/快速开始/image-20211014201046509.png) @@ -101,7 +100,7 @@ r9AkQrQ/3j8WsejvqseWIi1kq68pqvtcBJkCMiIfzIoUgCgcolw3fZprDhgfau8= root@host-12-0- 如下为最简单的 config.bu 文件 ``` -variant: NestOS +variant: fcos version: 1.1.0 passwd: users: @@ -144,7 +143,7 @@ scp root@10.1.110.88:/root/config.ign /root #从10.1.110.88拷贝,请 根据系统所给提示,执行如下指令完成安装。 ``` -coreos-installer install /dev/sda --ignition-file config.ign +nestos-installer install /dev/sda --ignition-file config.ign ``` 安装完成后重启 NestOS 。 diff --git a/graph/README/image-20211015170943884.png b/graph/README/image-20211015170943884.png index 48ec43323740338a864e7d0f171520dae2547a96..c0e3988578e3ef49b285314e900af772814ef53e 100644 Binary files a/graph/README/image-20211015170943884.png and b/graph/README/image-20211015170943884.png differ diff --git a/graph/README/image-NestOS-roadmap.png b/graph/README/image-NestOS-roadmap.png new file mode 100644 index 0000000000000000000000000000000000000000..0ba519fb9e56b6706d418d39acff763f370807f3 Binary files /dev/null and b/graph/README/image-NestOS-roadmap.png differ