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)