KubeBlocks

KubeBlocks笔记

概述

KubeBlocks 是一个开源的 Kubernetes 数据库 Operator,旨在帮助用户在 Kubernetes 上运行和管理多种类型的数据库。它提供了通用的 API 和命令行工具 kbcli,支持 MySQL、PostgreSQL、MongoDB、Redis、Kafka 等多种数据库引擎。

主要特点
  • 高可用性:集成成熟的高可用解决方案,如 Orchestrator、Patroni 和 Sentinel。
  • 备份恢复:支持全量、增量备份及点恢复功能。
  • 易于使用:提供 YAML 配置和 kbcli 命令行工具简化操作流程。
  • 可扩展性:具备插件机制,允许集成新的引擎或服务。
  • 多云支持:兼容 AWS、GCP、Azure 等主流云平台。
安装指南
  1. 环境准备

    • 准备一个可访问的 Kubernetes 集群,版本要求 1.22 及以上。
    • 安装 kubectl 和 Helm。
  2. 安装 Snapshot Controller

    • 部署 Snapshot Controller,用于管理 CSI 卷快照:
      helm repo add piraeus-charts https://piraeus.io/helm-charts/
      helm repo update
      helm install snapshot-controller piraeus-charts/snapshot-controller -n kb-system --create-namespace
      
  3. 安装 KubeBlocks

    • 获取最新版本号:
      curl -s "https://api.github.com/repos/apecloud/kubeblocks/releases?per_page=100&page=1" | jq -r '.[] | select(.prerelease == false) | .tag_name' | sort -V -r | head -n 1
      
    • 创建所需的 CRDs:
      kubectl create -f https://github.com/apecloud/kubeblocks/releases/download/<VERSION>/kubeblocks_crds.yaml
      
    • 添加 KubeBlocks 的 Helm 仓库并安装:
      helm repo add kubeblocks https://apecloud.github.io/helm-charts
      helm repo update
      helm install kubeblocks kubeblocks/kubeblocks --namespace kb-system --create-namespace
      
  4. 验证安装

    • 检查 KubeBlocks 的 Pod 是否正常运行:
      kubectl get pods -n kb-system
      
基本使用
  • 安装 kbcli
    curl -fsSL https://kubeblocks.io/installer/install_cli.sh | bash
    
  • 创建数据库集群
    kbcli create instance my-cluster \
        --cluster-type=mysql \
        --component-name=primary \
        --size=3
    
  • 查看集群状态
    kbcli cluster list
    kbcli cluster describe <cluster-name>
    
  • 删除数据库集群
    kbcli cluster delete <cluster-name>
    
访问官方文档和 GitHub 仓库
  • 官方文档:KubeBlocks 官方文档
  • GitHub 仓库:KubeBlocks GitHub 仓库

你可能感兴趣的:(K8s,学习)