当前 Clusterpedia 已经支持通过 Helm 来进行快速部署。
首先,需要保证当前环境已经安装 helm v3 。
01
拉取仓库代码
当前暂时还未将 chart 上传至 charts 公共仓库
$ git clone https://github.com/clusterpedia-io/clusterpedia.git$ cd clusterpedia/charts
由于 clusterpedia 使用 bitnami/postgresql 和 bitnami/mysql 作为存储组件子 chart ,所以需要添加 bitnami 仓库,并更新 clusterpedia chart 的依赖。
$ helm repo add bitnami https://charts.bitnami.com/bitnami$ helm dependency build
Clusterpedia Chart 通过子 chart 的方式,提供了 bitnami/postgresql 和 bitnami/mysql 两款存储组件可供选择。
postgresql 为默认的存储组件,如果想要使用 mysql ,那么在后续安装命令中添加 -- set postgresql.enabled=false --set mysql.enabled=true 。
更多关于存储组件的配置,可以参考 bitnami/postgresql 和 bitnami/mysql 。
用户也可以选择不安装存储组件,而是使用外部组件,相关设置可以参考 charts/values.yaml
bitnami/postgresql: https://github.com/bitnami/charts/tree/master/bitnami/postgresql
bitnami/mysql: https://github.com/bitnami/charts/tree/master/bitnami/mysql
clusterpedia 要求环境中创建相应的 CRD 资源,可以选择手动部署 CRD YAML ,也可以在 Helm 中管理。手动管理
$ kubectl apply -f ./_crds
在后续安装命令中需要手动添加 --set installCRDs=true 即可。
Clusterpedia Chart 可以为用户创建,存储组件使用的 Local PV 。
用户在安装时,需要通过 --set persistenceMatchNode=<selected node name> 来指定 Local PV 所在节点。
如果用户不需要创建 Local PV ,那么需要使用 --set persistenceMatchNode=None 显式声明。
经过上述决策后,用户可以进行安装
$ helm install clusterpedia . \ --namespace clusterpedia-system \ --create-namespace \ --set persistenceMatchNode={{ LOCAL_PV_NODE }} \ # --set installCRDs=true
在卸载 Clusterpedia 前需要手动清理所有 PediaCluster 资源。
kubectl get pediacluster
PediaCluster 清理完成后就可以执行卸载命令。
$ helm -n clusterpedia-system uninstall clusterpedia
如果用户使用手动创建的 CRD 资源,那么同样也需要手动清理 CRD 。
$ kubectl delete -f ./_crds
注意 PVC 和 PV 并不会删除,用户需要手动删除。
如果创建了 Local PV 那么还需要进入相应节点,清理 Local PV 的遗留数据。
# 登录 Local PV 绑定的节点$ rm /var/local/clusterpedia/internalstorage/<storage type>
欢迎大家下载使用和参与讨论,并在 issue 提出自己的意见和想法。
项目地址: https://github.com/clusterpedia-io/clusterpedia
微信社群:
添加微信备注 [ clusterpedia ]
加入技术讨论群