Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions blogs/en/5-network-modes-for-kubeblocks-for-redis.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ keywords: Redis Operator, Kubernetes, Networking, Headless Service, NodePort, Lo
image: /img/blogs/thumbnails/blog-redis-network-modes.png
---

# Mastering Redis Network Modes in Kubernetes with KubeBlocks
# Mastering [Redis](/docs/preview/kubeblocks-for-redis) Network Modes in Kubernetes with KubeBlocks

## I. Introduction: KubeBlocks and the Importance of Networking

Expand Down Expand Up @@ -424,4 +424,12 @@ The 5 network modes supported by KubeBlocks fully cover various scenarios from d
## References

- [1] SpiderPool: https://github.com/spidernet-io/spiderpool
- [2] InstanceSet controller:https://github.com/apecloud/spiderpool/tree/support/preserve-pod-ip-until-sts-is-deleted
- [2] InstanceSet controller:https://github.com/apecloud/spiderpool/tree/support/preserve-pod-ip-until-sts-is-deleted

## Related

- [KubeBlocks for Redis — Operations Guide](/docs/preview/kubeblocks-for-redis)
- [Redis Containerization: Challenges and Solutions](/blog/redis-containerization)
- [Redis on KubeBlocks](/blog/redis-on-kb)
- [Migrate Redis in Kuaishou from Bare Metal to Kubernetes](/blog/migrate-redis-in-kuaishou-from-bare-metal-to-k8s)
- [Run Redis on K8s: Kuaishou's Solution with KubeBlocks](/blog/run-redis-on-k8s-kuaishou-solution-with-kubeblocks)
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Keywords: PostgreSQL, Kubernetes Operator, KubeBlocks, Performance Tuning, Bench
image: /img/blogs/thumbnails/blog-pg.png
---

# PostgreSQL Performance Tuning on Kubernetes: A KubeBlocks Deep Dive
# [PostgreSQL](/docs/preview/kubeblocks-for-postgresql) Performance Tuning on Kubernetes: A KubeBlocks Deep Dive

## Introduction

Expand Down Expand Up @@ -506,3 +506,10 @@ After introducing pgBouncer, PG could handle more connections without significan
5. By default, PG is IO-bound, but after the optimizations mentioned above, it becomes CPU-bound.
6. ACK and SLB networks are robust, meeting performance and stability requirements.
7. K8s offers convenient adjustments to filesystem and PG parameters, and different combinations of tests can be conducted rapidly and effectively. Moreover, running a database on K8s does not incur performance degradation. With general tuning, the database can exhibit excellent results. K8s provides more freedom and autonomy to users with fewer restrictions.

## Related

- [KubeBlocks for PostgreSQL — Operations Guide](/docs/preview/kubeblocks-for-postgresql)
- [Does Running MySQL on Kubernetes Lead to Significant Performance Degradation?](/blog/does-running-mysql-on-kubernetes-lead-to-significant-performance-degradation)
- [Does Containerization Affect the Performance of Databases?](/blog/does-containerization-affect-the-performance-of-databases)
- [Is Kubernetes a Database?](/blog/is-k8s-a-database)
10 changes: 9 additions & 1 deletion blogs/en/announcing-kubeblocks-v0-7-0.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ To address this issue, we plan to decouple the cluster's lifecycle management fu

### Pika v3.5

Pika, an open-source NoSQL database developed by Qihoo, supports the Redis protocol and offers a cost advantage for handling data volumes exceeding 100 GB. The transition from Redis to Pika is smooth, as Pika preserves the same operational and usage patterns, ensuring minimal disruption to existing workflows. As of now, KubeBlocks supports the deployment of the Pika v3.5 sharding cluster.
Pika, an open-source NoSQL database developed by Qihoo, supports the [Redis](/docs/preview/kubeblocks-for-redis) protocol and offers a cost advantage for handling data volumes exceeding 100 GB. The transition from Redis to Pika is smooth, as Pika preserves the same operational and usage patterns, ensuring minimal disruption to existing workflows. As of now, KubeBlocks supports the deployment of the Pika v3.5 sharding cluster.

## Overview of Integrated Engines

Expand Down Expand Up @@ -66,3 +66,11 @@ The table below provides an overview of the integrated engines and their capabil
| PolarDB-X | ✔️ | ✔️ | N/A | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✔️ |
| Zookeeper | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A |
| MariaDB | ✔️ | N/A | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |

## Related

- [KubeBlocks for MySQL — Operations Guide](/docs/preview/kubeblocks-for-mysql)
- [KubeBlocks for PostgreSQL — Operations Guide](/docs/preview/kubeblocks-for-postgresql)
- [KubeBlocks for Redis — Operations Guide](/docs/preview/kubeblocks-for-redis)
- [KubeBlocks for Kafka — Operations Guide](/docs/preview/kubeblocks-for-kafka)
- [KubeBlocks User Documentation](/docs/preview/user_docs)
16 changes: 12 additions & 4 deletions blogs/en/announcing-kubeblocks-v0-8-0.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ KubeBlocks v0.8.0 takes a big step forward in user experience by introducing com

For example, popular meta-database components like ETCD and ZK, which are widely used in various database clusters, now can be directly referenced after component modularization.

We also made Vitess Proxy a standard component, so that developers do not need to repeat their work (heavy lifting) when defining the read-write separation topology of MySQL or PostgreSQL engines in various distributions.
We also made Vitess Proxy a standard component, so that developers do not need to repeat their work (heavy lifting) when defining the read-write separation topology of [MySQL](/docs/preview/kubeblocks-for-mysql) or [PostgreSQL](/docs/preview/kubeblocks-for-postgresql) engines in various distributions.

Further, the Add-on mechanism has also been significantly improved. The helm chart of the database engine has been split from the KubeBlocks repo. From then on, changes in the database engine or version have been unbound from the KubeBlocks release.

Expand Down Expand Up @@ -62,11 +62,11 @@ Supports wal-g full backup and PITR.

#### OpsRequest

Supports custom OpsRequest, enabling specific operational actions. For example, create and delete Kafka topics.
Supports custom OpsRequest, enabling specific operational actions. For example, create and delete [Kafka](/docs/preview/kubeblocks-for-kafka) topics.

#### NodePort

Enables NodePort access for Redis.
Enables NodePort access for [Redis](/docs/preview/kubeblocks-for-redis).

### Compatibility

Expand Down Expand Up @@ -101,4 +101,12 @@ Enhances addon sub-command. You can install the addon from the index repository.

- KubeBlocks 0.8.0 streamlines the data engines installed by default when deploying KubeBlocks by removing greptime, influxdb, neon, oracle-mysql, oroledb, tdengine, mariadb, nebula, risingwave, starrocks, tidb, zookeeper. You can install them on-demand from the addon indexing repository with the kbcli addon subcommand or the kubectl apply command; if you are upgrading from a lower version, follow the upgrade manual to avoid deleting addons that are in use, which may affect running clusters.

- The Helm Chart of KubeBlocks 0.8.0 no longer contains dependent CRDs. When installing or upgrading KubeBlocks with the helm command, you need to install the corresponding CRDs before installing or upgrading KubeBlocks, please refer to the upgrade manual for details.
- The Helm Chart of KubeBlocks 0.8.0 no longer contains dependent CRDs. When installing or upgrading KubeBlocks with the helm command, you need to install the corresponding CRDs before installing or upgrading KubeBlocks, please refer to the upgrade manual for details.

## Related

- [KubeBlocks for MySQL — Operations Guide](/docs/preview/kubeblocks-for-mysql)
- [KubeBlocks for PostgreSQL — Operations Guide](/docs/preview/kubeblocks-for-postgresql)
- [KubeBlocks for Redis — Operations Guide](/docs/preview/kubeblocks-for-redis)
- [KubeBlocks for Kafka — Operations Guide](/docs/preview/kubeblocks-for-kafka)
- [KubeBlocks User Documentation](/docs/preview/user_docs)
14 changes: 11 additions & 3 deletions blogs/en/announcing-kubeblocks-v0-9-0.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ We are thrilled to announce the release of KubeBlocks v0.9.0, which brings us on

## API Highlights

- In KubeBlocks v0.9, with the introduction of topology support in KubeBlocks, the cluster building experience has become much more flexible and intuitive, akin to assembling a cluster using building blocks. The ClusterDefinition API has added the `topologies` field, allowing developers to provide various deployment patterns with different topologies. Database users can choose a topology when creating a Cluster through the `topology` field. For instance, the Redis Addon offers three topologies: Standalone, Replication, and Proxy. The Standalone topology only includes one Component - RedisServer, the Replication topology includes both RedisServer and Sentinel Components, and the Proxy topology adds a third Component, such as Twemproxy.
- In KubeBlocks v0.9, with the introduction of topology support in KubeBlocks, the cluster building experience has become much more flexible and intuitive, akin to assembling a cluster using building blocks. The ClusterDefinition API has added the `topologies` field, allowing developers to provide various deployment patterns with different topologies. Database users can choose a topology when creating a Cluster through the `topology` field. For instance, the [Redis](/docs/preview/kubeblocks-for-redis) Addon offers three topologies: Standalone, Replication, and Proxy. The Standalone topology only includes one Component - RedisServer, the Replication topology includes both RedisServer and Sentinel Components, and the Proxy topology adds a third Component, such as Twemproxy.
- KubeBlocks now supports managing horizontal scaling (Reshard) of distributed databases. You can represent a horizontal shard with a Component, and scale up or down this horizontal shard by adding or removing Components. This scaling capability will also be used in the distributed deployment of Redis and Pika.
- KubeBlocks now uses InstanceSet instead of StatefulSet to manage Pods. InstanceSet supports taking a specified Pod offline and Pod in-place update, and also the primary and secondary databases can adopt different Pod specs in a database Replication architecture (StatefulSet doesn't support these features).
- Developers can add more custom event handlers for Components! The ComponentDefinition API, introduced in v0.8, includes the `lifeCycleActions` field, allowing you to define various custom event handlers. Building on this, KubeBlocks v0.9 provides more handlers for custom addon implementation, including roleprobe (node role probing), memberLeave (node offline), preTerminate (Component offline), and postProvision (Component online). The expansion of event handlers enhances KubeBlocks' expression capabilities. For example, preTerminate and postProvision can be used to execute cross-shard data redistribution (Rebalance) in distributed databases or initiate registration to third-party HA managers like Sentinel and Orchestrator.
Expand All @@ -24,7 +24,7 @@ We are thrilled to announce the release of KubeBlocks v0.9.0, which brings us on

Redis Cluster is designed to provide horizontal write scalability and intelligent client high-availability strategies, in addition to its excellent failover capability. Redis Cluster distributes data across multiple Redis nodes, significantly enhancing system capacity, performance, and availability.

- KubeBlocks introduces MySQL Replication mode
- KubeBlocks introduces [MySQL](/docs/preview/kubeblocks-for-mysql) Replication mode

Compared to MGR clusters, the MySQL Replication topology requires fewer resources (only two database replicas) and incurs less overhead for data replication. When there is no extreme demands for service availability and data reliability, the Replication topology is a more cost-effective choice. You can actively switch MySQL replica roles using `kbcli` or trigger a passive failover by deleting specified Kubernetes pods via `kubectl`. If there are no long transactions and large table DDLs, the failover generally can be completed within 30 seconds.

Expand Down Expand Up @@ -64,7 +64,7 @@ We are thrilled to announce the release of KubeBlocks v0.9.0, which brings us on

#### kbcli

- Supports PostgreSQL point-in-time recovery.
- Supports [PostgreSQL](/docs/preview/kubeblocks-for-postgresql) point-in-time recovery.
- `cluster` supports the `rebuild-instance` subcommand to rebuild instances.
- `cluster create` subcommand supports `elasticsearch`.
- Supports specifying the path prefix when creating a backup repository.
Expand Down Expand Up @@ -144,3 +144,11 @@ KubeBlocks Release 0.9 still maintains the compatibility with API marked as depr
## Upgrade to v0.9

Refer to [Upgrade to KubeBlocks v0.9](https://kubeblocks.io/docs/release-0.9/user_docs/installation/upgrade/upgrade-kubeblocks-to-0.9).

## Related

- [KubeBlocks for MySQL — Operations Guide](/docs/preview/kubeblocks-for-mysql)
- [KubeBlocks for PostgreSQL — Operations Guide](/docs/preview/kubeblocks-for-postgresql)
- [KubeBlocks for Redis — Operations Guide](/docs/preview/kubeblocks-for-redis)
- [KubeBlocks for Kafka — Operations Guide](/docs/preview/kubeblocks-for-kafka)
- [KubeBlocks User Documentation](/docs/preview/user_docs)
12 changes: 10 additions & 2 deletions blogs/en/announcing-kubeblocks-v0-9-1.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ image: /img/blogs/thumbnails/blog-release-0.9.1.png

We're thrilled to announce that KubeBlocks v0.9.1 now is released!

In this release, KubeBlocks further optimizes its APIs and Addons to bring you new features and better user experience. This release includes new features like stopping/starting a cluster by Cluster API, instance rebuild capability in OpsRequest, PITR and key-based recovery for Redis. We also fixed some bugs and introduced several improvements to enhance the overall functionality.
In this release, KubeBlocks further optimizes its APIs and Addons to bring you new features and better user experience. This release includes new features like stopping/starting a cluster by Cluster API, instance rebuild capability in OpsRequest, PITR and key-based recovery for [Redis](/docs/preview/kubeblocks-for-redis). We also fixed some bugs and introduced several improvements to enhance the overall functionality.

Read the full release note and [upgrade to KubeBlocks v0.9.1](https://kubeblocks.io/docs/preview/user_docs/upgrade/upgrade-with-kbcli/upgrade-kubeblocks-to-0.9.1) to explore more features!

Expand Down Expand Up @@ -39,7 +39,7 @@ Read the full release note and [upgrade to KubeBlocks v0.9.1](https://kubeblocks

- New versions

MySQL and PostgreSQL Addons support more versions. For the latest versions of Addons, refer to the [Addon List](https://github.com/apecloud/kubeblocks-addons?tab=readme-ov-file#supported-add-ons).
[MySQL](/docs/preview/kubeblocks-for-mysql) and [PostgreSQL](/docs/preview/kubeblocks-for-postgresql) Addons support more versions. For the latest versions of Addons, refer to the [Addon List](https://github.com/apecloud/kubeblocks-addons?tab=readme-ov-file#supported-add-ons).

## What's Changed

Expand Down Expand Up @@ -94,3 +94,11 @@ Read the full release note and [upgrade to KubeBlocks v0.9.1](https://kubeblocks
- Remove the Application Addon (#7866)

The Application Addon has been removed from the codebase and is no longer installed by default. However, you can still install it manually if needed.

## Related

- [KubeBlocks for MySQL — Operations Guide](/docs/preview/kubeblocks-for-mysql)
- [KubeBlocks for PostgreSQL — Operations Guide](/docs/preview/kubeblocks-for-postgresql)
- [KubeBlocks for Redis — Operations Guide](/docs/preview/kubeblocks-for-redis)
- [KubeBlocks for Kafka — Operations Guide](/docs/preview/kubeblocks-for-kafka)
- [KubeBlocks User Documentation](/docs/preview/user_docs)
18 changes: 13 additions & 5 deletions blogs/en/announcing-kubeblocks-v0-9-2.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ Read the full release note and [upgrade to KubeBlocks v0.9.2](https://kubeblocks

## Addons

### MySQL
### [MySQL](/docs/preview/kubeblocks-for-mysql)

- Added Jemalloc support for improved memory management. ([#1158](https://github.com/apecloud/kubeblocks-addons/pull/1158))

### Redis
### [Redis](/docs/preview/kubeblocks-for-redis)

- Added NodePort announce mode support for Redis Sentinel. ([#1227](https://github.com/apecloud/kubeblocks-addons/pull/1227))
- Introduced support for fixed pod IPs, custom master names, and full FQDN domains.([#1222](https://github.com/apecloud/kubeblocks-addons/pull/1222))
Expand All @@ -39,15 +39,23 @@ Read the full release note and [upgrade to KubeBlocks v0.9.2](https://kubeblocks
- Added support for member leave operations to enable scale-in scenarios. ([#1229](https://github.com/apecloud/kubeblocks-addons/pull/1229))
- Enhanced RabbitMQ configuration with config constraints and file-based logs. ([#1199](https://github.com/apecloud/kubeblocks-addons/pull/1199))

### MongoDB
### [MongoDB](/docs/preview/kubeblocks-for-mongodb)

- Added support for host networking. ([#1152](https://github.com/apecloud/kubeblocks-addons/pull/1152))

### PostgreSQL
### [PostgreSQL](/docs/preview/kubeblocks-for-postgresql)

- Enhanced vanilla PostgreSQL integration and added support for PostgreSQL 15. ([#1092](https://github.com/apecloud/kubeblocks-addons/pull/1092))
- Added support for Supabase PostgreSQL. ([#1154](https://github.com/apecloud/kubeblocks-addons/pull/1154))
Xinference
- Added support for Xinference v0.15.4. ([#1248](https://github.com/apecloud/kubeblocks-addons/pull/1248))

You can view the [full changelog here](https://github.com/apecloud/kubeblocks/compare/v0.9.1...v0.9.2).
You can view the [full changelog here](https://github.com/apecloud/kubeblocks/compare/v0.9.1...v0.9.2).

## Related

- [KubeBlocks for MySQL — Operations Guide](/docs/preview/kubeblocks-for-mysql)
- [KubeBlocks for PostgreSQL — Operations Guide](/docs/preview/kubeblocks-for-postgresql)
- [KubeBlocks for Redis — Operations Guide](/docs/preview/kubeblocks-for-redis)
- [KubeBlocks for Kafka — Operations Guide](/docs/preview/kubeblocks-for-kafka)
- [KubeBlocks User Documentation](/docs/preview/user_docs)
Loading
Loading