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;

相关推荐
欢醉6 小时前
k8s调用服务异常cannot allocate memory
kubernetes·k8s
扶疏5258 小时前
Kubernetes Dashboard、动态卷供应、StatefulSet
容器·kubernetes
云烟成雨TD10 小时前
Kubernetes 系列【14】对象元数据:标签、标签选择器、命名空间、字段选择器
云原生·容器·kubernetes
SLD_Allen11 小时前
K8s+Ray:大模型时代AI Workload调度的通用范式
人工智能·容器·kubernetes
Skilce14 小时前
基于GitLab CI/CD + Kubernetes的自动化部署平台搭建
ci/cd·kubernetes·gitlab
only_Klein1 天前
k8sgpt集成Prometheus Grafana
gpt·kubernetes·prometheus
有毒的教程1 天前
Kubernetes进阶实战教程(生产落地完整版)
云原生·容器·kubernetes
白日焰火11 天前
Redis 哨兵搭建+ACL权限控制
linux·docker·kubernetes
h3guang Official2 天前
K8s安全实战:从漏洞靶场到红蓝对抗
安全·容器·kubernetes
X1ao hu2 天前
dashboard 动态卷 stateful
kubernetes