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;

相关推荐
古城小栈2 小时前
通过 Kind 快速构建 k8s 集群
云原生·kubernetes·kind
珂玥c4 小时前
kubeadm方式部署 k8s 1.21
云原生·容器·kubernetes
小义_5 小时前
【Kubernetes】(十九)监控与升级
云原生·容器·kubernetes
炸炸鱼.6 小时前
Kubernetes Pod 深度理解:从入门到实战
云原生·容器·kubernetes·pod
云游牧者7 小时前
K8S网络策略全解-NetworkPolicy与GlobalNetworkPolicy实战
网络·容器·kubernetes·cni
宇明一不急7 小时前
k8s 常用的正则表达式
云原生·容器·kubernetes
云游牧者8 小时前
K8S-HPA自动扩缩容实战指南
云原生·容器·kubernetes·hpa·弹性伸缩·hpv
成为你的宁宁8 小时前
【K8S存储管理:PV/PVC动态供应及NFS动态供给实战】
云原生·容器·kubernetes
liux35288 小时前
Kubernetes v1.27.16 部署 Prometheus + Grafana + Alertmanager 监控体系
kubernetes