安装 KubeBlocks
KubeBlocks 是 Kubernetes 原生 operator,可通过 Helm 或者 kubectl 应用 YAML 文件安装 KubeBlocks。本文将介绍如何在现有的 Kubernetes 集群上部署 KubeBlocks。
如果您想要在本地环境试用 KubeBlocks,可通过 Playground 试用,或者先在本地创建 Kubernetes 测试集群,然后按照本文操作步骤安装 KubeBlocks。
环境准备
准备一个可访问的 Kubernetes 集群,版本要求 1.22 及以上。该集群应满足如下要求。
资源要求 | ||
---|---|---|
控制面 | 建议创建 1 个具有 4 核 CPU、4 GB 内存和 50 GB 存储空间的节点。 | |
数据面 | MySQL | 建议至少创建 3 个具有 2 核 CPU、4 GB 内存和 50 GB 存储空间的节点。 |
PostgreSQL | 建议至少创建 2 个具有 2 核 CPU、4 GB 内存和 50 GB 存储空间的节点。 | |
Redis | 建议至少创建 2 个具有 2 核 CPU、4 GB 内存和 50 GB 存储空间的节点。 | |
MongoDB | 建议至少创建 3 个具有 2 核 CPU、4 GB 内存和 50 GB 存储空间的节点。 |
安装步骤
- Helm
- kubectl
按照以下步骤使用 Helm 安装 KubeBlocks。
创建安装所依赖的 CRDs,并指定您想要安装的版本。
kubectl create -f https://github.com/apecloud/kubeblocks/releases/download/vx.y.z/kubeblocks_crds.yaml
您可以通过 KubeBlocks 发布列表 查看 KubeBlocks 的所有版本,包括 alpha 及 beta 版本。
也可通过执行以下命令,获取稳定版本:
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
添加 KubeBlocks 的 Helm 仓库。
helm repo add kubeblocks https://apecloud.github.io/helm-charts
helm repo update安装 KubeBlocks。
helm install kubeblocks kubeblocks/kubeblocks --namespace kb-system --create-namespace
如果您想要在安装 KubeBlocks 添加自定义容忍度,可使用以下命令:
helm install kubeblocks kubeblocks/kubeblocks --namespace kb-system --create-namespace \
--set-json 'tolerations=[ { "key": "control-plane-taint", "operator": "Equal", "effect": "NoSchedule", "value": "true" } ]' \
--set-json 'dataPlane.tolerations=[{ "key": "data-plane-taint", "operator": "Equal", "effect": "NoSchedule", "value": "true" }]'如果您想要安装指定版本的 KubeBlocks,可执行如下步骤:
在 KubeBlocks 发布列表 中查看可用版本。
使用
--version
指定版本,并执行以下命令。helm install kubeblocks kubeblocks/kubeblocks --namespace kb-system --create-namespace --version="x.y.z"
备注如果不指定版本,默认安装最新版本。
与 Kubernetes 中的其他资源相同,KubeBlocks 也可以通过 YAML 文件和 kubectl 命令进行安装。
从对应版本的 KubeBlocks 发布列表 中的资产部分获取
kubeblocks.yaml
文件地址。替换 YAML 文件地址,执行以下命令,安装 KubeBlocks。
kubectl create -f https://github.com/apecloud/kubeblocks/releases/download/vx.y.x/kubeblocks.yaml
验证 KubeBlocks 安装
执行以下命令,检查 KubeBlocks 是否已成功安装。
kubectl -n kb-system get pods
结果
如果工作负载都显示已处于 Running 状态,则表明已成功安装 KubeBlocks。
NAME READY STATUS RESTARTS AGE
alertmanager-webhook-adaptor-8dfc4878d-svzrc 2/2 Running 0 3m56s
grafana-77dfd6959-4gnhp 1/1 Running 0 3m56s
kb-addon-snapshot-controller-546f84b78d-8rjs4 1/1 Running 0 3m56s
kubeblocks-7cf7745685-ddlwk 1/1 Running 0 4m39s
kubeblocks-dataprotection-95fbc79cc-b544l 1/1 Running 0 4m39s
prometheus-alertmanager-5c9fc88996-qltrk 2/2 Running 0 3m56s
prometheus-kube-state-metrics-5dbbf757f5-db9v6 1/1 Running 0 3m56s
prometheus-node-exporter-r6kvl 1/1 Running 0 3m56s
prometheus-pushgateway-8555888c7d-xkgfc 1/1 Running 0 3m56s
prometheus-server-5759b94fc8-686xp 2/2 Running 0 3m56s