简介
mongodb官方提供的k8s operator有Enterprise(企业版)和Community(社区版).其中Enterprise是基于ops manager对集群进行管理,支持备份等高级功能.社区版仅支持部署基本的多副本集群.本文主要介绍社区版.
安装
git clone https://github.com/mongodb/mongodb-kubernetes-operator.git
cd mongodb-kubernetes-operator
创建k8s namespace.该命名空间用于管理Operator和mongodb服务
kubectl create ns mongodb
安装operator
kubectl create -f deploy/crds/mongodb.com_mongodb_crd.yaml -n mongodb
kubectl create -f deploy/operator/ -n namespace
ps: 若mongodb服务和operator服务不想部署在同一namespace,可以修改deploy/operator/operator.yaml 的WATCH_NAMESPACE字段
验证
kubectl get crd/mongodb.mongodb.com
kubectl get pods -n mongodb
安装mongodb资源
kubectl create -f deploy/crds/mongodb.com_v1_mongodb_scram_cr.yaml -n mongodb
验证
kubectl get pods -n mongodb
修改svc从clusterIp为NodePort(测试验证)
kubectl edit svc -n mongodb example-scram-mongodb
kubectl get svc -n mongodb example-scram-mongodb
获取svc的端口号后,即可通过navicat等工具进行连接,用户名为deploy/crds/mongodb.com_v1_mongodb_scram_cr.yaml中的spec.users.name字段和secret中的stringData.password (my-user/58LObjiMpxcjP1sMDW)