IvorySQL Operator | 一键部署IvorySQL集群,高效管理与个性化配置尽在掌控
IvorySQL Operator是在Kubernetes上部署和管理IvorySQL集群的Operator。借助IvorySQL Operator,用户可以在极短时间内迅速部署一个功能完备的IvorySQL集群,同时涵盖TLS通信安全、高可用、备份恢复及全面的监控。
此外,IvorySQL Operator还支持用户根据实际业务需求进行自定义配置,充分满足个性化的使用场景。
01
安装IvorySQL Operator
1.1 环境准备
操作系统:版本:CentOS 7.x x86_64,配置建议cpu>2核,memory>4G,系统盘>100G
K8S: 版本:1.23.7
go: 版本:1.20
1.2 安装部署
1) 获取项目
git clone git@github.com:IvorySQL/ivory-operator.git
2)构建二进制文件
为了显著提升Go模块的下载和构建速度,我们推荐使用goproxy。通过设置环境变量GOPROXY,并指定国内可靠的代理服务器,可以大大提高模块获取的效率和稳定性,从而优化您的开发体验。
export GOPROXY=https://goproxy.cn,direct
go build -o ivory-operator ./cmd/ivory-operator # ivory-operator可自定义
3)运行该二进制文件,启动ivory-operator
nohup ./ivory-operator > ivyo.log 2>&1 &
4) 安装crd
crd文件位于项目ivory-operator/config/crd/bases下
kubectl create -f ivory-operator.ivorysql.org_ivoryclusters.yaml
5)查看crd
kubectl get crd
02
使用IvorySQL Operator
2.1 创建namespace
在开始之前,建议先创建一个namespace来进行资源隔离,确保后续在K8S中创建的相关资源都限定在这个namespace下。
kubectl create ns ivory-operator # ivory-operator可自定义
2.2 创建实例
编辑一个yaml文件(即CR文件,customer resource),该文件应详细声明IvorySQL集群所期望达到的状态。
apiVersion: ivory-operator.ivorysql.org/v1beta1
kind: IvoryCluster
metadata:
name: ivy01
namespace: ivory-operator
spec:
image: docker.io/ivorysql/ivorysql:ubi8-3.0-2.0-1
postgresVersion: 16
instances:
- name: instance1
replicas: 2
dataVolumeClaimSpec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: 1Gi
backups:
pgbackre