v1.3.0
v1.3.0
What's New
Refactor OpenYurt control plane components
In order to improve the management of all repos in OpenYurt community, and reduce the complexity of installing OpenYurt,
After detailed discussions in the community, a new component named yurt-manager was agreed to manage controllers and webhooks
scattered across multiple components (like yurt-controller-manager, yurt-app-manager, raven-controller-manager, etc.).
After the refactoring, based on the controller-runtime framework, new controllers and webhooks can be easily added to the
yurt-manager component in the future. Also note that the yurt-manager component is recommended to be installed on the same node as the K8s control-plane component (like kube-controller-manager). #1067
Support OTA or AdvancedRollingUpdate upgrade models for static pods
As you know, static pods are managed directly by the kubelet daemon on the node and there is no APIServer watching them.
In general, if a user wants to upgrade a static pod(like YurtHub), the user should manually modify or replace the manifest
of the static pod. this can be a very tedious and painful task when the number of static pods becomes very large.
Users can define Pod templates and upgrade models through YurtStaticSet CRD. The upgrade models support both OTA and AdvancedRollingUpdate kinds,
thus easily meeting the upgrade needs of large-scale Static Pods. Also the Pod template in yurthub YurtStaticSet CRD is used to
install YurtHub component on the node when the node is joined. #1261, #1168, #1172
NodePort Service supports nodepool isolation
In edge scenarios, users using the NodePort service expect to listen to nodePort ports only in a specified nodepools
in order to prevent port conflicts and save edge resources.
Users can specify the nodepools to listen to by adding annotation nodeport.openyurt.io/listen
to the NodePort or
LoadBalancer service, thus getting the nodepool isolation capability of the NodePort or LoadBalancer service. #1183, #1209
Other Notable changes
- improve image build efficiency by @Congrool in #1191
- support filter chain for filtering response data by @rambohe-ch in #1189
- fix: re-list when target change by @LaurenceLiZhixin in #1195
- fix: pool-coordinator cannot be rescheduled when its node fails (#1212) by @AndyEWang in #1218
- feat: merge yurtctl to e2e by @YTGhost in #1219
- support pass bootstrap-file to yurthub by @rambohe-ch in #1333
- add system proxy for docker run by @gnunu in #1335
- feat: add yurtadm renew certificate command by @YTGhost in #1314
- add a new way to create webhook by @JameKeal in #1359
- feat: support pool-coordinator component work in specified namespace by @y-ykcir in #1355
- feat: add nodepool e2e by @huiwq1990 in #1365
- feat: support yurt-manager work in specified namespace by @y-ykcir in #1367
- support yurthub component work in specified namespace by @huweihuang in #1366
- support to specify enabled controllers by @xavier-hou in #1388
- feat: crd generate crds by @huiwq1990 in #1389
- add Yurtappdaemon e2e test by @theonefx in #1406
- fix generated crd name by @huiwq1990 in #1408
- rename auto to AdvancedRollingUpdate by @xavier-hou in #1451
- rename CRD StaticPod to YurtStaticSet by @xavier-hou in #1457
Fixes
- fix handle poolcoordinator certificates in case of restarting by @batthebee in #1187
- make rename replace old dir by @LaurenceLiZhixin in #1237
- yurtadm minor version compatibility of kubelet and kubeadm by @YTGhost in #1244
- delete specific iptables while testing kube-proxy by @y-ykcir in #1268
- fix yurthub dnsPolicy when using pool-coordinator by @JameKeal in #1321
- fix: yurt-controller-manager reboot cannot remove taint node.openyurt.io/unschedulable (#1233) by @AndyEWang in #1337
- fix daemonSet pod updater pointer error by @JameKeal in #1340
- bugfix for yurtappset by @theonefx in #1391
Contributors
Thank you to everyone who contributed to this release! ❤
- @batthebee
- @cndoit18
- @fengshunli
- @luc99hen
- @frank-zsy
- @YTGhost
- @Congrool
- @luckymrwang
- @AndyEWang
- @huiwq1990
- @njucjc
- @xavier-hou
- @kadisi
- @guoguodan
- @JameKeal
- @gnunu
- @y-ykcir
- @Lan-ce-lot
- @River-sh
- @huweihuang
- @lilongfeng0902
- @theonefx
- @fujitatomoya
- @rambohe-ch
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.2.0...v1.3.0