Releases: openyurtio/openyurt
v1.1.0
v1.1.0
What's New
Support OTA/Auto upgrade model for DaemonSet workload
Extend native DaemonSet OnDelete
upgrade model by providing OTA and Auto two upgrade models.
- OTA: workload owner can control the upgrade of workload through the exposed REST API on edge nodes.
- Auto: Solve the DaemonSet upgrade process blocking problem which caused by node NotReady when the cloud-edge is disconnected.
Support autonomy feature validation in e2e tests
In order to test autonomy feature, network interface of control-plane is disconnected for simulating cloud-edge network disconnected, and then stop components(like kube-proxy, flannel, coredns, etc.) and check the recovery of these components.
Improve the Yurthub configuration for enabling the data filter function
Compares to the previous three configuration items, which include the component name, resource, and request verb. after improvement, only component name is need to configure for enabling data filter function. the original configuration format is also supported in order to keep consistency.
Other Notable changes
- cache agent change optimize by @huiwq1990 in #1008
- Check if error via ListKeys of Storage Interface. by @fujitatomoya in #1015
- Add released openyurt versions to projectInfo when building binaries by @Congrool in #1016
- add auto pod upgrade controller for daemoset by @xavier-hou in #970
- add ota update RESTful API by @xavier-hou in #1004
- make servicetopology filter in yurthub work properly when service or nodepool change by @LinFCai in #1019
- improve data filter framework by @rambohe-ch in #1025
- add proposal to unify cloud edge comms solution by @zzguang in #1027
- improve health checker for adapting coordinator by @rambohe-ch in #1032
- Edge-autonomy-e2e-test implementation by @lorrielau in #1022
- improve e2e tests for supporting mac env and coredns autonomy by @rambohe-ch in #1045
- proposal of yurthub cache refactoring by @Congrool in #897
Fixes
- even no endpoints left after filter, an empty object should be returned to clients by @rambohe-ch in #1028
- non resource handle miss for coredns by @rambohe-ch in #1044
Contributors
Thank you to everyone who contributed to this release! ❤
- @windydayc
- @luc99hen
- @Congrool
- @huiwq1990
- @fujitatomoya
- @LinFCai
- @xavier-hou
- @lorrielau
- @YTGhost
- @zzguang
- @Lan-ce-lot
And thank you very much to everyone else not listed here who contributed in other ways like filing issues, giving feedback, helping users in community group, etc. ️
Full Changelog: v1.0.0...v1.1.0
v1.0.1
What's Changed
- [Backport release-v1.0] bugfix: even no endpoints left after filter, an empty object should be returned to clients by @github-actions in #1030
Full Changelog: v1.0.0...v1.0.1
v1.0.0
We're excited to announce the release of OpenYurt 1.0.0!🎉🎉🎉
Thanks to all the new and existing contributors who helped make this release happen!
If you're new to OpenYurt, feel free to browse OpenYurt website, then start with OpenYurt Installation and learn about its core concepts.
Acknowledgements ❤️
Nearly 20 people have contributed to this release and 8 of them are new contributors, Thanks to everyone!
@huiwq1990 @Congrool @zhangzhenyuyu @rambohe-ch @gnunu @LinFCai @guoguodan @ankyit @luckymrwang @zzguang @HXCGIT @Sodawyx @luc99hen @River-sh @slm940208 @windydayc @lorrielau @fujitatomoya @donychen1134
What's New
API version
The version of NodePool
API has been upgraded to v1beta1
, more details in the openyurtio/yurt-app-manager#104
Meanwhile, all APIs management in OpenYurt will be migrated to openyurtio/api repo, and we recommend you to import this package to use APIs of OpenYurt.
Code Quality
We track unit test coverage with CodeCov
Code coverage for some repos as following:
- openyurtio/openyurt: 47%
- openyurtio/yurt-app-manager: 37%
- openyurtio/raven: 53%
and more details of unit tests coverage can be found in https://codecov.io/gh/openyurtio
In addition to unit tests, other levels of testing are also added.
- upgrade e2e test for openyurt by @lorrielau in #945
- add fuzz test for openyurtio/yurt-app-manager by @huiwq1990 in openyurtio/yurt-app-manager#67
- e2e test for openyurtio/yurt-app-manager by @huiwq1990 in openyurtio/yurt-app-manager#107
Performance Test
OpenYurt makes Kubernetes work in cloud-edge collaborative environment with a non-intrusive design. so performance of
some OpenYurt components have been considered carefully. several test reports have been submitted so that end users can clearly
see the working status of OpenYurt components.
- yurthub performance test report by @luc99hen in https://openyurt.io/docs/test-report/yurthub-performance-test
- pods recovery efficiency test report by @Sodawyx in https://openyurt.io/docs/test-report/pod-recover-efficiency-test
Installation Upgrade
early installation way(convert K8s to OpenYurt) is removed. OpenYurt Cluster installation is divided into two parts:
and all Control Plane Components of OpenYurt are managed by helm charts in repo: https://github.com/openyurtio/openyurt-helm
Other Notable changes
- upgrade kubeadm to 1.22 by @huiwq1990 in #864
- [Proposal] Proposal to install openyurt components using helm by @zhangzhenyuyu in #849
- support yurtadm token subcommand by @huiwq1990 in #875
- bugfix: only set signer name when not nil in order to prevent panic. by @rambohe-ch in #877
- [proposal] add proposal of multiplexing cloud-edge traffic by @rambohe-ch in #804
- yurthub return fake token when edge node disconnected with K8s APIServer by @LinFCai in #868
- deprecate cert-mgr-mode option of yurthub by @Congrool in #901
- [Proposal] add proposal of daemosnet update model by @HXCGIT in #921
- fix: cache the server version info of kubernetes by @Sodawyx in #936
- add yurt-tunnel-dns yaml by @rambohe-ch in #956
- Separate YurtHubHost & YurtHubProxyHost by @luc99hen in #959
- merge endpoints filter into service topology filter by @rambohe-ch in #963
- support yurtadm join to join multiple master nodes by @windydayc in #964
- feature: add lantency metrics for yurthub by @luc99hen in #965
- bump ginkgo to v2 by @lorrielau in #945
- beta.kubernetes.io is deprecated, use kubernetes.io instead by @fujitatomoya in #969
Full Changelog: v0.7.0...v1.0.0-rc1
Thanks again to all the contributors!
v1.0.0-rc1
The release candidate for OpenYurt v1.0.0.
v0.7.1
What's Changed
- [Backport release-v0.7] check yurthub parameter exist when exec yurtadm join by @github-actions in #974
- [Backport release-v0.7] bugfix: only set signer name when not nil in order to prevent panic. by @github-actions in #975
- [Backport release-v0.7] yurthub return fake token when edge node disconnected with K8s APIServer by @github-actions in #976
- [Backport release-v0.7] fix: cache the server version info of kubernetes by @github-actions in #977
New Contributors
Full Changelog: v0.7.0...v0.7.1
v0.7.0
This is an official release. Please check the CHANGELOG for a list of changes compared to previous release.
Images:
The official openyurt v0.7.0 images are in hosted under dockerhub and alicloud. and component images list as following:
openyurt/yurt-controller-manager:v0.7.0
openyurt/yurt-tunnel-server:v0.7.0
openyurt/yurt-tunnel-agent:v0.7.0
openyurt/yurthub:v0.7.0
openyurt/node-servant:v0.7.0
openyurt/yurt-app-manager:v0.5.0
and if pull images from dockerhub timeout, you can use v0.7.0 images in the repo: registry.cn-hangzhou.aliyuncs.com/openyurt/
that hosted on alicloud.
Get Started
There are several ways to install OpenYurt cluster and you can choose the way that matches your situation.
Methods | Instruction | Estimated time |
---|---|---|
Try via OpenYurt experience center | OpenYurt experience center | < 1 minutes |
Install a new Kubernetes cluster with all OpenYurt components from scratch | yurtadm init/join | < 5 minutes |
Install an OpenYurt cluster manually based on Kubernetes cluster | manual | > 10 minutes |
v0.6.1
What's Changed
- Fix: panic happened when x-tunnel-server-svc service type is lb by @rambohe-ch in #724
- Fix: tunnel-server supports to proxy requests that access tunnel-server directly with specified destination by @rambohe-ch in #725
- Fix: cache-agent for yurthub support '*' by @hhstu in #727
- Fix: add NoArgs check for cmds by @Congrool in #728
- Fix: not initialized sets.String cause panic by @DrmagicE in #733
Images
The official openyurt v0.6.1 images are in hosted under dockerhub and alicloud. and component images list as following:
openyurt/yurt-controller-manager:v0.6.1
openyurt/yurt-tunnel-server:v0.6.1
openyurt/yurt-tunnel-agent:v0.6.1
openyurt/yurthub:v0.6.1
openyurt/yurt-app-manager:v0.5.0
and if pull images from dockerhub timeout, you can use v0.6.1 images in the repo: registry.cn-hangzhou.aliyuncs.com/openyurt/ that hosted on alicloud.
v0.6.0
This is an official release. Please check the CHANGELOG for a list of changes compared to previous release.
Images:
The official openyurt v0.6.0 images are in hosted under dockerhub and alicloud. and component images list as following:
openyurt/yurt-controller-manager:v0.6.0
openyurt/yurt-tunnel-server:v0.6.0
openyurt/yurt-tunnel-agent:v0.6.0
openyurt/yurthub:v0.6.0
openyurt/yurt-app-manager:v0.5.0
and if pull images from dockerhub timeout, you can use v0.6.0 images in the repo: registry.cn-hangzhou.aliyuncs.com/openyurt/
that hosted on alicloud.
Get Started
There are several ways to install OpenYurt cluster and you can choose the way that matches your situation.
Situations | Installation | Link | installation time |
---|---|---|---|
only have edge worker nodes | OpenYurt Experience Center | https://openyurt.io/docs/next/installation/openyurt-experience-center/overview | < 1min |
install an OpenYurt cluster from scratch | yurtctl init/join | https://openyurt.io/docs/next/installation/yurtctl-init-join | <5min |
convert a Kubernetes cluster to OpenYurt cluster in a declarative way | yurtcluster-operator | https://openyurt.io/docs/next/installation/yurtcluster | <5min |
convert a Kubernetes cluster to OpenYurt cluster in a imperative way | yurtctl convert/revert | https://openyurt.io/docs/next/installation/yurtctl-convert-revert | <5min |
convert a Kubernetes cluster to OpenYurt cluster in manual way | - | https://openyurt.io/docs/next/installation/manually-setup | >10min |
V0.5.0
This is an official release. Please check the CHANGELOG for a list of changes compared to previous release.
The official openyurt v0.5.0 images are in hosted under dockerhub and alicloud.
To convert a Kubernetes cluster using the v0.5.0 dockerhub images, use the following command:
yurtctl convert --deploy-yurttunnel --cloud-nodes {node-name} --provider kubeadm\
--yurt-controller-manager-image="openyurt/yurt-controller-manager:v0.5.0"\
--yurt-tunnel-agent-image="openyurt/yurt-tunnel-agent:v0.5.0"\
--yurt-tunnel-server-image="openyurt/yurt-tunnel-server:v0.5.0"\
--yurtctl-servant-image="openyurt/yurtctl-servant:v0.5.0"\
--yurthub-image="openyurt/yurthub:v0.5.0"
and if pull images from dockerhub timeout, you can use v0.5.0 images hosted on alicloud, use the following command:
yurtctl convert --deploy-yurttunnel --cloud-nodes {node-name} --provider kubeadm\
--yurt-controller-manager-image="registry.cn-hangzhou.aliyuncs.com/openyurt/yurt-controller-manager:v0.5.0"\
--yurt-tunnel-agent-image="registry.cn-hangzhou.aliyuncs.com/openyurt/yurt-tunnel-agent:v0.5.0"\
--yurt-tunnel-server-image="registry.cn-hangzhou.aliyuncs.com/openyurt/yurt-tunnel-server:v0.5.0"\
--yurtctl-servant-image="registry.cn-hangzhou.aliyuncs.com/openyurt/yurtctl-servant:v0.5.0"\
--yurthub-image="registry.cn-hangzhou.aliyuncs.com/openyurt/yurthub:v0.5.0"
V0.4.1
This is an official release. Please check the CHANGELOG for a list of changes compared to previous release.
The official openyurt v0.4.1 images are in hosted under dockerhub and alicloud.
To convert a Kubernetes cluster using the v0.4.1 dockerhub images, use the following command:
yurtctl convert --deploy-yurttunnel --cloud-nodes {node-name} --provider kubeadm\
--yurt-controller-manager-image="openyurt/yurt-controller-manager:v0.4.1"\
--yurt-tunnel-agent-image="openyurt/yurt-tunnel-agent:v0.4.1"\
--yurt-tunnel-server-image="openyurt/yurt-tunnel-server:v0.4.1"\
--yurtctl-servant-image="openyurt/yurtctl-servant:v0.4.1"\
--yurthub-image="openyurt/yurthub:v0.4.1"
and if you pull image from dockerhub timeout, use v0.4.1 alicloud images, use the following command:
yurtctl convert --deploy-yurttunnel --cloud-nodes {node-name} --provider kubeadm\
--yurt-controller-manager-image="registry.cn-hangzhou.aliyuncs.com/openyurt/yurt-controller-manager:v0.4.1"\
--yurt-tunnel-agent-image="registry.cn-hangzhou.aliyuncs.com/openyurt/yurt-tunnel-agent:v0.4.1"\
--yurt-tunnel-server-image="registry.cn-hangzhou.aliyuncs.com/openyurt/yurt-tunnel-server:v0.4.1"\
--yurtctl-servant-image="registry.cn-hangzhou.aliyuncs.com/openyurt/yurtctl-servant:v0.4.1"\
--yurthub-image="registry.cn-hangzhou.aliyuncs.com/openyurt/yurthub:v0.4.1"