From 095cc4c91d85e05f3dedcfa4ccb6ffd8a7305e93 Mon Sep 17 00:00:00 2001 From: rambohe Date: Sun, 26 Sep 2021 20:50:12 -0700 Subject: [PATCH] docs: revise changelog and readme for releasing v0.5.0 (#503) --- CHANGELOG.md | 47 ++++++++++++++++++++++++++++++++++++++++++++++- README.md | 14 ++++++++++---- README.zh.md | 16 ++++++++++++---- 3 files changed, 68 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b215de557d..c76cfb90d89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,50 @@ # CHANGELOG +## v0.5.0 + +### What's New + +**Manage EdgeX Foundry system in OpenYurt in a cloud-native, non-intrusive way** + +- yurt-edgex-manager + + Yurt-edgex-manager enable OpenYurt to be able to manage the EdgeX lifecycle. Each EdgeX CR (Custom Resource) stands for an EdgeX instance. +Users can deploy/update/delete EdgeX in OpenYurt cluster by operate the EdgeX CR directly. ([yurt-edgex-manager](https://github.com/openyurtio/yurt-edgex-manager), [@yixingjia](https://github.com/yixingjia), [@lwmqwer](https://github.com/lwmqwer)) + +- yurt-device-controller + + Yurt-device-controller aims to provider device management functionalities to OpenYurt cluster by integrating with edge computing/IOT platforms, like EdgeX in a cloud native way. +It will automatically synchronize the device status to device CR (custom resource) in the cloud and any update to the device will pass through to the edge side seamlessly. More information can be found at: ([yurt-device-controller](https://github.com/openyurtio/yurt-device-controller), [@charleszheng44](https://github.com/charleszheng44), [@qclc](https://github.com/qclc), [@Peeknut](https://github.com/Peeknut), [@rambohe-ch](https://github.com/rambohe-ch), [@yixingjia](https://github.com/yixingjia)) + +**Yurt-tunnel support more flexible settings for forwarding requests from cloud to edge** + +- Support forward https request from cloud to edge for components(like prometheus) on the cloud nodes can access the https service(like node-exporter) on the edge node. +Please refer to the details: ([#442](https://github.com/openyurtio/openyurt/pull/442), [@rambohe-ch](https://github.com/rambohe-ch), [@Fei-Guo](https://github.com/Fei-Guo), [@DrmagicE](https://github.com/DrmagicE), [@SataQiu](https://github.com/SataQiu)) + +- support forward cloud requests to edge node's localhost endpoint for components(like prometheus) on cloud nodes collect edge components(like yurthub) metrics(http://127.0.0.1:10267). + Please refer to the details: ([#443](https://github.com/openyurtio/openyurt/pull/443), [@rambohe-ch](https://github.com/rambohe-ch), [@Fei-Guo](https://github.com/Fei-Guo)) + +### Other Notable Changes +- Proposal: YurtAppDaemon ([#422](https://github.com/openyurtio/openyurt/pull/422), [@kadisi](https://github.com/kadisi), [@zzguang](https://github.com/zzguang), [@gnunu](https://github.com/gnunu), [@Fei-Guo](https://github.com/Fei-Guo), [@rambohe-ch](https://github.com/rambohe-ch)) +- update yurtcluster operator proposal ([#429](https://github.com/openyurtio/openyurt/pull/429), [@SataQiu](https://github.com/SataQiu)) +- yurthub use original bearer token to forward requests for inclusterconfig pods ([#437](https://github.com/openyurtio/openyurt/pull/437), [@rambohe-ch](https://github.com/rambohe-ch)) +- yurthub support working on cloud nodes ([#483](https://github.com/openyurtio/openyurt/pull/483) and [#495](https://github.com/openyurtio/openyurt/pull/495), [@DrmagicE](https://github.com/DrmagicE)) +- support discard cloud service(like LoadBalancer service) on edge side ([#440](https://github.com/openyurtio/openyurt/pull/440), [@rambohe-ch](https://github.com/rambohe-ch), [@Fei-Guo](https://github.com/Fei-Guo)) +- improve list/watch node pool resource in serviceTopology filter ([#454](https://github.com/openyurtio/openyurt/pull/454), [@neo502721](https://github.com/neo502721)) +- add configmap to configure user agents for specify response cache. ([#466](https://github.com/openyurtio/openyurt/pull/466), [@rambohe-ch](https://github.com/rambohe-ch)) +- improve the usage of certificates ([#475](https://github.com/openyurtio/openyurt/pull/475), [@ke-jobs](https://github.com/ke-jobs)) +- improve unit tests for yurt-tunnel. ([#470](https://github.com/openyurtio/openyurt/pull/470), [@YRXING](https://github.com/YRXING)) +- stop renew node lease when kubelet's heartbeat is stopped ([#482](https://github.com/openyurtio/openyurt/pull/482), [@SataQiu](https://github.com/SataQiu)) +- add check-license-header script to github action ([#487](https://github.com/openyurtio/openyurt/pull/487), [@lonelyCZ](https://github.com/lonelyCZ)) +- Add tunnel server address for converting ([#494](https://github.com/openyurtio/openyurt/pull/494), [adamzhoul](https://github.com/adamzhoul)) + +### Bug Fixes + +- fix incomplete data copy of resource filter ([#452](https://github.com/openyurtio/openyurt/pull/452), [@SataQiu](https://github.com/SataQiu)) +- remove excess chan that will block the program ([#446](https://github.com/openyurtio/openyurt/pull/446), [@zc2638](https://github.com/zc2638)) +- use buffered channel for signal notifications ([#471](https://github.com/openyurtio/openyurt/pull/471), [@SataQiu](https://github.com/SataQiu)) +- add create to yurt-tunnel-server ClusterRole ([#500](https://github.com/openyurtio/openyurt/pull/500), [adamzhoul](https://github.com/adamzhoul)) + --- ## v0.4.1 @@ -33,7 +78,7 @@ In the cloud-edge scenario, In response to requests from edge components (such a Please refer to the [Proposal doc](https://github.com/openyurtio/openyurt/blob/master/docs/proposals/20210720-data-filtering-framework.md) for details. ([#388](https://github.com/openyurtio/openyurt/pull/388), [#394](https://github.com/openyurtio/openyurt/pull/394), [@rambohe-ch](https://github.com/rambohe-ch), [@Fei-Guo](https://github.com/Fei-Guo)) ### Other Notable Changes -- Yurtctl modify kube-controllersetting to close the nodelifecycle-controller ([#399](https://github.com/openyurtio/openyurt/pull/399), [@Peeknut](https://github.com/Peeknut))) +- Yurtctl modify kube-controllersetting to close the nodelifecycle-controller ([#399](https://github.com/openyurtio/openyurt/pull/399), [@Peeknut](https://github.com/Peeknut)) - Proposal: EdgeX integration with OpenYurt ([#357](https://github.com/openyurtio/openyurt/pull/357), [@yixingjia](https://github.com/yixingjia), [@lwmqwer](https://github.com/lwmqwer)) - Proposal: add ingress feature support to nodepool ([#373](https://github.com/openyurtio/openyurt/pull/373), [@zzguang](https://github.com/zzguang), [@wenjun93](https://github.com/wenjun93)) - Proposal: OpenYurt Convertor Operator for converting K8S to OpenYurt ([#389](https://github.com/openyurtio/openyurt/pull/389), [@gnunu](https://github.com/gnunu)) diff --git a/README.md b/README.md index 0642c3a11de..3d8c7410b6c 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@
-[![Version](https://img.shields.io/badge/OpenYurt-v0.4.1-orange)](CHANGELOG.md) +[![Version](https://img.shields.io/badge/OpenYurt-v0.5.0-orange)](CHANGELOG.md) [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) [![Go Report Card](https://goreportcard.com/badge/github.com/openyurtio/openyurt)](https://goreportcard.com/report/github.com/openyurtio/openyurt) @@ -14,6 +14,7 @@ English | [简体中文](./README.zh.md) |![notification](docs/img/bell-outline-badge.svg) What is NEW!| |------------------| +|September 26th, 2021. OpenYurt v0.5.0 is **RELEASED**! Please check the [CHANGELOG](CHANGELOG.md) for details.| |August 6th, 2021. OpenYurt v0.4.1 is **RELEASED**! Please check the [CHANGELOG](CHANGELOG.md) for details.| |March 21th, 2021. OpenYurt v0.4.0 is **RELEASED**! Please check the [CHANGELOG](CHANGELOG.md) for details.| |January 8th, 2021. OpenYurt v0.3.0 is **RELEASED**! Please check the [CHANGELOG](CHANGELOG.md) for details.| @@ -39,6 +40,7 @@ OpenYurt has the following advantages in terms of compatibility and usability. - **Node autonomy**. It provides mechanisms to tolerate unstable or disconnected cloud-edge networking. The applications run in the edge nodes are not affected even if the nodes are offline. - **Cloud platform agnostic**. OpenYurt can be easily deployed in any public cloud Kubernetes services. +- **Edge Device Management**. Non-intrusively integrate with EdgeX Foundry system and use Kubernetes CRDs to manage edge devices. ## Architecture @@ -71,6 +73,10 @@ The major OpenYurt components consist of: - **Node resource manager**: It manages local node resources of OpenYurt cluster in a unified manner. It currently manages LVM, QuotaPath and Pmem Memory. Please refer to [node-resource-manager](https://github.com/openyurtio/node-resource-manager) for more details. +- **Yurt-edgex-manager**: It manages EdgeX Foundry lifecycle(including deploy, delete, update) in OpenYurt cluster. + Please refer to [yurt-edgex-manager](https://github.com/openyurtio/yurt-edgex-manager) for more details. +- **Yurt-device-controller**: Leverage existing edge computing platforms, like EdgeX Foundry, and uses Kubernetes custom resources to manage edge devices. + Please refer to [yurt-device-controller](https://github.com/openyurtio/yurt-device-controller) for more details. ## Before you begin @@ -88,14 +94,14 @@ assuming the build system has golang 1.13+ and bash installed, you can simply do ```bash git clone https://github.com/openyurtio/openyurt.git cd openyurt -make WHAT=cmd/yurtctl +make build WHAT=cmd/yurtctl ``` The `yurtctl` binary can be found at `_output/bin`. To convert an existing Kubernetes cluster to an OpenYurt cluster, -the following simple command line can be used(support kubernetes clusters that managed by minikube, kubeadm, ACK and kind): +the following simple command line can be used(support kubernetes clusters that managed by minikube, kubeadm, kind): ```bash -_output/bin/yurtctl convert --provider [minikube|kubeadm|ack|kind] +_output/bin/yurtctl convert --provider [minikube|kubeadm|kind] ``` To uninstall OpenYurt and revert back to the original Kubernetes cluster settings, you can run the following command: diff --git a/README.zh.md b/README.zh.md index 531426717c3..ad1afa13306 100644 --- a/README.zh.md +++ b/README.zh.md @@ -4,7 +4,7 @@
-[![Version](https://img.shields.io/badge/OpenYurt-v0.4.1-orange)](CHANGELOG.md) +[![Version](https://img.shields.io/badge/OpenYurt-v0.5.0-orange)](CHANGELOG.md) [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) [![Go Report Card](https://goreportcard.com/badge/github.com/openyurtio/openyurt)](https://goreportcard.com/report/github.com/openyurtio/openyurt) @@ -14,6 +14,7 @@ |![notification](docs/img/bell-outline-badge.svg) What is NEW!| |------------------| +| 2021-09-26 OpenYurt v0.5.0 **正式发布**! 请查看 [CHANGELOG](CHANGELOG.md) 来获得更多更新细节.| | 2021-08-06 OpenYurt v0.4.1 **正式发布**! 请查看 [CHANGELOG](CHANGELOG.md) 来获得更多更新细节.| | 2021-05-21 OpenYurt v0.4.0 **正式发布**! 请查看 [CHANGELOG](CHANGELOG.md) 来获得更多更新细节.| | 2021-01-08 OpenYurt v0.3.0 **正式发布**! 请查看 [CHANGELOG](CHANGELOG.md) 来获得更多更新细节.| @@ -34,6 +35,7 @@ OpenYurt 适合如下这些常见的边缘计算用户场景: - **无缝转换**。它提供了一种工具,可以轻松地将本地 Kubernetes 转换为“边缘就绪”的集群;同时 OpenYurt 组件的额外资源和维护成本非常低。 - **节点自治**。它提供了容忍不稳定或断开连接的云边缘网络的机制。即使边缘节点脱机,在边缘节点中运行的应用程序也不会受到影响。 - **与云平台无关**。 OpenYurt 可以轻松部署在任何公共云 Kubernetes 服务中。 +- **边缘设备管理**。与EdgeX Foundry系统非侵入式集成,并使用Kubernetes CRDs管理边缘设备。 ## 架构 @@ -48,6 +50,12 @@ OpenYurt 的主要组件包括: - **Yurt App Manager**:它管理OpenYurt中引入的两个CRD资源。*[NodePool](docs/enhancements/20201211-nodepool_uniteddeployment.md)* 和 *[UnitedDeployment](docs/enhancements/20201211-nodepool_uniteddeployment.md)*. 前者为位于同一区域的节点池提供了便利的管理方法。 后者定义了一种新的边缘应用模型以节点池为单位来管理工作负载。 - **Yurt Tunnel (server/agent)**:`TunnelServer`通过反向代理与在每个边缘节点中运行的 TunnelAgent 守护进程建立连接并以此在公共云的控制平面 与 处于 企业内网( Intranet )环境的边缘节点之间建立安全的网络访问。 +- **Node resource manager**: 统一管理OpenYurt集群的本地节点资源。 目前支持管理LVM、QuotaPath和Pmem内存。 + 详情请参考[node-resource-manager](https://github.com/openyurtio/node-resource-manager)。 +- **Yurt-edgex-manager**: 主要用于在OpenYurt集群中管理EdgeX Foundry的生命周期(包括安装部署,删除,更新)。 + 详情请参考[yurt-edgex-manager](https://github.com/openyurtio/yurt-edgex-manager)。 +- **Yurt-device-controller**: Kubernetes系统和边缘计算平台(如EdgeX Foundry)的联结器,使用户可以通过Kubernetes CRDs来管理边缘设备。 + 详情请参考[yurt-device-controller](https://github.com/openyurtio/yurt-device-controller)。 ## 开始之前 @@ -60,13 +68,13 @@ OpenYurt 支持最高版本为1.18的 Kubernetes 。使用更高版本的 Kubern ```bash git clone https://github.com/openyurtio/openyurt.git cd openyurt -make WHAT=cmd/yurtctl +make build WHAT=cmd/yurtctl ``` -`yurtctl` 的二进制文件位于_output /bin 目录。如果需要将已存在的 Kubernetes 集群转换为 OpenYurt 集群,你可以使用如下简单的命令(目前支持minikube, kubeadm, ack, kind 四种工具安装的kubernetes集群): +`yurtctl` 的二进制文件位于_output /bin 目录。如果需要将已存在的 Kubernetes 集群转换为 OpenYurt 集群,你可以使用如下简单的命令(目前支持minikube, kubeadm, kind 三种工具安装的kubernetes集群): ```bash -_output/bin/yurtctl convert --provider [minikube|kubeadm|ack|kind] +_output/bin/yurtctl convert --provider [minikube|kubeadm|kind] ``` 要卸载 OpenYurt 并恢复为原始的 Kubernetes 集群设置,请运行以下命令: