From 3b4f7d128ebba0eecb8f8a8240f42d56eeecf85f Mon Sep 17 00:00:00 2001 From: windsonsea Date: Mon, 25 Mar 2024 11:15:38 +0800 Subject: [PATCH] Add 3 eco projects in community/ --- docs/en/docs/community/index.md | 58 +++++++------- docs/en/docs/community/kasmcloud.md | 93 ++++++++++++++++++++++ docs/en/docs/community/kube-node-tuning.md | 49 ++++++++++++ docs/en/docs/community/piraeus.md | 61 ++++++++++++++ docs/en/navigation.yml | 4 +- docs/zh/docs/community/index.md | 54 ++++++------- docs/zh/docs/community/kasmcloud.md | 93 ++++++++++++++++++++++ docs/zh/docs/community/kube-node-tuning.md | 49 ++++++++++++ docs/zh/docs/community/piraeus.md | 57 +++++++++++++ docs/zh/navigation.yml | 7 +- 10 files changed, 462 insertions(+), 63 deletions(-) create mode 100644 docs/en/docs/community/kasmcloud.md create mode 100644 docs/en/docs/community/kube-node-tuning.md create mode 100644 docs/en/docs/community/piraeus.md create mode 100644 docs/zh/docs/community/kasmcloud.md create mode 100644 docs/zh/docs/community/kube-node-tuning.md create mode 100644 docs/zh/docs/community/piraeus.md diff --git a/docs/en/docs/community/index.md b/docs/en/docs/community/index.md index abb9e60b2a..036e80dc98 100644 --- a/docs/en/docs/community/index.md +++ b/docs/en/docs/community/index.md @@ -27,10 +27,6 @@ hide: [:octicons-arrow-right-24: Learn more](./clusterpedia.md) - - -
- - :simple-amazonapigateway:{ .lg .middle } __egressgateway__ --- @@ -50,10 +46,6 @@ hide: [:octicons-arrow-right-24: Learn more](./fast.md) -
- -
- - :fontawesome-brands-trade-federation:{ .lg .middle } __FedState__ --- @@ -70,10 +62,6 @@ hide: [:octicons-arrow-right-24: Learn more](./ferry.md) -
- -
- - :material-storage-tank:{ .lg .middle } __HwameiStor__ :simple-cncf: Listed in CNCF Sandbox and Landscape --- @@ -82,6 +70,14 @@ hide: [:octicons-arrow-right-24: Learn more](./hwameistor.md) +- :simple-kasasmart:{ .lg .middle } __KasmCloud__ + + --- + + Managing and Running Actors, Providers, and Links in Kubernetes. + + [:octicons-arrow-right-24: Learn more](./kasmcloud.md) + - :material-doctor:{ .lg .middle } __kdoctor__ --- @@ -90,10 +86,6 @@ hide: [:octicons-arrow-right-24: Learn more](./kdoctor.md) -
- -
- - :simple-kubernetes:{ .lg .middle } __KLTS__ --- @@ -102,17 +94,21 @@ hide: [:octicons-arrow-right-24: Learn more](./klts.md) -- :peanuts:{ .lg .middle } __Kubean__ :simple-cncf: Listed in CNCF Landscape +- :material-tune:{ .lg .middle } __kube-node-tuning__ --- - A full life cycle management tool for containerized clusters that is applying for Sandbox. + kube-node-tuning is aimed at kernel tuning by kubernetes. [:octicons-arrow-right-24: Learn more](./kubean.md) -
+- :peanuts:{ .lg .middle } __Kubean__ :simple-cncf: Listed in CNCF Landscape -
+ --- + + A full life cycle management tool for containerized clusters that is applying for Sandbox. + + [:octicons-arrow-right-24: Learn more](./kubean.md) - :material-forest:{ .lg .middle } __KWOK__ :simple-cncf: One of the K8s-sigs projects @@ -130,10 +126,6 @@ hide: [:octicons-arrow-right-24: Learn more](./merbridge.md) -
- -
- - :material-debug-step-over:{ .lg .middle } __miragedebug__ --- @@ -142,17 +134,13 @@ hide: [:octicons-arrow-right-24: Learn more](./miragedebug.md) -- :spider:{ .lg .middle } __Spiderpool__ :simple-cncf: Listed in CNCF Sandbox +- :material-tape-drive:{ .lg .middle } __Piraeus__ --- - An underlay and RDMA network solution for Kubernetes with bare metal, virtual machines, and public clouds. + a high performance, highly-available, simple, secure, and cloud agnostic storage solution for Kubernetes. - [:octicons-arrow-right-24: Learn more](./spiderpool.md) - -
- -
+ [:octicons-arrow-right-24: Learn more](./piraeus.md) - :speedboat:{ .lg .middle } __Public Mirror Acceleration__ @@ -162,6 +150,14 @@ hide: [:octicons-arrow-right-24: Learn more](./mirror.md) +- :spider:{ .lg .middle } __Spiderpool__ :simple-cncf: Listed in CNCF Sandbox + + --- + + An underlay and RDMA network solution for Kubernetes with bare metal, virtual machines, and public clouds. + + [:octicons-arrow-right-24: Learn more](./spiderpool.md) + - :simple-iconify:{ .lg .middle } __DaoCloud Icons Library__ --- diff --git a/docs/en/docs/community/kasmcloud.md b/docs/en/docs/community/kasmcloud.md new file mode 100644 index 0000000000..e980ff7450 --- /dev/null +++ b/docs/en/docs/community/kasmcloud.md @@ -0,0 +1,93 @@ +
+

KasmCloud

+ +Managing and Running Actors, Providers, and Links in Kubernetes +
+ +## :warning:Warning + +**This is a contributor-led experimental project and is not recommended to run in production at this time.** + +With each tag, it works fine, but there may be incompatible changes between tags. + +## Design + +[Combining WasmCloud with Kubernetes](https://docs.google.com/document/d/16p-9czZ6GT_layiabGE6HTyVpbYSALjoyxXhgIfYW0s/edit#heading=h.ymjg4q1g3smk) + +
+ +## Quick Start + +1. Deploy Nats + + ```bash + helm repo add nats https://nats-io.github.io/k8s/helm/charts/ + helm repo update + helm upgrade --install kasmcloud-nats nats/nats + ``` + +2. Deploy KasmCloud CRDs and Webhook Server + + ```bash + kubectl apply -f ./deploy/crds + kubectl apply -f ./deploy/webhook + ``` + +3. Deploy KasmCloud Host + + ```bash + kubectl apply -f ./deploy/kasmcloud_host_rbac.yaml + + # Deploy Default KasmCloud Host + kubectl apply -f ./deploy/kasmcloud_host_default.yaml + + # [Optional] You can also deploy KasmCloud Host in each Kubernetes node. + kubectl apply -f ./deploy/kasmcloud_host_daemonset.yaml + + # [Optional] You can also deploy as many temporary hosts as you want + # and change the number of temporary hosts by scaling the Deployment + kubectl apply -f ./deploy/kasmcloud_host_deployment.yaml + ``` + +4. Deploy Actor, Link and Provider Sample + + ```bash + kubectl apply -f ./sample.yaml + kubectl get kasmcloud + ``` + + Output is similar to: + + ```console + NAME DESC PUBLICKEY REPLICAS AVAILABLEREPLICAS CAPS IMAGE + actor.kasmcloud.io/echo-default Echo MBCFOPM6JW2APJLXJD3Z5O4CN7CPYJ2B4FTKLJUR5YR5MITIU7HD3WD5 10 10 ["wasmcloud:httpserver","wasmcloud:builtin:logging"] wasmcloud.azurecr.io/echo:0.3.8 + + NAME CONTRACTID LINK ACTORYKEY PROVIDERKEY + link.kasmcloud.io/httpserver-echo wasmcloud:httpserver test MBCFOPM6JW2APJLXJD3Z5O4CN7CPYJ2B4FTKLJUR5YR5MITIU7HD3WD5 VAG3QITQQ2ODAOWB5TTQSDJ53XK3SHBEIFNK4AYJ5RKAX2UNSCAPHA5M + + NAME DESC PUBLICKEY LINK CONTRACTID IMAGE + provider.kasmcloud.io/httpserver-default HTTP Server VAG3QITQQ2ODAOWB5TTQSDJ53XK3SHBEIFNK4AYJ5RKAX2UNSCAPHA5M test wasmcloud:httpserver ghcr.io/iceber/wasmcloud/httpserver:0.17.0-index + ``` + +5. curl echo server + + ```bash + # other terminal + kubectl port-forward pod/kasmcloud-host-default 8080:8080 + + curl 127.0.0.1:8080 + {"body":[],"method":"GET","path":"/","query_string":""} + ``` + +## RoadMap + +* Add KasmCloudHost resource +* Add status information for the resource +* Add Kasmcloud Repeater module +* Add rolling updates for Actor +* Add DaemonSet deployment for Actor +* Blue/Green Deployment for Actors and Providers + +## Reference + +- [kasmcloud repo](https://github.com/wasmCloud/kasmcloud) diff --git a/docs/en/docs/community/kube-node-tuning.md b/docs/en/docs/community/kube-node-tuning.md new file mode 100644 index 0000000000..0222445c08 --- /dev/null +++ b/docs/en/docs/community/kube-node-tuning.md @@ -0,0 +1,49 @@ +# kube-node-tuning + +kube-node-tuning is aimed at kernel tuning by kubernetes. It's useful to: + +* High performance application +* Large Scale Cluster +* Network Tuning + +## Quick Start + +```bash +export VERSION=v0.3.1 +helm repo add kube-node-tuning https://kubean-io.github.io/kube-node-tuning/ +helm install -n kube-node-tuning kube-node-tuning kube-node-tuning/kube-node-tuning --version $VERSION --create-namespace +``` + +!!! tip + + If the machine is in China, you should following by: [quick-start-in-china](docs/quick-start-in-china.md) + +The kernel's sysctl settings are applied to the node at /etc/99-kube-node-tuning.conf. + +Check if the settings are applied by the following command. +SSH to the node of cluster + +```bash +cat /etc/sysctl.d/99-kube-node-tuning.conf +sysctl -a # view the sysctl setting +``` + +## Configuration + +```bash +# Change the config +kubectl -n kube-node-tuning edit cm/kube-node-tuning-config -o yaml + +# Restart the DaemonSet +kubectl -n kube-node-tuning rollout restart ds kube-node-tuning +``` + +## Roadmap + +* Different OS Support. (Ubuntu, CentOS, RHEL, etc.) +* Multi profile +* Operator instead of Daemonset + +## Reference + +- [kube-node-tunning repo](https://github.com/kubean-io/kube-node-tuning) diff --git a/docs/en/docs/community/piraeus.md b/docs/en/docs/community/piraeus.md new file mode 100644 index 0000000000..bc7824b0a6 --- /dev/null +++ b/docs/en/docs/community/piraeus.md @@ -0,0 +1,61 @@ +# Piraeus Datastore - High-Availability Datastore for Kubernetes + +Piraeus is a high performance, highly-available, simple, secure, and cloud agnostic storage solution for Kubernetes. + +The Piraeus Project consists of: + +* A [Kubernetes Operator](https://github.com/piraeusdatastore/piraeus-operator) to create, configure and maintain all components of Piraeus. +* A [CSI Driver](https://github.com/piraeusdatastore/linstor-csi) to provision persistent volumes and snapshots on the storage cluster maintained by Piraeus. +* A [High Availability Controller](https://github.com/piraeusdatastore/piraeus-ha-controller) to speed up the failover process of stateful workloads +* A [Volume Affinity Controller](https://github.com/piraeusdatastore/linstor-affinity-controller), keeping Kubernetes Persistent Volumes reported affinity in sync with the cluster. +* Container images for the open source components Piraeus is built on: + * [DRBD](https://github.com/LINBIT/drbd) is used as the underlying storage replication mechanism between cluster nodes. + [Documentation](https://docs.linbit.com/docs/users-guide-9.0/) is provided by [LINBIT](https://www.linbit.com/). + * [LINSTOR](https://github.com/LINBIT/linstor-server) creates and manages volumes on request of the CSI Driver, sets up replication using DRBD and prepares + the backing storage devices. + [Documentation](https://docs.linbit.com/docs/linstor-guide/) is provided by [LINBIT](https://www.linbit.com/). + +Piraeus is a [CNCF Sandbox Project](https://www.cncf.io/sandbox-projects/). + +## Getting started + +Installing Piraeus can be as easy as: + +```bash +$ kubectl apply --server-side -k "https://github.com/piraeusdatastore/piraeus-operator//config/default?ref=v2" +namespace/piraeus-datastore configured +... +$ kubectl wait pod --for=condition=Ready -n piraeus-datastore -l app.kubernetes.io/component=piraeus-operator +pod/piraeus-operator-controller-manager-dd898f48c-bhbtv condition met +$ kubectl apply -f - < - -
- - :simple-amazonapigateway:{ .lg .middle } __egressgateway__ --- @@ -50,10 +46,6 @@ hide: [:octicons-arrow-right-24: 了解更多](./fast.md) -
- -
- - :fontawesome-brands-trade-federation:{ .lg .middle } __FedState__ --- @@ -70,10 +62,6 @@ hide: [:octicons-arrow-right-24: 了解更多](./ferry.md) -
- -
- - :material-storage-tank:{ .lg .middle } __HwameiStor__ :simple-cncf: 已入选 CNCF Landscape 和 Sandbox --- @@ -82,6 +70,14 @@ hide: [:octicons-arrow-right-24: 了解更多](./hwameistor.md) +- :simple-kasasmart:{ .lg .middle } __KasmCloud__ + + --- + + 在 Kubernetes 中管理和运行 Actor、Provider 和 Link + + [:octicons-arrow-right-24: Learn more](./kasmcloud.md) + - :material-doctor:{ .lg .middle } __kdoctor__ --- @@ -90,10 +86,6 @@ hide: [:octicons-arrow-right-24: 了解更多](./kdoctor.md) -
- -
- - :simple-kubernetes:{ .lg .middle } __KLTS__ --- @@ -102,17 +94,21 @@ hide: [:octicons-arrow-right-24: 了解更多](./klts.md) -- :peanuts:{ .lg .middle } __Kubean__ :simple-cncf: 已入选 CNCF Landscape +- :material-tune:{ .lg .middle } __kube-node-tuning__ --- - 容器化集群的全生命周期管理工具,正在申请 Sandbox + kube-node-tuning 旨在通过 Kubernetes 调优内核 - [:octicons-arrow-right-24: 了解更多](./kubean.md) + [:octicons-arrow-right-24: Learn more](./kubean.md) -
+- :peanuts:{ .lg .middle } __Kubean__ :simple-cncf: 已入选 CNCF Landscape -
+ --- + + 容器化集群的全生命周期管理工具,正在申请 Sandbox。 + + [:octicons-arrow-right-24: 了解更多](./kubean.md) - :material-forest:{ .lg .middle } __KWOK__ :simple-cncf: K8s-sigs 项目之一 @@ -130,10 +126,6 @@ hide: [:octicons-arrow-right-24: 了解更多](./merbridge.md) -
- -
- - :material-debug-step-over:{ .lg .middle } __miragedebug__ --- @@ -142,6 +134,14 @@ hide: [:octicons-arrow-right-24: 了解更多](./miragedebug.md) +- :material-tape-drive:{ .lg .middle } __Piraeus__ + + --- + + 一个适用于 Kubernetes 的高性能、高可用、简单、安全且与云无关的存储解决方案 + + [:octicons-arrow-right-24: Learn more](./piraeus.md) + - :spider:{ .lg .middle } __Spiderpool__ :simple-cncf: 已入选 CNCF Landscape 和 Sandbox --- @@ -150,10 +150,6 @@ hide: [:octicons-arrow-right-24: 了解更多](./spiderpool.md) -
- -
- - :speedboat:{ .lg .middle } __公开镜像加速__ --- diff --git a/docs/zh/docs/community/kasmcloud.md b/docs/zh/docs/community/kasmcloud.md new file mode 100644 index 0000000000..22e812c219 --- /dev/null +++ b/docs/zh/docs/community/kasmcloud.md @@ -0,0 +1,93 @@ +
+

KasmCloud

+ +在 Kubernetes 中管理和运行 Actors、Providers 和 Links + +
+ +## :warning:警告 + +**这是一个由贡献者领导的实验性项目,目前不建议在生产环境中运行。** + +每个标签都可以正常工作,但在标签之间可能存在不兼容的更改。 + +## 设计 + +[将 WasmCloud 与 Kubernetes 结合](https://docs.google.com/document/d/16p-9czZ6GT_layiabGE6HTyVpbYSALjoyxXhgIfYW0s/edit#heading=h.ymjg4q1g3smk) + +
+ +## 快速开始 + +1. 部署 Nats + + ```bash + helm repo add nats https://nats-io.github.io/k8s/helm/charts/ + helm repo update + helm upgrade --install kasmcloud-nats nats/nats + ``` + +2. 部署 KasmCloud CRDs 和 Webhook 服务器 + + ```bash + kubectl apply -f ./deploy/crds + kubectl apply -f ./deploy/webhook + ``` + +3. 部署 KasmCloud Host + + ```bash + kubectl apply -f ./deploy/kasmcloud_host_rbac.yaml + + # 部署默认的 KasmCloud Host + kubectl apply -f ./deploy/kasmcloud_host_default.yaml + + # [可选] 您也可以在每个 Kubernetes 节点上部署 KasmCloud Host + kubectl apply -f ./deploy/kasmcloud_host_daemonset.yaml + + # [可选] 您还可以部署任意数量的临时主机,并通过扩展 Deployment 来更改临时主机的数量 + kubectl apply -f ./deploy/kasmcloud_host_deployment.yaml + ``` + +4. 部署 Actor、Link 和 Provider 示例 + + ```bash + kubectl apply -f ./sample.yaml + kubectl get kasmcloud + ``` + + 输出为: + + ```console + NAME DESC PUBLICKEY REPLICAS AVAILABLEREPLICAS CAPS IMAGE + actor.kasmcloud.io/echo-default Echo MBCFOPM6JW2APJLXJD3Z5O4CN7CPYJ2B4FTKLJUR5YR5MITIU7HD3WD5 10 10 ["wasmcloud:httpserver","wasmcloud:builtin:logging"] wasmcloud.azurecr.io/echo:0.3.8 + + NAME CONTRACTID LINK ACTORYKEY PROVIDERKEY + link.kasmcloud.io/httpserver-echo wasmcloud:httpserver test MBCFOPM6JW2APJLXJD3Z5O4CN7CPYJ2B4FTKLJUR5YR5MITIU7HD3WD5 VAG3QITQQ2ODAOWB5TTQSDJ53XK3SHBEIFNK4AYJ5RKAX2UNSCAPHA5M + + NAME DESC PUBLICKEY LINK CONTRACTID IMAGE + provider.kasmcloud.io/httpserver-default HTTP Server VAG3QITQQ2ODAOWB5TTQSDJ53XK3SHBEIFNK4AYJ5RKAX2UNSCAPHA5M test wasmcloud:httpserver ghcr.io/iceber/wasmcloud/httpserver:0.17.0-index + ``` + +5. 使用 curl 访问 echo 服务器 + + ```bash + # 在另一个终端中 + kubectl port-forward pod/kasmcloud-host-default 8080:8080 + + curl 127.0.0.1:8080 + {"body":[],"method":"GET","path":"/","query_string":""} + ``` + +## 路线图 + +- 添加 KasmCloudHost 资源 +- 为资源添加状态信息 +- 添加 Kasmcloud Repeater 模块 +- 为 Actor 添加滚动更新 +- 为 Actor 添加 DaemonSet 部署 +- Actors 和 Providers 的蓝/绿部署 + +## 参考链接 + +- [kasmcloud 仓库](https://github.com/wasmCloud/kasmcloud) diff --git a/docs/zh/docs/community/kube-node-tuning.md b/docs/zh/docs/community/kube-node-tuning.md new file mode 100644 index 0000000000..496ee188d7 --- /dev/null +++ b/docs/zh/docs/community/kube-node-tuning.md @@ -0,0 +1,49 @@ +# kube-node-tuning + +kube-node-tuning 旨在通过 Kubernetes 进行内核调优。它对以下情况很有用: + +- 高性能应用程序 +- 大规模集群 +- 网络调优 + +## 快速开始 + +```bash +export VERSION=v0.3.1 +helm repo add kube-node-tuning https://kubean-io.github.io/kube-node-tuning/ +helm install -n kube-node-tuning kube-node-tuning kube-node-tuning/kube-node-tuning --version $VERSION --create-namespace +``` + +!!! 提示 + + 如果机器位于中国,请按照以下步骤进行:[在中国快速开始](docs/quick-start-in-china.md) + +内核的 sysctl 设置将应用于节点的 `/etc/99-kube-node-tuning.conf` 文件。 + +通过以下命令检查设置是否已应用。 +SSH 到集群的节点 + +```bash +cat /etc/sysctl.d/99-kube-node-tuning.conf +sysctl -a # 查看sysctl设置 +``` + +## 配置 + +```bash +# 修改配置 +kubectl -n kube-node-tuning edit cm/kube-node-tuning-config -o yaml + +# 重启DaemonSet +kubectl -n kube-node-tuning rollout restart ds kube-node-tuning +``` + +## 路线图 + +- 不同操作系统支持(Ubuntu,CentOS,RHEL 等) +- 多个配置文件 +- 使用 Operator 替代 DaemonSet + +## 参考链接 + +- [kube-node-tunning 仓库](https://github.com/kubean-io/kube-node-tuning) diff --git a/docs/zh/docs/community/piraeus.md b/docs/zh/docs/community/piraeus.md new file mode 100644 index 0000000000..13af3ac41b --- /dev/null +++ b/docs/zh/docs/community/piraeus.md @@ -0,0 +1,57 @@ +# Piraeus 数据存储 - Kubernetes 的高可用性数据存储 + +Piraeus 是一个高性能、高可用、简单、安全且与云无关的存储解决方案,适用于 Kubernetes。 + +Piraeus 项目包括: + +* [Kubernetes Operator](https://github.com/piraeusdatastore/piraeus-operator),用于创建、配置和维护 Piraeus 的所有组件。 +* [CSI Driver](https://github.com/piraeusdatastore/linstor-csi),用于在 Piraeus 维护的存储集群上提供持久卷和快照。 +* [高可用性控制器](https://github.com/piraeusdatastore/piraeus-ha-controller),用于加速有状态工作负载的故障转移过程。 +* [卷关联控制器](https://github.com/piraeusdatastore/linstor-affinity-controller),保持 Kubernetes 持久卷上报的关联与集群同步。 +* Piraeus 构建在开源组件的容器映像上: + * [DRBD](https://github.com/LINBIT/drbd) 用作集群节点之间的基础存储复制机制。 + [文档](https://docs.linbit.com/docs/users-guide-9.0/)由 [LINBIT](https://www.linbit.com/) 提供。 + * [LINSTOR](https://github.com/LINBIT/linstor-server)根据 CSI Driver 的请求创建和管理卷,使用 DRBD 设置复制并准备后备存储设备。 + [文档](https://docs.linbit.com/docs/linstor-guide/)由 [LINBIT](https://www.linbit.com/) 提供。 + +Piraeus 是一个 [CNCF 沙盒项目](https://www.cncf.io/sandbox-projects/)。 + +## 入门 + +安装 Piraeus 可能就像这样简单: + +```bash +$ kubectl apply --server-side -k "https://github.com/piraeusdatastore/piraeus-operator//config/default?ref=v2" +namespace/piraeus-datastore configured +... +$ kubectl wait pod --for=condition=Ready -n piraeus-datastore -l app.kubernetes.io/component=piraeus-operator +pod/piraeus-operator-controller-manager-dd898f48c-bhbtv condition met +$ kubectl apply -f - <