ob-operator
ob-operator
是满足 Kubernetes Operator 扩展范式的自动化工具,可以极大简化在 Kubernetes 上部署和管理 OceanBase 集群及相关资源的过程。
快速上手
这部分以一个简单示例说明如何使用 ob-operator 快速部署 OceanBase 集群。
前提条件
开始之前请准备一套可用的 Kubernetes 集群,并且至少可以分配 2C, 10G 内存以及 100G 存储空间。
ob-operator 依赖 cert-manager, cert-manager 的安装可以参考对应的安装文档,如果您无法访问官方制品托管在 quay.io
镜像站的镜像,可通过下面的指令安装我们转托在 docker.io
中的制品:
kubectl apply -f https://raw.githubusercontent.com/oceanbase/ob-operator/stable/deploy/cert-manager.yaml
本例子中的 OceanBase 集群存储依赖 local-path-provisioner 提供, 需要提前进行安装并确保其存储目的地有足够大的磁盘空间。如果您计划在生产环境部署,推荐使用其他的存储解决方案。我们在存储兼容性一节提供了我们测试过的存储兼容性结果。
部署 ob-operator
使用 YAML 配置文件·
通过以下命令即可在 K8s 集群中部署 ob-operator:
- 稳定版本
kubectl apply -f https://raw.githubusercontent.com/oceanbase/ob-operator/stable/deploy/operator.yaml
- 开发版本
kubectl apply -f https://raw.githubusercontent.com/oceanbase/ob-operator/master/deploy/operator.yaml
使用 Helm Chart
Helm Chart 将 ob-operator 部署的命名空间进行了参数化,可在安装 ob-operator 之前指定命名空间。
helm repo add ob-operator https://oceanbase.github.io/ob-operator/
helm repo update
helm install ob-operator ob-operator/ob-operator --namespace=oceanbase-system --create-namespace
使用 terraform
部署所需要的文件放在项目的 deploy/terraform
目录
- 生成配置变量:
在开始部署前,需要通过以下命令来生成
terraform.tfvars
文件,用来记录当前 Kubernetes 集群的一些配置。
cd deploy/terraform
./generate_k8s_cluster_tfvars.sh