Project: KubeBlocks by ApeCloud (App Definition and Development / Database)
File: v0.3.0.md

sidebar_label: v0.3.0 We're happy to announce the release of KubeBlocks 0.3.0! We would like to extend our appreciation to all contributors who helped make this release happen. Highlights Horizontal scaling for ApeCloud MySQL, you can add/remove read-only instances. Replication lag metrics for ApeCloud MySQL. Alerting rules for ApeCloud MySQL. Policy-based backups. Preflight checks to pre-check the deployment environment. Show connection example with kbcli connect enhancement List ClusterDefinition, ClusterVersion, and users with kbcli. If you're new to KubeBlocks, visit the page and get a quick start with KubeBlocks. Note: This release contains a few . See section to upgrade KubeBlocks to version 0.3.0. Thanks to everyone who made this release possible! @dengshaojiang, @free6om, @heng4fun, @JashBook, @ldming, @lynnleelhl, @max8899, @michelle-0808, @nashtsai, @shanshanying, @sophon-zt, @wangyelei, @weicao, @xuriwuyun, @yangmeilly, @yimeisun, @ZhaoDiankui horizontal scaling (, @lynnleelhl) SystemAccount Creation on Demand (, @shanshanying) reconfigure configmap (, @sophon-zt) update cluster with kbcli (, @ldming) timeout seconds for probe (, @xuriwuyun) OpsRequest reconfigure (, @sophon-zt) create namespace when installing KubeBlocks (, @ldming) automatically move issue when released (, @JashBook) cli describe and list enhancement (, @ldming) OpsRequest progress/progressDetails and last configuration of operations (, @wangyelei) add troubleshoot.sh module and preflight checks for KubeBlocks (, @yangmeilly) auto-schedule for backup policy (, @dengshaojiang) show connection example with cli connect enhancement (, @ldming) ApeCloud MySQL consensus metrics and dashboards (, @yimeisun) upload kbcli to public repo (, @JashBook) alerting rules for MySQL and cadvisor (, @yimeisun) prometheus and alertmanager with persistent volume, resource limitation and replicas (, @yimeisun) update ApeCloud MySQL default config template (, @sophon-zt) list ClusterDefinition, ClusterVersion and users with kbcli (, @ldming) use dashboard command to simplify kbcli KubeBlocks output message (, @yimeisun) kbcli upgrade (, @lynnleelhl) add make manifests to ci (, @JashBook) support describe ops (, @wangyelei) enhance list ops and add double-check for operations (, @wangyelei) should stop installing helm chart when last release is not successfully deployed (, @max8899) when opsRequest is running and the spec clusterRef is updated by user, the OpsRequest jobs will inconsistent. (, @wangyelei) remove omitempty to prevent empty value when marshal (, @lynnleelhl) update helm template (, @xuriwuyun) build pdb if minReplicas non-zero (, @lynnleelhl) use password in setup scripts (, @lynnleelhl) backup resources not clean after h-scale (, @lynnleelhl) optimize DoNotTerminate (, @lynnleelhl) fix bug of horizontal scaling and add UT for it #922 (, @weicao) updating pvc storage size throws error (, @weicao) add exec command in ApeCloud MySQL

script (, @ZhaoDiankui) make error for duplicate constant (, @ldming) modify kbcli and readme docs (, @michelle-0808) fixed 'goimports' Makefile job that tidy up vendor/ go files (, @nashtsai) probe event lost (, @xuriwuyun) delete OpsRequest failed when cluster is deleted and support sending events when probe timeout (, @wangyelei) do nothing if error is already exists (, @lynnleelhl) pod Annotations is none when changed the component monitor to true, and update any cluster.spec variables, the cluster maybe goes to Updating. (, @wangyelei) check if KubeBlocks is installed when install KubeBlocks (, @ldming) make manifest leading to inconsistent crd yaml (, @shanshanying) update makefile for probe (, @xuriwuyun) component doc for consensusset (, @free6om) remove backuptools custom resources and definitions when uninstall kubeblocks (, @ldming) update ApeCloud MySQL config constraint (#1013) (, @sophon-zt) OS X Process.Name function requires elevated permissions (#1012) (, @sophon-zt) support k8sResource convert for cue validate ApeCloud MySQL config (#1020) (, @sophon-zt) delete unused parameters for config-manager-sidecar (#1031) (, @sophon-zt) remove configuration configMaps when uninstall KubeBlocks (, @ldming) update rbac to fix deletion hang (, @lynnleelhl) remove cli upgrade KubeBlocks default version (, @ldming) horizontal scaling bugfix (, @lynnleelhl) kbcli restore cluster nil pointer error. (, @dengshaojiang) user docs (, @michelle-0808) refactor OpsRequest API (, @wangyelei) fix make manifests no effective (, @wangyelei) fix and tidy clusterdef controller test (, @weicao) refactor AppVersion API to ClusterVersion API (, @wangyelei) update to ginkgo/v2 package (, @nashtsai) add test cases for cue_value (, @weicao) add clusterversiontypestest (, @weicao) fix and tidy ut in clustercontrollertest (, @weicao) add some comments to code and improve variable naming (, @weicao) improve the consensus test, split it into an UT and a FT (, @weicao) use golang generics to avoid duplicated code (, @weicao) do some code tidy up in cluster controller while reading it (, @weicao) rename components.type name to MySQL and upgrade ApeCloud MySQL version (, @ZhaoDiankui) improve ut of systemaccount (, @weicao) fix the infinite loop in getAvailableContainerPorts (, @weicao) improve opsrequest controller ut (, @weicao) update probe API crd (, @xuriwuyun) change values image tag (, @JashBook) change values image tag (, @JashBook) add lib to ci (, @JashBook) support install and uninstall nyan cat demo application (, @heng4fun) To upgrade to this release of KubeBlocks, follow the steps here to ensure a smooth upgrade. Release Notes for `v0.3.0`: Rename CRD name `backupjobs.dataprotection.kubeblocks.io` to `backups.dataprotection.kubeblocks.io` upgrade KubeBlocks with the following command: ``` helm upgrade --install kubeblocks kubeblocks/kubeblocks --version 0.3.0 ``` after you upgrade KubeBlocks, check CRD `backupjobs.dataprotection.kubeblocks.io` and delete it ``` kubectl delete crd backupjobs.dataprotection.kubeblocks.io ``` Rename CRD name `appversions.dbaas.kubeblocks.io` to `clusterversions.dbaas.kubeblocks.io` before you upgrade KubeBlocks, please backup your Cluster CR yaml first. ``` kubectl get cluster -oyaml > clusters.yaml ``` then replace all spec.appVersionRef to spec.clusterVersionRef in the clusters.yaml. Then, handle OpsRequest CR the same way. after you upgrade KubeBlocks, you can delete the CRD `appversions.dbaas.kubeblocks.io` ``` kubectl delete crd appversions.dbaas.kubeblocks.io ``` the last step, use the above backup of Clusters and OpsRequests to apply them. ``` kubectl apply -f clusters.yaml ``` auto-schedule for backup policy (, @dengshaojiang)