Skip to content

Commit

Permalink
feat: commit at 20240202041644
Browse files Browse the repository at this point in the history
  • Loading branch information
孔令飞 committed Feb 1, 2024
1 parent a4b521e commit 54acc02
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 23 deletions.
14 changes: 10 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,15 @@

# OneX 云原生实战平台

OneX 云原生实战平台是一个 Go 语言 + 云原生实战平台,也是一个企业级的云平台,具备超越一线大厂企业级应用的能力
OneX 云原生实战平台是一个 Go 语言 + 云原生实战平台,也是一个企业级的云平台,整个项目遵循最佳实践的思路去构建

OneX 项目通过提供功能完备、规范、高质量的 Go 源码来实现代码即学习的理念,通过配套的 Go 开发课程,来降低学习难度、扩展学习深度和广度。通过专有的云原生开发社群:[孔令飞的云原生实战营](http://konglingfei.com)来提高云原生技术学习的积极性和效率
OneX 项目通过提供功能完备、规范、高质量的 Go 源码来实现代码即学习的理念,通过配套的 Go 开发课程,来降低学习难度、扩展学习深度和广度。通过配套的云原生开发社群 [孔令飞的云原生实战营](http://konglingfei.com)来提高云原生技术学习的效果

> 为什么起名 OneX:OneX 寓意该实战项目具有功能全、扩展性强、灵活性高等特点。
## Features

OneX 项目实现了企业级应用需要的绝大部分技能点,详细请参考:[OneX 功能列表]()
OneX 项目实现了企业级应用需要的绝大部分技能点,详细请参考:[OneX 功能列表](http://konglingfei.com/onex/intro/feature.html)

OneX 实战项目同时还具有以下特点:
- 功能全:课程包含了 Go 开发生涯中几乎用到的所有及实战,包括但不限于以下 4 大技术栈:
Expand All @@ -57,7 +57,8 @@ OneX 实战项目同时还具有以下特点:
- 微服务技术栈:分布式日志、监控告警、服务编排、调用链、负载均衡、服务治理、配置中心等。
- 代码质量高:整个项目具有很高的代码质量,包括但不限于:遵循简洁架构、代码简洁健壮、接口性能高、高可维护性、高可扩展性等;
- 项目规范:规范先行。整个实战项目具有目录规范、代码规范、日志规范、错误码规范、文档规范、提交规范、版本规范等规范项;
- 生态闭环:整个项目用到了 Go 开发中的绝大部分功能点、技术栈和实现方式,完全可以通过一个实战项目闭环学习整个 Go 开发技术栈。
- 生态闭环:整个项目用到了 Go 开发中的绝大部分功能点、技术栈和实现方式,完全可以通过一个实战项目闭环学习整个 Go 开发技术栈;
- 微型 Kubernetes 架构:OneX 还是一个微型的 Kubernetes,onex-apiserver、onex-controller-manager 代码实现和架构,跟原生 k8s 基本保持一致;

## Architecture

Expand Down Expand Up @@ -119,7 +120,12 @@ $ onexctl --config ${ONEX_CONFIG_DIR}/onexctl.yaml minerset list
## Documentation

- [OneX 项目文档](http://konglingfei.com/onex)

重点文档:

- [OneX 项目开发指南](http://konglingfei.com/onex/devel/devel.html)
- [OneX 项目开发规范](http://konglingfei.com/onex/devel/devel.html)
- [OneX 项目开发流程](http://konglingfei.com/onex/devel/devel.html)

## Feedback

Expand Down
6 changes: 6 additions & 0 deletions cmd/onex-chatroom/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,9 @@

based on: kratos-chatroom


聊天室会对接 AI 模型,提供一些简单的智能服务,例如:
- 通过聊天,查看集群状态;
- 通过聊天扩缩容 minerset 副本数
- ...

22 changes: 12 additions & 10 deletions scripts/installation/etcd.sh
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ function onex::etcd::sbs::install()

# 创建 Etcd 配置文件
onex::util::sudo "mkdir -p /etc/etcd"
# Etcd 会输出日志到 ${ONEX_LOG_DIR},所以需要先创建该目录
onex::util::sudo "mkdir -p ${ONEX_LOG_DIR}"

echo ${LINUX_PASSWORD} | sudo -S cat << EOF | sudo tee /etc/etcd/config.yaml
name: onex
Expand All @@ -84,20 +86,20 @@ EOF
# Etcd systemd unit template from
# https://github.com/etcd-io/etcd/blob/main/contrib/systemd/etcd.service
[Unit]
Description=etcd key-value store
Documentation=https://github.com/etcd-io/etcd
After=network-online.target local-fs.target remote-fs.target time-sync.target
Wants=network-online.target local-fs.target remote-fs.target time-sync.target
Description=etcd key-value store # 指定了单元的描述,即 etcd 键值存储
Documentation=https://github.com/etcd-io/etcd # 提供了指向 etcd 项目文档的链接
After=network-online.target local-fs.target remote-fs.target time-sync.target # 指定了服务的启动顺序
Wants=network-online.target local-fs.target remote-fs.target time-sync.target # 指定了服务的启动依赖
[Service]
Type=notify
ExecStart=/usr/bin/etcd --config-file=/etc/etcd/config.yaml
Restart=always
RestartSec=10s
LimitNOFILE=40000
Type=notify # 指定了服务的类型。notify 类型表示服务会在准备就绪时发送通知
ExecStart=/usr/bin/etcd --config-file=/etc/etcd/config.yaml # 指定了服务启动时要执行的命令,这里是使用指定的配置文件启动 etcd
Restart=always # 指定了服务的重启行为。always 表示服务会在退出时总是被重启
RestartSec=10s # 指定了重启的间隔时间
LimitNOFILE=40000 # 指定了服务的文件描述符限制,这里设置为 40000
[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target # 指定了服务的安装目标,这里表示服务会被添加到 multi-user.target,以便在多用户模式下启动
EOF

onex::util::sudo "systemctl daemon-reload"
Expand Down
12 changes: 3 additions & 9 deletions scripts/installation/mariadb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ ONEX_PASSWORD=${ONEX_PASSWORD:-onex(#)666}
# Install mariadb using containerization.
function onex::mariadb::docker::install()
{
# 安装客户端工具,访问 MariaDB
onex::util::sudo "apt install -y mariadb-client"

onex::common::network
docker run -d --name onex-mariadb \
--network onex \
Expand All @@ -27,8 +30,6 @@ function onex::mariadb::docker::install()
-e MYSQL_ROOT_PASSWORD=${ONEX_PASSWORD} \
mariadb:11.2.2

onex::mariadb::post_install

echo "Sleeping to wait for all onex-mariadb container to complete startup ..."
sleep 10
onex::mariadb::status || return 1
Expand All @@ -45,11 +46,6 @@ function onex::mariadb::docker::uninstall()
onex::log::info "uninstall mariadb successfully"
}

function onex::mariadb::post_install()
{
onex::util::sudo "apt install -y mariadb-client"
}

# Install the mariadb step by step.
# sbs is the abbreviation for "step by step".
function onex::mariadb::sbs::install()
Expand Down Expand Up @@ -85,8 +81,6 @@ function onex::mariadb::sbs::install()
# 设置 root 初始密码
onex::util::sudo "mysqladmin -u${ONEX_MYSQL_ADMIN_USERNAME} password ${ONEX_MYSQL_ADMIN_PASSWORD}"

onex::mariadb::post_install

onex::mariadb::status || return 1
onex::mariadb::info
onex::log::info "install mariadb successfully"
Expand Down
3 changes: 3 additions & 0 deletions scripts/installation/onex.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ ONEX_ROOT=$(dirname "${BASH_SOURCE[0]}")/../..
[[ -z ${COMMON_SOURCED} ]] && source ${ONEX_ROOT}/scripts/installation/common.sh
# Set some environment variables.

source ${INSTALL_DIR}/man.sh

# Install onex using containerization.
function onex::onex::docker::install()
{
Expand Down Expand Up @@ -81,6 +83,7 @@ function onex::onex::build_artifacts()

# 构建需要的产物
# 构建服务二进制文件
echo "Building onex artifacts, this may take a while as it requires download go packages ..."
make build

# 生成 Systemd Unit 文件
Expand Down

0 comments on commit 54acc02

Please sign in to comment.