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;

相关推荐
liux35283 小时前
K8s存储卷全解析:PV/PVC/StorageClass 关系
kubernetes
江华森6 小时前
从零搭建 Kubernetes 集群并部署 Kuboard v3 管理面板 —— 国内环境完整实战教程
容器·kubernetes
时空无限13 小时前
clickhouse 数据损坏无法启动问题修复
clickhouse
xiaogg367813 小时前
Rancher2.0搭建kubernetes(K8S)集群
云原生·容器·kubernetes
成为你的宁宁13 小时前
【基于 Prometheus Operator 监控 K8s控制器、调度器、代理组件】
kubernetes·prometheus
IT策士13 小时前
第 44篇 k8s之实战:将 Web 应用迁移到 Kubernetes(上)
前端·容器·kubernetes
Zhu75815 小时前
在k8s环境部署elasticsearch+kibana
elasticsearch·kubernetes·jenkins
张青贤15 小时前
k8s驱逐节点和加入节点
kubernetes·kubeadm
IT策士16 小时前
第 42 篇 k8s之日志管理:使用 EFK 或 Loki 采集日志
云原生·容器·kubernetes