Skip to main content

· 9 min read
成峰

文档系统需求

一体化平台使用文档编写有一定的技术门槛,需要开发人员共同努力完成文档的编写和维护,一个开发人员对文档平台的需求应该包括以下几个方面:

  1. 易用性:文档平台应该易于使用和上手,能够让开发人员快速创建、编辑和发布文档,避免复杂的配置和操作。
  2. 多语言支持:随着全球化的趋势,开发人员需要将文档翻译成多种语言,因此文档平台应该支持多语言文档的创建和管理,同时也要支持多种语言的搜索和导航。
  3. 多种文档格式支持:开发人员使用多种格式编写文档,如Markdown、reStructuredText等,文档平台应该支持这些格式的导入和导出。
  4. 版本控制:文档随着软件的迭代而不断更新,因此文档平台应该支持版本控制,可以让开发人员回溯文档的历史版本,也可以协同编辑和审核文档。
  5. 搜索和导航:文档平台应该具备良好的搜索和导航功能,可以让开发人员快速查找和访问所需的文档,提高效率。
  6. 主题和样式:文档平台应该支持自定义主题和样式,可以让开发人员将文档与品牌和网站风格保持一致。
  7. 插件和扩展:文档平台应该提供丰富的插件和扩展机制,可以让开发人员轻松地添加各种功能和定制化需求。

综上所述,文档平台应该满足开发人员的需求,让他们能够更加高效地创建、编辑和管理文档,同时提供良好的搜索和导航功能,让用户能够快速找到所需的信息。

开源文档工具选型

主流开源文档工具

以下是开发人员常用的流行的开源文档工具:

  1. GitBook:GitBook是一种开源文档编写和托管平台,它可以让你使用Markdown格式编写文档,并将其发布到GitBook上。
  2. Sphinx:Sphinx是一种基于Python的文档生成工具,它可以使用reStructuredText语言编写文档,并支持多种输出格式,如HTML、PDF、EPUB等。
  3. Jekyll:Jekyll是一种静态网站生成器,它使用Markdown和Liquid模板语言编写文档,并可以将文档生成为HTML格式,可以很好地用于生成静态网站。
  4. MkDocs:MkDocs是一种使用Markdown格式编写文档并将其转换为静态网站的工具,它提供了许多主题和插件,使得文档可以轻松地进行自定义。
  5. Read the Docs:Read the Docs是一种在线文档托管平台,它支持使用多种格式编写文档,并提供了自动构建和部署的功能。
  6. Docusaurus:Docusaurus是一个由Facebook开发的静态网站生成器,它专门用于构建开源软件的文档网站,并提供了许多主题和插件。
  7. Doxygen:Doxygen是一种用于生成C++、Java和Python等语言文档的工具,它可以从源代码中提取注释和文档,并生成HTML、PDF等多种格式的文档。

以上这些工具都是非常流行的开源文档工具,开发人员可以根据自己的需求和喜好选择适合自己的工具来编写和管理文档。

选择文档方案

基于Docusaurus构建云原生一体机的文档系统,选择Docusaurus的理由:

  1. 更灵活的主题支持:Docusaurus v2提供了更灵活的主题支持,使您可以更轻松地自定义您的文档网站的外观和感觉。您可以根据自己的需要添加和修改主题组件。
  2. 现代化的技术栈:Docusaurus使用了现代化的技术栈,包括React、Webpack和Babel。这些技术使您可以更轻松地开发和维护您的文档网站,并使其与现代Web应用程序的开发方式保持一致。
  3. 更好的性能:Docusaurus v2的性能比早期版本更好。它使用了现代化的构建工具,并具有更好的缓存策略,因此加载速度更快。
  4. 改进的搜索功能:Docusaurus v2的搜索功能比早期版本更好。它使用了现代化的搜索引擎,可以更准确地匹配搜索查询,并支持中文搜索。
  5. 更易于使用的插件系统:Docusaurus v2的插件系统更易于使用,并支持更多的插件。这些插件可以使您更轻松地添加各种功能,如社交分享按钮等。
  6. Facebook开发,社区活跃,我们也进行了一些预研。

文档开发指引

以下是在基于Docusaurus v2构建的文档管理系统上开发文档的一些指引:

  1. 安装Docusaurus

首先,您需要在本地计算机上安装Node.js和npm。然后,您可以使用npm在全局范围内安装Docusaurus:

npm install --global docusaurus-init
  1. 验证本地环境

使用以下命令在您的项目目录中初始化Docusaurus:

docusaurus-init

根据提示输入项目名称,选择您要使用的Yarn或npm包管理器,选择要使用的默认模板,等等。一旦完成,Docusaurus将在您的项目目录中创建一个新的文件夹。

  1. 编辑文档

在Docusaurus中,文档位于“docs”文件夹中。您可以在该文件夹中创建子文件夹以组织您的文档。每个子文件夹都应该包含一个名为“README.md”的Markdown文件。您可以使用Markdown语法编写文档。

  1. 编辑网站配置

您可以编辑位于“website”文件夹中的“docusaurus.config.js”文件来配置您的Docusaurus网站。该文件包含诸如网站名称,主题,插件,网站描述等选项。

  1. 预览和构建网站

使用以下命令在本地计算机上预览您的Docusaurus网站:

npm run start

您可以在浏览器中访问“http:// localhost:3000”来查看网站。

要构建静态网站文件,请使用以下命令:

npm run build

网站文件将生成在“build”文件夹中,您可以将其上传到托管网站上。

这些是使用Docusaurus开发文档的基本步骤。您可以使用Docusaurus的许多其他功能来优化您的文档,例如搜索,部署到GitHub Pages等。请查看Docusaurus文档以获取更多信息。

· 17 min read
成峰

开源介绍

开源软件发展历程

history of FOOS

  • 1982 ~ 1993 年: 自由软件,GNU的时代;
  • 1994 ~ 2002 年: 开源和Linux、Apache崛起;
  • 2003 ~ 2010 年: 大数据、云计算时代;
  • 2011 ~ 现在: 开源已经成为主流、云原生时代。

云原生发展历程

关于开源许可证

  • 当你创作一件创造性的作品(如文字、图像或软件代码)时,该作品在默认情况下拥有独家版权
  • 法律认为,作为作品的作者,你对别人如何使用你的作品有发言权。一般来说,这意味着任何人都不能使用、复制、分发或修改你的作品,否则就会面临撤下、勒索或诉讼的风险
  • 开源软件作者希望其他人使用、修改和共享作品。但是,由于合法的默认值仍然是专有版权,所以就需要一个明确声明这些权限的许可证
  • 如果你的项目没有使用开放源码许可,为项目做出贡献的每个人都将成为其作品的独家版权所有者。这意味着任何人都不能使用、复制、分发或修改他们的贡献——“任何人”也包括你。
  • 今天,开源许可已经走向了标准化,并且易于使用。我们可以将现有的许可证直接复制-粘贴到项目中。

自由软件,开源软件和免费软件对比

自由-开源-免费-

OSI已经批准的license licenses

开源社区流行和被广泛使用的许可证

  • Apache License 2.0 (Apache-2.0)
  • 3-clause BSD license (BSD-3-Clause)
  • 2-clause BSD license (BSD-2-Clause)
  • GNU General Public License (GPL)
  • GNU Lesser General Public License (LGPL)
  • MIT license (MIT)
  • Mozilla Public License 2.0 (MPL-2.0)
  • Common Development and Distribution License 1.0 (CDDL-1.0)
  • Eclipse Public License 2.0 (EPL-2.0)

top-licenses2021

流行开源许可证对比

popular-open-source-software-licenses

开源组织介绍

代理制的创造,是人类文明的一大进步。开源世界也沿用了这一优秀方法,开源非盈利基金会应用而生。

开源非盈利基金会作用

  • 处理法律事务
  • 向政府申请注册
  • 接受社会捐赠
  • 孵化开源项目
  • 中立信任
  • 功能还在不断扩展中

国际开源组织

国内开源组织

  • 中国开源组织

开放原子开源基金会

成立时间: 2020年6月

  • 2020年初,木兰宽松许可证第二版(MulanPSL v2)通过 OSI 认证,成为中国首个被国际开源社区认可的开源协议;
  • 2020年8月,工信部等部门联合Gitee建设中国独立的开源托管平台;TiDB 开发商 PingCAP、emqttd 开发商 EMQ 等一批国内原生开源创企获得上亿元融资,中国开源产业发展进入快车道;
  • 2020年6月15日。中国迎来了历史上第一个开源软件基金会——开放原子开源基金会。开放原子开源基金会是中国首个,也是目前唯一一个以开源为主题的基金会。根据官方信息,开放原子开源基金会是一个致力于开源产业的全球性非营利公益机构,业务范围包括开源软件、开源硬件、开源芯片与开源内容等,为各类开源项目提供中立的知识产权托管服务,以及战略咨询、法务咨询、项目运营和品牌营销服务。基金会介绍,开源基金会是开源项目的孵化器、连接器与倍增器。通过对开源代码的开放治理以便于形成事实标准,连接产学研共建生态,为开源项目找到更多的应用场景。开放原子开源基金会设理事会TOC 秘书处,理事会负责审议和修改基金会章程等;TOC 也即技术监督委员会是其中立的技术决策机构,负责基金会技术相关的决策,以及项目的孵化评审等;秘书处是基金会的执行机构,负责基金会日常事务等工作。至此,开源软件在国内开始受到各行各业的广泛重视。
  • 2021 年 3 月,国家十四五发展规划中首次提及“开源”,明确指出“支持数字技术开源社区等创新联合体发展,完善开源知识产权和法律体系,鼓励企业开放软件源代码、硬件设计和应用服务”。
  • 2021 年 6 月,华为捐赠鸿蒙系统。
  • 2021年8月,拓维信息以银牌捐赠人的身份加入开放原子开源基金会,并成为 OpenHarmony 项目群成员、A类候选捐赠人。

当下开源软件繁荣景象

  • 99%世界500强公司使用开源软件
  • 在80%的IT部门增加开源软件的使用
  • 在企业软件中有35%是基于开源软件的
  • 超过5600万开发者在为从事开源项目
  • GIthub上有超过1.4亿开源项目
  • 每天约有10000行代码添加到Linux

linux-kernel

  • 服务器操作系统市场被Linux统治

服务器操作系统市场占有

开源和云

  • 免费和开源软件是云计算的主要驱动力
  • 云提供商严重依赖开源软件,如Linux,以及虚拟化软件,如KVM和Xen
  • 云厂商本身就是开源最大的使用者、最佳实践,可以帮企业管理屏蔽试错风险。
  • 云平台天然是一个协作平台,可以让开源贡献者、开源使用者,在云上互通需求驱动发展。
  • 新的时代,开源的发展越来越蓬勃,开源和云的关系越来越复杂,耦合度越来越高,云是开源软件允许的最佳环境之一,为开源软件插上安全高效的腾飞引擎。

CNCF会员

1. 云计算为开源带来的变化

  • 客户从购买软件自己负责整个使用过程,转变成直接使用服务,不需要关注服务之外的支撑细节。客户对于软件本身相关的商业条款敏感度下降,服务包装后的不透明性也会削弱使用者对软件开发的参与程度,尤其是确保运行和能力提供的责任会转移到云计算的提供者
  • 广泛使用的开源软件许可制定时间较早,当时云计算还没有出现或没有形成大影响,许可条款主要针对的软件以发行为主的情况。云服务尤其是封装后的PaaS服务包含的软件,规避了GPL这样的强制再开源的义务,开源衍生出的云服务一定程度纵容了云厂商减少对开源软件本身的贡献和分享
  • 互联网巨头们广泛使用开源软件的成功经验和公共云的持续发展已经证明了绝大部分场景下闭源的基础设施和支撑平台类软件不再具有普遍的发展前途

2. 云与开源协同发展

  • 没有客户希望自己被特定供应商绑定,公共云也是一样,支持应用运行的基础平台也从软件年代的操作系统和数据库演进到了容器调度,混合云作为一种会长期存在的支撑方式也会持续发展。基于这些条件,云平台应该提供的是一种通用的开放技术,在应用使用的功能性接口方面,遵守标准的通用性,不限制应用的可迁移性。
  • 主流云计算厂商正在企业IT市场发挥越来越大的作用,主流开源软件与云平台的有效集成是云平台的重要能力体现。开源技术也是云服务未来的发展方向,积极有效的参与主流开源项目是云厂商的重要机会。大型云厂商投入人力和资金帮助开源项目持续发展,有助于云技术能力得到有效发挥。
  • 对于使用者来说,市场上主流云平台在容器、中间件和数据库这些主要技术能力方面,提供的功能一致性远远高于客户自主搭建。用户在设计自己的业务系统时,追求云特有能力不侵入应用代码而只是在管控层面发挥作用,应该是现实可行的做法,这也是平台中立的云原生追求的方向。
  • 开源软件已经证明自身是平台技术软件有效的、主流的发展形态,云计算与开源的结合会成为必然趋势
  • 开源软件以不同程度托管在云上运行,提供技术能力,会是未来企业IT面临的主要选择。
  • 基础设施的服务能力保持托管的软件服务本身的开放性和兼容性,是非常重要的努力方向,以运行效果而不是黑盒方式吸引并留住客户会成为云平台的核心竞争力
  • 云计算的持续发展为开源软件提供了新的舞台,云平台与开源社区有效合作,并且避免锁定,来获得用户的信任
  • 总体来说,云自诞生开始与生俱来的特性以及不断发展的能力,天然就具备了解决企业可持续的使用开源软件所带来的挑战。目前,云被证明是最好的企业IT架构治理的平台,这个治理包括对开源技术的治理。云平台能够更好地集中解决安全与合规的问题,针对不同的开源软件合规扫描、漏洞扫描、升级等等。
  • 云原生的发展使得各个不同的基础开源软件和创新开源软件的技术融合,云原生时代开源软件的可观测性、开发效率和管理效能大大提升

企业拥抱开源的挑战

开源的无法预估性

  1. 开发人员无法预估
  2. 开发周期无法预估
  3. 工作时间无法预估
  4. 经济回报无法预估

商业模式和道德伦理

2009年,5月10日,一位用户cehoyos下载了暴风软件,用7z解压之后发现其安装程序内包 含了大量的开源和私有解码器的dll:avcodec,avformat,avutil,x264,xvid,bass,wmvdmod等等。杀毒软件 AntiVir报告lib_VoiceEngine_dll.dll是木马程序“TR\Spy.Legmir.SS.2”。之后暴风影音被正式加入到FFmpeg耻辱名单之列。

尽管 SSPL 与 GNU GPLv3 没有什么不同,但 SSPL 会明确要求托管 MongoDB 实例的云计算公司要么从 MongoDB 获取商业许可证,要么向社区开源其服务代码。

开源软件走向成功的路上运气大于理性

企业拥抱开源之前,必须了解的七件事

【思考:我们公司作为行业开源者的挑战?】

面向未来:开源作为新基建的一种有效模式

开源作为新的协作方式

“新基建”中开源占据主流

  • 人工智能:积极拥抱开源的新兴产业
  • 区块链:天生开源
  • 云计算:云原生项目
  • 数据中心:开放计算项目(OCP)
  • 算力核心:RSIC-V(全新的开发精简指令集)

“新基建”利用全球智慧的契机

【思考:开源为中国提供了什么机会?】

过去:

ASF 2019年度报告中披露了 ASF软件在全球各国家的下载量排名,其中来自中国地区的下载量遥遥领先于世界上所有其他地区,这也就意味着作为世界上排名第二的经济体,中国对ASF旗下的开源项目的消费是惊人的。然而,这个看起来脱颖而出的数据背后,却暴露出几个可能让大家赖为惊的本土的现状。

  1. ASF拥有7000多个代码贡献者,然而为ASF项目提交责献的本土工程师仅千人规模,不足1/7。
  2. ASF项自约350个,然而由本土发起的ASF项目仅19个,已成为顶级项自的比例更是不足5%。
  3. ASF孵化器拥有导师200多个,然而活跃的中国导师不超过5个。
  4. ASF每年在美国、欧洲等地举办ApacheCon,然而今为止,ASF尚未在中国举办过一次ApacheCon。作为全球最大的开源消费国,中国有广泛的ASF群众基础,如何将这些开源项目用户发展转换成社区的贡

当前:

linux-kernel 共享榜

未来... ?

梧桐PaaS平台开源探索

梧桐PaaS平台开源策略

· 4 min read
周鹏

安装环境

操作系统版本:openEuler 20.03

kuberneteas 版本:V1.22.7

Docker版本:20.10.9

梧桐平台版本:V5.5.0

安装docker 设置参数

wget https://download.docker.com/linux/static/stable/aarch64/docker-20.10.9.tgz -o /opt/tools
tar zxf docker-20.10.9.tgz && cp docker/* /user/bin

# 配置docker守护进程
cat <<EOF > /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
EOF

# 设置docker开机启动
systemctl enable docker && systemctl restart docker

kubeadm 安装K8s集群

准备镜像

大部分镜像都有arm64版本,只有etcd需要自行根据arm64二进制程序构建镜像

wget https://github.com/etcd-io/etcd/releases/download/v3.5.0/etcd-v3.5.0-linux-arm64.tar.gz

tar zxf etcd-v3.5.0-linux-arm64.tar.gz
cd etcd-v3.5.0-linux-arm64
docker build -t registry.aliyuncs.com/google_containers/etcd:3.5.0-0 .


配置 arm 的 yum 源

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-aarch64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

yum clean all && yum makecache

yum list kubectl --showduplicates | sort -r

所有节点安装K8S组件

yum install -y kubelet-1.22.7 kubeadm-1.22.7 kubectl-1.22.7 kubernetes-cni-0.8.7-0.aarch64

# 设置kubelet开机启动
systemctl daemon-reload && systemctl enable kubelet && systemctl restart kubelet

初始化集群

kubeadm init \
--kubernetes-version=v1.22.7 \
--apiserver-cert-extra-sans=10.96.0.1,192.168.0.169,192.168.0.21,192.168.0.22,192.168.0.23 \
--image-repository registry.aliyuncs.com/google_containers \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=Swap \
--control-plane-endpoint "192.168.0.169:6443" \
--upload-certs \
--v=3

注意:替换apiserver-cert-extra-sans 和 control-plane-endpoint 地址为实际地址

安装 sfs 存储插件

helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
mkdir sfs-charts
helm show values nfs-subdir-external-provisioner/nfs-subdir-external-provisioner > ./sfs-charts/values.yaml

# 修改values文件以下配置
repository: devhub.devcloud.talkweb.com.cn/sig-storage/nfs-subdir-external-provisioner-arm64:v4.0.2
nfs.server:172.16.1.46 # 实际的sfs地址
nfs.path:/
storageClass.name:sfs

# 安装插件
helm install nfs-subdir-external-provisioner -f ./sfs-charts/values.yaml nfs-subdir-external-provisioner/nfs-subdir-external-provisioner

挂载sfs文件系统

# 挂载目录
mount -t nfs -o vers=3,nolock 192.168.0.99:/ /mnt/sfs_turbo

#fstab 配置
192.168.0.99:/ /mnt/sfs_turbo nfs vers=3,timeo=600,nolock 0 0

梧桐PAAS安装

安装console

目前没有对应arm平台的 allinone 镜像,因此console安装在X86平台

helm repo add wutong-paas https://openchart.goodrain.com/goodrain/rainbond
# 下载console
helm pull rainbond/rainbond-console
# 配置value.yaml 按实际情况调整以下配置(默认allinone模式)
pvc:
redis:
mysql:

接入K8S集群(安装rbd组件)

提前下载对应镜像,目前镜像大部分在官网仓库可找到,只有nfs-provisioner存储插件镜像需要自编译

docker pull registry.cn-hangzhou.aliyuncs.com/goodrain/rainbond-operator:v2.2.0-arm64
docker tag registry.cn-hangzhou.aliyuncs.com/goodrain/rainbond-operator:v2.2.0-arm64 registry.cn-hangzhou.aliyuncs.com/goodrain/rainbond-operator:v2.2.0
docker pull registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-chaos:v5.5.0-release-arm64
docker tag registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-chaos:v5.5.0-release-arm64 registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-chaos:v5.5.0-release
docker pull registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-node:v5.5.0-release-arm64
docker tag registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-node:v5.5.0-release-arm64 registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-node:v5.5.0-release
docker pull registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-gateway:v5.5.0-release-arm64
docker tag registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-gateway:v5.5.0-release-arm64 registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-gateway:v5.5.0-release
docker pull gcr.io/google-containers/etcd-arm64:3.3.17
docker tag gcr.io/google-containers/etcd-arm64:3.3.17 registry.cn-hangzhou.aliyuncs.com/goodrain/etcd:v3.3.18
docker pull registry.cn-hangzhou.aliyuncs.com/goodrain/metrics-scraper:v1.0.4
docker tag registry.cn-hangzhou.aliyuncs.com/goodrain/metrics-scraper:v1.0.4-arm64 registry.cn-hangzhou.aliyuncs.com/goodrain/metrics-scraper:v1.0.4
docker pull registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-api:v5.5.0-release-arm64
docker tag registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-api:v5.5.0-release-arm64 registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-api:v5.5.0-release
docker pull registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-eventlog:v5.5.0-release-arm64
docker tag registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-eventlog:v5.5.0-release-arm64 registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-eventlog:v5.5.0-release
docker pull registry.cn-hangzhou.aliyuncs.com/goodrain/metrics-server:v0.3.6-arm64
docker tag registry.cn-hangzhou.aliyuncs.com/goodrain/metrics-server:v0.3.6-arm64 registry.cn-hangzhou.aliyuncs.com/goodrain/metrics-server:v0.3.6
docker pull registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-monitor:v5.5.0-release-arm64
docker tag registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-monitor:v5.5.0-release-arm64 registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-monitor:v5.5.0-release
docker pull registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-mq:v5.5.0-release-arm64
docker tag registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-mq:v5.5.0-release-arm64 registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-mq:v5.5.0-release
docker pull registry.cn-hangzhou.aliyuncs.com/goodrain/kubernetes-dashboard:v2.0.1-3-arm64
docker tag registry.cn-hangzhou.aliyuncs.com/goodrain/kubernetes-dashboard:v2.0.1-3-arm64 registry.cn-hangzhou.aliyuncs.com/goodrain/kubernetes-dashboard:v2.0.1-3
docker pull registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-resource-proxy:v5.5.0-release-arm64
docker tag registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-resource-proxy:v5.5.0-release-arm64 registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-resource-proxy:v5.5.0-release
docker pull registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-webcli:v5.5.0-release-arm64
docker tag registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-webcli:v5.5.0-release-arm64 registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-webcli:v5.5.0-release
docker pull registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-worker:v5.5.0-release-arm64
docker tag registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-worker:v5.5.0-release-arm64 registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-worker:v5.5.0-release
docker pull swr.cn-southwest-2.myhuaweicloud.com/wutong/nfs-provisioner:v1.0.0-stable
docker tag swr.cn-southwest-2.myhuaweicloud.com/wutong/nfs-provisioner:v1.0.0-stable registry.cn-hangzhou.aliyuncs.com/goodrain/nfs-provisioner
docker pull registry:2.6.2
docker tag registry:2.6.2 registry.cn-hangzhou.aliyuncs.com/goodrain/registry:2.6.2
docker pull mysql:8.0-oracle
docker tag mysql:8.0-oracle registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-db:8.0.19
docker pull prom/mysqld-exporter:latest
docker tag prom/mysqld-exporter:latest registry.cn-hangzhou.aliyuncs.com/goodrain/mysqld-exporter
docker pull rancher/metrics-server:v0.3.6-arm64
docker tag rancher/metrics-server:v0.3.6-arm64 registry.cn-hangzhou.aliyuncs.com/goodrain/metrics-server:v0.3.6
docker pull kubernetesui/metrics-scraper:v1.0.4
docker tag kubernetesui/metrics-scraper:v1.0.4 registry.cn-hangzhou.aliyuncs.com/goodrain/metrics-scraper:v1.0.4

最后console 界面导入集群

image

· 2 min read
成峰

新建一个markdown文件 blog/user/datetime/blog-tutorial.md,文件内容如下:

blog/user/datetime/blog-tutorial.md
# 大家好
这是我的第一个 梧桐PaaS **技术博客**!

· One min read
成峰

Blog posts support Docusaurus Markdown features, such as MDX.

tip

Use the power of React to create interactive blog posts.

<button onClick={() => alert('button clicked!')}>Click me!</button>