Skip to content

Add Valkey on k0rdent blog post #301

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

s3rj1k
Copy link

@s3rj1k s3rj1k commented Jul 10, 2025

Description

Adds blog post "Using k0rdent MultiClusterService Template for Valkey on Kubernetes"

Issues Resolved

closes: #287

Check List

  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

@s3rj1k s3rj1k force-pushed the valkey-on-k0rdent branch 2 times, most recently from 2464395 to 6bdc694 Compare July 10, 2025 13:48
@s3rj1k s3rj1k force-pushed the valkey-on-k0rdent branch from 6bdc694 to 9512cba Compare July 10, 2025 13:50
@s3rj1k s3rj1k marked this pull request as ready for review July 10, 2025 13:51
@madolson
Copy link
Member

@stockholmux Are you going to review this one?

@stockholmux
Copy link
Member

@madolson It's on my list.

Copy link
Member

@stockholmux stockholmux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a really good blog post!

It has some issues to resolve (the biggest is the author bio) but it's mostly stylistic changes. I think we can get this published on the timeline (by 07-21)

title = "Using k0rdent MultiClusterService Template for Valkey on Kubernetes"
description = "Learn how to deploy and manage Valkey across multiple Kubernetes clusters using k0rdent's template-driven approach for simplified multi-cluster application delivery."
date = "2025-07-21 01:01:42"
authors= [ "s3rj1k"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When I tested the website build:

Error: Failed to render page '/Users/kyledvs/repos/s3rj1k-valkey-website/content/blog/2025-07-21-valkey-on-k0rdent.md'
Error: Reason: Failed to render 'blog-page.html'
Error: Reason: Function call 'get_page' failed
Error: Reason: Page `authors/s3rj1k.md` not found.

Looks like you need to add a corresponding author page, for example here is mine: https://github.com/valkey-io/valkey-io.github.io/blob/main/content/authors/kyledvs.md

authors= [ "s3rj1k"]
+++

## Introduction
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to have a subhead as the first line of a blog, so please remove this line.


## Introduction

Managing distributed applications across multiple Kubernetes clusters can be complex and time-consuming. This guide demonstrates how to streamline Valkey deployment using k0rdent's MultiClusterService template, providing a practical example of modern multi-cluster application delivery.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'k0rdent' should be linked here since it's the first instance of the project in the post's narrative.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'MultiClusterService' -> 'MultiClusterService'


Managing distributed applications across multiple Kubernetes clusters can be complex and time-consuming. This guide demonstrates how to streamline Valkey deployment using k0rdent's MultiClusterService template, providing a practical example of modern multi-cluster application delivery.

In this tutorial, we'll walk through deploying Valkey (a high-performance Redis alternative) across Kubernetes clusters using k0rdent's template-driven approach. By the end of this guide, the reader will understand how to leverage k0rdent for simplified Valkey deployment and multi-cluster application management.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'(a high-performance Redis alternative)' <- you can drop this. We're starting to shy away from 'alternative' terminology and if someone lands on this blog post, I think they know the other parts.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Valkey tends to use 2nd person rather than 3rd person grammatical constructs - so change 'the reader' to 'you' in all case and make the required grammatical cases.

- Kubernetes clusters and core concepts
- Helm charts and package management

The reader will also need the following tools installed:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would link kind and helm.


Feel free to play around with Valkey Operator by leveraging the MultiClusterService object together with additional Helm Chart values and when finished, cleaning up this environment is as simple as deleting the KinD cluster.

This is all for today dear reader, thanks for spending this time with me!
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would replace this line with a call to action. What should the reader do next? Read the k0rdent docs? Join a k0rdent slack channel? Up to you.


[k0rdent](https://k0rdent.io/) is a Kubernetes-native distributed container management platform that simplifies and automates the deployment, scaling, and lifecycle management of Kubernetes clusters across multi-cloud and hybrid environments using a template-driven approach. The reader can think of it as a super control plane for multiple child clusters that are controlled by different CAPI providers across multi-cloud environments.

All providers (infrastructure, cluster) are packaged as Helm templates and exposed to the consumer via an entry point object called ClusterDeployment. The ClusterDeployment object is what the consumer uses to declaratively define a new child cluster and combined with credentials-related objects, this provides the consumer with a managed Kubernetes cluster on any platform that has existing CAPI providers.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'ClusterDeployment' -> 'ClusterDeployment'


For any child cluster under k0rdent management, the consumer can control application delivery via service template objects, meaning that it is possible to install applications into the child clusters and have everything controlled from the super-control-plane (management cluster) where k0rdent itself runs.

The k0rdent project maintains a public repository called the "[Catalog](https://catalog.k0rdent.io/latest/)" where the consumer can find pre-built application service templates. While templates can be created locally, and there is no hard requirement to use the catalog, we'll use the catalog for a more streamlined experience with Valkey delivery to child clusters.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you ever want to link Valkey's specific item in the catalog?


1. Use KinD for the management cluster
2. Deploy to a child cluster using Cluster API Provider Docker (CAPD)
3. Use Hyperspike's Valkey Operator to manage Valkey instances
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should link the hyperspike repo.


## Verifying the Child Cluster

Let's get the child cluster kubeconfig out and check if the cluster itself looks good:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

kubeconfig -> kubeconfig

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BLOG POST] Using k0rdent MultiClusterService Template with hyperspike/valkey-operator
3 participants