KubeBlocks
BlogsKubeBlocks Cloud

Getting Started

Introduction
Supported addons
Installation

Concepts and Features

Concepts

Backup and Restore

Introduction

Backup

Configure BackupRepo
Configure BackupPolicy
Scheduled backup
On-demand backup

Restore

Restore from backup set
Point-in-Time Recovery

In Place Update

Introduction
Enable in-place update

Instance Template

Introduction
Apply instance template

Trouble Shooting

FAQs

References

API Reference

Cluster
Operations
Parameters
Dataprotection
Add-On
Terminology
Install Addons
Install kbcli
Create a test Kubernetes cluster
Kubernetes and Operator 101

Upgrade KubeBlocks

Upgrade to v0.8
Upgrade to v0.9.0
Upgrade to v0.9.x

Release Notes

v1.0.0-cn
v1.0.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
  1. Before you start
  2. Create a Kubernetes cluster using Kind
  3. Create a Kubernetes cluster using Minikube
  4. Create a Kubernetes cluster using k3d

Create a test Kubernetes cluster

This tutorial introduces how to create a local Kubernetes test cluster using Minikube, K3d, and Kind. These tools make it easy to try out KubeBlocks on your local host, offering a great solution for development, testing, and experimentation without the complexity of creating a full production-grade cluster.

Before you start

Make sure you have the following tools installed on your local host:

  • Docker: All three tools rely on Docker to create containerized Kubernetes clusters.
  • kubectl: The Kubernetes command-line tool for interacting with clusters. Refer to the kubectl installation guide

Create a Kubernetes cluster using Kind

Kind stands for Kubernetes IN Docker. It runs Kubernetes clusters within Docker containers, making it an ideal tool for local Kubernetes testing.

  1. Install Kind. For details, you can refer to Kind Quick Start.

    brew install kind
    
    # For AMD64 / x86_64
    [ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.24.0/kind-linux-amd64
    # For ARM64
    [ $(uname -m) = aarch64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.24.0/kind-linux-arm64
    chmod +x ./kind
    sudo cp ./kind /usr/local/bin/kind
    rm -rf kind
    

    You can use chocolatey to install Kind.

    choco install kind
    
  2. Create a Kind cluster.

    kind create cluster --name mykindcluster
    

    This command creates a single-node Kubernetes cluster running in a Docker container.

  3. Check whether the cluster is started and running.

    kubectl get nodes
    >
    NAME                          STATUS   ROLES           AGE   VERSION
    mykindcluster-control-plane   Ready    control-plane   25s   v1.31.0
    

    You can see a node named mykindcluster-control-plane from the output, which means the cluster is created successfully.

  4. (Optional) Configure a cluster with multiple nodes.

    Kind also supports clusters with multiple nodes. You can create a multi-node cluster by a configuration file.

    kind: Cluster
    apiVersion: kind.x-k8s.io/v1alpha4
    nodes:
      role: control-plane
      role: worker
      role: worker
    

    Use the configuration file to create a multi-node cluster.

    kind create cluster --name multinode-cluster --config kind-config.yaml
    
  5. If you want to delete the Kind cluster, run the command below.

    kind delete cluster --name mykindcluster
    

Create a Kubernetes cluster using Minikube

Minikube runs a single-node Kubernetes cluster on your local machine, either in a virtual machine or a container.

  1. Install Minikube. For details, you can refer to Minikube Quick Start.

    brew install minikube
    
    curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm
    sudo rpm -Uvh minikube-latest.x86_64.rpm
    

    You can use chocolatey to install Minikube.

    choco install minikube
    
  2. Start Minikube. This command will create a local Kubernetes cluster.

    minikube start
    

    You can also specify other drivers (such as Docker, Hyperkit, KVM) to start it.

    minikube start --driver=docker
    
  3. Verify whether Minikube and the K8s cluster is running normally.

    Check whether Minikube is running.

    minikube status
    >
    minikube
    type: Control Plane
    host: Running
    kubelet: Running
    apiserver: Running
    kubeconfig: Configured
    

    Check whether the K8s cluster is running.

    kubectl get nodes
    >
    NAME       STATUS   ROLES           AGE    VERSION
    minikube   Ready    control-plane   1d     v1.26.3
    

    From the output, we can see that the Minikube node is ready.

Create a Kubernetes cluster using k3d

k3d is a lightweight tool that runs k3s (a lightweight Kubernetes distribution) in Docker containers.

  1. Install k3d. For details, refer to k3d Quick Start.

    brew install k3d
    
    curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash
    

    You can use chocolatey to install k3d.

    choco install k3d
    
  2. Create a k3s cluster.

    k3d cluster create myk3s
    

    This command will create a Kubernetes cluster named as myk3s with a single node.

  3. Verify whether this cluster is running normally.

    kubectl get nodes
    >
    NAME                 STATUS   ROLES                  AGE   VERSION
    k3d-myk3s-server-0   Ready    control-plane,master   31s   v1.30.4+k3s1
    
  4. If you want to delete the k3s cluster, run the command below.

    k3d cluster delete myk3s
    

© 2025 ApeCloud PTE. Ltd.