Skip to content

Releases: apecloud/kubeblocks

KubeBlocks v0.5.3

27 Jun 05:42
Compare
Choose a tag to compare

What's Changed

  • chore: pick connection-auth-error related fixes to release by @shanshanying in #3714
  • fix: merge service annotations has logic error by @yimeisun in #3830
  • chore: have Addon's chartLocationURL attribute setup as '.Values.addonChartLocationBase' template value by @nashtsai in #3899
  • fix: set failed when volumesnapshot config error (#3816) by @wangyelei in #3918
  • chore: addon support to set private helm registry by @ldming in #3920
  • chore: logfile backup fail with the same name cluster by @wangyelei in #3927
  • chore: disable performance schema for smaller class by @ldming in #3934
  • fix: pitr recoverable time is incorrect by @wangyelei in #3943
  • fix: mongodb post start script by @xuriwuyun in #3956
  • fix: mongodb pod terminating take too long time by @xuriwuyun in #3972

Full Changelog: v0.5.2...v0.5.3

KubeBlocks v0.5.2

10 Jun 10:42
d46f3dc
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.5.1...v0.5.2

KubeBlocks v0.5.1

26 May 05:13
Compare
Choose a tag to compare

KubeBlocks 0.5.1

We're happy to announce the release of KubeBlocks 0.5.1! 🚀 🎉 🎈

This release introduces Redis, a key-value database, and MongoDB, a document-based database. It also supports the primary-secondary topology of PostgreSQL, adapts to more public cloud vendors' hosted Kubernetes versions, improves data backup and recovery experiences, and builds basic data migration capability. We noticed that some users may think that K8s reduces database performance. So in this release we include a comparison test result to explain the throughput and RT differences of various MySQL 8.0 deployment forms on AWS.

We would like to extend our appreciation to all contributors who helped make this release happen.

Highlights

  • KubeBlocks supports the primary-secondary topology of PostgreSQL
    Users can actively switch the primary-secondary role of the database cluster with kbcli, or passively trigger failover by deleting a specified Kubernetes pod with kubectl. Failover generally completes within 30 seconds when there are no long transactions and large table DDLs.
  • KubeBlocks supports Redis v7.0
    Redis is currently the most popular open-source key-value database, supporting data types such as key-value, string, list, set, hash table, and ordered set. It provides extremely fast data read and write operations and is suitable for cache scenarios in e-commerce, social communication, game, and other internet applications. To provide stable, secure, and efficient Redis services to users, KubeBlocks has adopted Redis 7.0 version, which is currently recommended officially, supporting standalone and primary-secondary topologies. Thus, users can perform operations such as creating, deleting, scaling, backing up, restoring, monitoring, alerting, and changing parameters of Redis clusters in development, testing, and production environments.
  • KubeBlocks supports MongoDB v5.0
    MongoDB is currently the most popular document-based database, using JSON data types and dynamic schema designs to maintain high flexibility and scalability. KubeBlocks supports the replica set topology of MongoDB v5.0, providing data redundancy and automatic failover capabilities, ensuring data availability and consistency in the event of a node failure. The replica set topology cluster has one primary node (Primary) and several secondary nodes (Secondary), with the primary node handling all write requests and the secondary nodes handling some read requests. If the primary node fails, one of the secondary nodes is elected as the new primary node.
  • KubeBlocks supports the private deployment of ChatGPT retrieval plugin
    For users who do not want to expose sensitive information (such as company documents, meeting minutes, emails), OpenAI has open-sourced the ChatGPT retrieval plugin to enhance the ChatGPT experience. As long as users meet OpenAI's requirements, they can run the ChatGPT retrieval plugin through KubeBlocks addon, store the vectorized data of sensitive information in a private database, and enable ChatGPT to have longer memory of the context while ensuring information security.
  • KubeBlocks supports one-command launching of playgrounds on Alibaba Cloud, Tencent Cloud, and GCP
    Public cloud vendors' hosted Kubernetes services have significant differences in version, functionality, and integration, so even if the deployment of stateful services is not difficult, but Kubernetes administrators have to do a lot of extra heavy lifting to run stateful services normally. After supporting AWS, KubeBlocks provides the ability to one-command launch playgrounds on Alibaba Cloud, Tencent Cloud, and GCP. Users only need to set up public cloud AK locally, and then execute the kbcli playground init command, and KubeBlocks will automatically apply for resources and configure permissions in the specified region, making it easy for users to experience complete functionality. After trying KubeBlocks out, you can clean up the playground environment with one command to avoid incurring costs.

Breaking changes

  • Breaking changes between v0.5 and v0.4. Uninstall v0.4 (including any older version) before installing v0.5.
    • Move the backupPolicyTemplate API from dataprotection group to apps group.
      Before installing v0.5, please ensure that the resources have been cleaned up:
        kubectl delete backuppolicytemplates.dataprotection.kubeblocks.io --all
        kubectl delete backuppolicies.dataprotection.kubeblocks.io --all
      
    • redefines the phase of cluster and component.
      Before installing v0.5, please ensure that the resources have been cleaned up:
        kubectl delete clusters.apps.kubeblocks.io --all
        kubectl delete opsrequets.apps.kubeblocks.io --all
      
  • addons.extensions.kubeblocks.io API deleted spec.helm.valuesMapping.jsonMap.additionalProperties, spec.helm.valuesMapping.valueMap.additionalProperties, spec.helm.valuesMapping.extras.jsonMap.additionalProperties and spec.helm.valuesMapping.extras.valueMap.additionalProperties attributes that was introduced by CRD generator, all existing Addons API YAML shouldn't have referenced these attributes.

Known issues and limitations

  • Limitations of cluster's horizontal scale operation:
    • Only support VolumeSnapshot API to make a clone of Cluster's PV for syncing data when horizontal scaling.
    • Only 1st pod container and 1st volume mount associated PV will be processed for VolumeSnapshot, do assure that data volume is placed in 1st pod container's 1st volume mount.
    • Unused PVCs will be deleted in 30 minutes after scale in.

If you're new to KubeBlocks, visit the getting started page and get a quick start with KubeBlocks.

Note: This release contains a few breaking changes.

See this section to upgrade KubeBlocks to version 0.5.0.

Acknowledgements

Thanks to everyone who made this release possible!

@1aal, @free6om, @heng4fun, @iziang, @kizuna-lek, @ldming, @nashtsai, @nayutah, @sophon-zt, @TalktoCrystal, @xuriwuyun, @Y-Rookie, @yangmeilly, @ZhaoDiankui

What's Changed

New Features

MySQL

  • Support ZEngine storage engine
  • Account management supports creating, modifying, and deleting database accounts with different permissions
    PostgreSQL
  • Support migration from AWS RDS to KubeBlocks, supporting pre-checks, full migration, and incremental synchronization, verifying the data migration capabilities of CadenceWorkflow and OpenStreetMap
  • Support for pgvector extension
  • Support for the primary-secondary topology of PostgreSQL
  • Automated failover and self-healing
  • Support point-in-time recovery
  • Account management supports creating, modifying, and deleting database accounts with different permissions

Redis

  • Full lifecycle management, including creation, deletion, restart, horizontal/vertical scaling
  • Support Redis primary-secondary topology
  • Automated failover and self-healing
  • Support snapshot backup and recovery
  • Metric monitoring, including cluster's basic operation status, connection, OS resources, performance, primary-secondary replication status and other metrics
  • Alerts including cluster downtime, OS resource, abnormal connection number, primary-secondary replication abnormality, etc.
  • Parameter reconfigure
  • Account management

MongoDB

  • Full lifecycle management, including creation, deletion, restart, vertical scaling, and disk expansion
  • Endpoint exposes the access addresses of all nodes
  • File-based full backup and recovery
  • Automated failover and self-healing
  • Monitoring, alerting and logs
  • Parameter reconfigure

Improvements

Bug Fixes

  • cli playground use default kubeconfig file (#2150, @ldming)
  • update running check (#2174, @xuriwuyun)
  • set cluster default storage size to 20Gi (#2254, @ldming)
  • cli kubeblocks upgrade command output dashboard info (#2290, @ldming)
  • set default storage size to 10Gi for TKE (#2317, @ldming)
  • cli playground pull latest cloud provider repo (#2373, @ldming)
  • cli playground does not output error message when kubernetes cluster is not ready (#2391, @ldming)
  • github action uploads kbcli asset for windows and add powershell script to install on windows (#2449, @1aal)
  • trim single quotes for the parameters value in the pg config file ...
Read more