github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/docs/release_notes/v0.3.0/v0.3.0.md (about) 1 --- 2 sidebar_label: v0.3.0 3 --- 4 5 # KubeBlocks 0.3.0 (2023-01-19) 6 7 We're happy to announce the release of KubeBlocks 0.3.0! 🚀 🎉 🎈 8 9 We would like to extend our appreciation to all contributors who helped make this release happen. 10 11 **Highlights** 12 13 * Horizontal scaling for ApeCloud MySQL, you can add/remove read-only instances. 14 * Replication lag metrics for ApeCloud MySQL. 15 * Alerting rules for ApeCloud MySQL. 16 * Policy-based backups. 17 * Preflight checks to pre-check the deployment environment. 18 * Show connection example with kbcli connect enhancement 19 * List ClusterDefinition, ClusterVersion, and users with kbcli. 20 21 If you're new to KubeBlocks, visit the [getting started](https://kubeblocks.io) page and get a quick start with KubeBlocks. 22 23 > **Note: This release contains a few [breaking changes](#breaking-changes).** 24 25 See [this](#upgrading-to-kubeblocks-0.3.0) section to upgrade KubeBlocks to version 0.3.0. 26 27 ## Acknowledgements 28 29 Thanks to everyone who made this release possible! 30 31 @dengshaojiang, @free6om, @heng4fun, @JashBook, @ldming, @lynnleelhl, @max8899, @michelle-0808, @nashtsai, @shanshanying, @sophon-zt, @wangyelei, @weicao, @xuriwuyun, @yangmeilly, @yimeisun, @ZhaoDiankui 32 33 ## What's Changed 34 35 ### New Features 36 - horizontal scaling ([#330](https://github.com/apecloud/kubeblocks/pull/330), @lynnleelhl) 37 - SystemAccount Creation on Demand ([#511](https://github.com/apecloud/kubeblocks/pull/511), @shanshanying) 38 - reconfigure configmap ([#567](https://github.com/apecloud/kubeblocks/pull/567), @sophon-zt) 39 - update cluster with kbcli ([#826](https://github.com/apecloud/kubeblocks/pull/826), @ldming) 40 - timeout seconds for probe ([#864](https://github.com/apecloud/kubeblocks/pull/864), @xuriwuyun) 41 - OpsRequest reconfigure ([#866](https://github.com/apecloud/kubeblocks/pull/866), @sophon-zt) 42 - create namespace when installing KubeBlocks ([#880](https://github.com/apecloud/kubeblocks/pull/880), @ldming) 43 - automatically move issue when released ([#895](https://github.com/apecloud/kubeblocks/pull/895), @JashBook) 44 - cli describe and list enhancement ([#896](https://github.com/apecloud/kubeblocks/pull/896), @ldming) 45 - OpsRequest progress/progressDetails and last configuration of operations ([#921](https://github.com/apecloud/kubeblocks/pull/921), @wangyelei) 46 - add troubleshoot.sh module and preflight checks for KubeBlocks ([#939](https://github.com/apecloud/kubeblocks/pull/939), @yangmeilly) 47 - auto-schedule for backup policy ([#950](https://github.com/apecloud/kubeblocks/pull/950), @dengshaojiang) 48 - show connection example with cli connect enhancement ([#951](https://github.com/apecloud/kubeblocks/pull/951), @ldming) 49 - ApeCloud MySQL consensus metrics and dashboards ([#952](https://github.com/apecloud/kubeblocks/pull/952), @yimeisun) 50 - upload kbcli to public repo ([#960](https://github.com/apecloud/kubeblocks/pull/960), @JashBook) 51 - alerting rules for MySQL and cadvisor ([#962](https://github.com/apecloud/kubeblocks/pull/962), @yimeisun) 52 - prometheus and alertmanager with persistent volume, resource limitation and replicas ([#963](https://github.com/apecloud/kubeblocks/pull/963), @yimeisun) 53 - update ApeCloud MySQL default config template ([#965](https://github.com/apecloud/kubeblocks/pull/965), @sophon-zt) 54 - list ClusterDefinition, ClusterVersion and users with kbcli ([#967](https://github.com/apecloud/kubeblocks/pull/967), @ldming) 55 - use dashboard command to simplify kbcli KubeBlocks output message ([#968](https://github.com/apecloud/kubeblocks/pull/968), @yimeisun) 56 - kbcli upgrade ([#977](https://github.com/apecloud/kubeblocks/pull/977), @lynnleelhl) 57 - add make manifests to ci ([#990](https://github.com/apecloud/kubeblocks/pull/990), @JashBook) 58 - support describe ops ([#995](https://github.com/apecloud/kubeblocks/pull/995), @wangyelei) 59 - enhance list ops and add double-check for operations ([#1000](https://github.com/apecloud/kubeblocks/pull/1000), @wangyelei) 60 61 ### Bug Fixes 62 - should stop installing helm chart when last release is not successfully deployed ([#856](https://github.com/apecloud/kubeblocks/pull/856), @max8899) 63 - when opsRequest is running and the spec clusterRef is updated by user, the OpsRequest jobs will inconsistent. ([#879](https://github.com/apecloud/kubeblocks/pull/879), @wangyelei) 64 - remove omitempty to prevent empty value when marshal ([#883](https://github.com/apecloud/kubeblocks/pull/883), @lynnleelhl) 65 - update helm template ([#890](https://github.com/apecloud/kubeblocks/pull/890), @xuriwuyun) 66 - build pdb if minReplicas non-zero ([#905](https://github.com/apecloud/kubeblocks/pull/905), @lynnleelhl) 67 - use password in setup scripts ([#912](https://github.com/apecloud/kubeblocks/pull/912), @lynnleelhl) 68 - backup resources not clean after h-scale ([#914](https://github.com/apecloud/kubeblocks/pull/914), @lynnleelhl) 69 - optimize DoNotTerminate ([#917](https://github.com/apecloud/kubeblocks/pull/917), @lynnleelhl) 70 - fix bug of horizontal scaling and add UT for it #922 ([#923](https://github.com/apecloud/kubeblocks/pull/923), @weicao) 71 - updating pvc storage size throws error ([#926](https://github.com/apecloud/kubeblocks/pull/926), @weicao) 72 - add exec command in ApeCloud MySQL setup.sh script ([#936](https://github.com/apecloud/kubeblocks/pull/936), @ZhaoDiankui) 73 - make error for duplicate constant ([#944](https://github.com/apecloud/kubeblocks/pull/944), @ldming) 74 - modify kbcli and readme docs ([#947](https://github.com/apecloud/kubeblocks/pull/947), @michelle-0808) 75 - fixed 'goimports' Makefile job that tidy up vendor/ go files ([#953](https://github.com/apecloud/kubeblocks/pull/953), @nashtsai) 76 - probe event lost ([#964](https://github.com/apecloud/kubeblocks/pull/964), @xuriwuyun) 77 - delete OpsRequest failed when cluster is deleted and support sending events when probe timeout ([#973](https://github.com/apecloud/kubeblocks/pull/973), @wangyelei) 78 - do nothing if error is already exists ([#976](https://github.com/apecloud/kubeblocks/pull/976), @lynnleelhl) 79 - pod Annotations is none when changed the component monitor to true, and update any cluster.spec variables, the cluster maybe goes to Updating. ([#979](https://github.com/apecloud/kubeblocks/pull/979), @wangyelei) 80 - check if KubeBlocks is installed when install KubeBlocks ([#981](https://github.com/apecloud/kubeblocks/pull/981), @ldming) 81 - make manifest leading to inconsistent crd yaml ([#987](https://github.com/apecloud/kubeblocks/pull/987), @shanshanying) 82 - update makefile for probe ([#992](https://github.com/apecloud/kubeblocks/pull/992), @xuriwuyun) 83 - component doc for consensusset ([#999](https://github.com/apecloud/kubeblocks/pull/999), @free6om) 84 - remove backuptools custom resources and definitions when uninstall kubeblocks ([#1008](https://github.com/apecloud/kubeblocks/pull/1008), @ldming) 85 - update ApeCloud MySQL config constraint (#1013) ([#1018](https://github.com/apecloud/kubeblocks/pull/1018), @sophon-zt) 86 - OS X Process.Name function requires elevated permissions (#1012) ([#1019](https://github.com/apecloud/kubeblocks/pull/1019), @sophon-zt) 87 - support k8sResource convert for cue validate ApeCloud MySQL config (#1020) ([#1036](https://github.com/apecloud/kubeblocks/pull/1036), @sophon-zt) 88 - delete unused parameters for config-manager-sidecar (#1031) ([#1037](https://github.com/apecloud/kubeblocks/pull/1037), @sophon-zt) 89 - remove configuration configMaps when uninstall KubeBlocks ([#1039](https://github.com/apecloud/kubeblocks/pull/1039), @ldming) 90 - update rbac to fix deletion hang ([#1051](https://github.com/apecloud/kubeblocks/pull/1051), @lynnleelhl) 91 - remove cli upgrade KubeBlocks default version ([#1069](https://github.com/apecloud/kubeblocks/pull/1069), @ldming) 92 - horizontal scaling bugfix ([#1070](https://github.com/apecloud/kubeblocks/pull/1070), @lynnleelhl) 93 - kbcli restore cluster nil pointer error. ([#1072](https://github.com/apecloud/kubeblocks/pull/1072), @dengshaojiang) 94 95 ### Miscellaneous 96 - user docs ([#665](https://github.com/apecloud/kubeblocks/pull/665), @michelle-0808) 97 - refactor OpsRequest API ([#843](https://github.com/apecloud/kubeblocks/pull/843), @wangyelei) 98 - fix make manifests no effective ([#844](https://github.com/apecloud/kubeblocks/pull/844), @wangyelei) 99 - fix and tidy clusterdef controller test ([#851](https://github.com/apecloud/kubeblocks/pull/851), @weicao) 100 - refactor AppVersion API to ClusterVersion API ([#852](https://github.com/apecloud/kubeblocks/pull/852), @wangyelei) 101 - update to ginkgo/v2 package ([#867](https://github.com/apecloud/kubeblocks/pull/867), @nashtsai) 102 - add test cases for cue_value ([#887](https://github.com/apecloud/kubeblocks/pull/887), @weicao) 103 - add clusterversion_types_test ([#891](https://github.com/apecloud/kubeblocks/pull/891), @weicao) 104 - fix and tidy ut in cluster_controller_test ([#898](https://github.com/apecloud/kubeblocks/pull/898), @weicao) 105 - add some comments to code and improve variable naming ([#906](https://github.com/apecloud/kubeblocks/pull/906), @weicao) 106 - improve the consensus test, split it into an UT and a FT ([#930](https://github.com/apecloud/kubeblocks/pull/930), @weicao) 107 - use golang generics to avoid duplicated code ([#959](https://github.com/apecloud/kubeblocks/pull/959), @weicao) 108 - do some code tidy up in cluster controller while reading it ([#982](https://github.com/apecloud/kubeblocks/pull/982), @weicao) 109 - rename components.type name to MySQL and upgrade ApeCloud MySQL version ([#985](https://github.com/apecloud/kubeblocks/pull/985), @ZhaoDiankui) 110 - improve ut of systemaccount ([#993](https://github.com/apecloud/kubeblocks/pull/993), @weicao) 111 - fix the infinite loop in getAvailableContainerPorts ([#994](https://github.com/apecloud/kubeblocks/pull/994), @weicao) 112 - improve opsrequest controller ut ([#997](https://github.com/apecloud/kubeblocks/pull/997), @weicao) 113 - update probe API crd ([#1003](https://github.com/apecloud/kubeblocks/pull/1003), @xuriwuyun) 114 - change values image tag ([#1007](https://github.com/apecloud/kubeblocks/pull/1007), @JashBook) 115 - change values image tag ([#1010](https://github.com/apecloud/kubeblocks/pull/1010), @JashBook) 116 - add lib to ci ([#1034](https://github.com/apecloud/kubeblocks/pull/1034), @JashBook) 117 - support install and uninstall nyan cat demo application ([#1041](https://github.com/apecloud/kubeblocks/pull/1041), @heng4fun) 118 119 ## Upgrading to KubeBlocks 0.3.0 120 121 To upgrade to this release of KubeBlocks, follow the steps here to ensure a smooth upgrade. 122 123 Release Notes for `v0.3.0`: 124 - Rename CRD name `backupjobs.dataprotection.kubeblocks.io` to `backups.dataprotection.kubeblocks.io` 125 - upgrade KubeBlocks with the following command: 126 ``` 127 helm upgrade --install kubeblocks kubeblocks/kubeblocks --version 0.3.0 128 ``` 129 - after you upgrade KubeBlocks, check CRD `backupjobs.dataprotection.kubeblocks.io` and delete it 130 ``` 131 kubectl delete crd backupjobs.dataprotection.kubeblocks.io 132 ``` 133 - Rename CRD name `appversions.dbaas.kubeblocks.io` to `clusterversions.dbaas.kubeblocks.io` 134 - before you upgrade KubeBlocks, please backup your Cluster CR yaml first. 135 ``` 136 kubectl get cluster -oyaml > clusters.yaml 137 ``` 138 then replace all spec.appVersionRef to spec.clusterVersionRef in the clusters.yaml. 139 140 Then, handle OpsRequest CR the same way. 141 - after you upgrade KubeBlocks, you can delete the CRD `appversions.dbaas.kubeblocks.io` 142 ``` 143 kubectl delete crd appversions.dbaas.kubeblocks.io 144 ``` 145 the last step, use the above backup of Clusters and OpsRequests to apply them. 146 ``` 147 kubectl apply -f clusters.yaml 148 ``` 149 ## Breaking Changes 150 151 - auto-schedule for backup policy ([#950](https://github.com/apecloud/kubeblocks/pull/950), @dengshaojiang)