minikube 搭clickhouse 集群

minikube 搭clickhouse 集群

准备

安装minikube

安装helm

安装kubectl等

启动minikube

复制代码
$ minikube start   --driver=docker   --image-mirror-country='cn'   --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'   --registry-mirror='https://docker.mirrors.ustc.edu.cn'   --cpus=4   --memory=3092   --disk-size=50g

k8s 官网只说了minikube start,这样默认分配的内存,磁盘比较小,另外默认从国外服务器拉取镜像,会失败,这样配置国内源

helm 拉取镜像

复制代码
$   helm upgrade --install clickhouse-operator altinity/altinity-clickhouse-operator   --namespace clickhouse   --set crdHook.enabled=false   --set image.pullPolicy=IfNotPresent --create-namespace \
\-n clickhouse

输出

复制代码
LAST DEPLOYED: Fri May 15 14:46:20 2026
NAMESPACE: clickhouse
STATUS: deployed
REVISION: 1
DESCRIPTION: Install complete
TEST SUITE: None

解释

--set image.pullPolicy=IfNotPresent ,镜像如果本地不存在才拉取,

--create-namespace -n clickhouse 创建名为clickhouse的命名空间

检查pod状态

复制代码
kubectl get pod  -n clickhouse

显示running就代表成功启动了

之前遇到的问题

kubectl get pod 查看的时候状态为ErrImagePullBackOff

原因:minikube里是一个独立的网络,docker没有用本地配置的国内源,导致拉取失败,minikube start的时候指定docker国内源后这个问题解决了

实际如果要测试的话,可以minikube ssh,进入内部空间,然后docker pull hello-world等镜像试试

pod状态异常查看

复制代码
kubectl describe pod clickhouse-operator-altinity-clickhouse-operator-7bcf95549r22cb -n clickhouse

重点看Event 下的错误信息,像ErrImagePullOff 就是这其中有些镜像拉去失败了

实在不行,可以本地拉取镜像,然后load到minikube,然后重启pod

docker pull xxxxx

minikube image load xxxxx

helm upgrade --install clickhouse-operator altinity/altinity-clickhouse-operator --namespace clickhouse --set crdHook.enabled=false --set image.pullPolicy=IfNotPresent --create-namespace

-n clickhouse

搭建一个最简单的 ClickHouse 集群

第一步:准备 YAML 文件

1分片1副本的测试集群

创建一个 first-cluster.yaml,内容如下:

复制代码
apiVersion: "clickhouse.altinity.com/v1"
kind: "ClickHouseInstallation"
metadata:
  name: cluster01
spec:
  configuration:
    clusters:
      - name: cluster01
        layout:
          shardsCount: 1
          replicasCount: 1

2.部署

复制代码
kubectl apply -f first-cluster.yaml -n clickhouse

3.查看集群状态

复制代码
# 查看 ClickHouseInstallation 资源的状态
kubectl get chi -n clickhouse
# 查看pod
kubectl get pods -n clickhouse  

4.连接测试

复制代码
kubectl exec -it chi-cluster01-cluster01-0-0-0 -n clickhouse -- clickhouse-client

查询测试

SELECT version();

SELECT cluster, host_name FROM system.clusters;

相关推荐
niyesd3 小时前
Kubernetes Pod 管理
云原生·容器·kubernetes
高卧怡怡3 小时前
Kubernetes的控制器实验
云原生·容器·kubernetes
腾讯数据架构师4 小时前
摩尔线程 GPU 怎么接入 Kubernetes 跑 DeepSeek?CubeStudio 摩尔线程(MUSA)适配实操
人工智能·云原生·容器·kubernetes·开源·mlops·maas
明王明王4 小时前
从零搭建一个单节点 K8S 可观测实验室(十三):总结——这个实验室如何服务工作、学习和开源项目
学习·kubernetes·开源
μθημα5 小时前
K8s Pod 管理实战:虚拟机环境下的具体命令与步骤
java·docker·kubernetes
leisoo80976 小时前
本地股票数据深度对比ClickHouse与Parquet存储方案 IG50免费开源股票数据API接口
clickhouse·开源
ylj_dev6 小时前
从 0 构建 AI Workload Platform(八):受限执行环境与 Kubernetes
docker·容器·kubernetes·分布式系统·ai工作流·容器安全·ai infra
sryyd_026 小时前
Kubernetes 控制器完全指南:从原理到实战
云原生·容器·kubernetes
niyesd7 小时前
Kubernetes Pod 控制器管理与实验记录
云原生·容器·kubernetes
池以遇8 小时前
云原生——k8s的pod管理及优化
云原生·容器·kubernetes