k8s 通过mongo operator部署单节点mongo 7.0.16

 

 

1、添加Helm仓库

helm repo add mongodb https://mongodb.github.io/helm-charts

 

2、部署Operator

helm upgrade --install mongodb-operator mongodb/mongodb-kubernetes --namespace cicd  --create-namespace 

 

3、验证安装

kubectl get pods -n cicd
[ecs-user@ali-stg-saas-eks mongodb]$ kc get pods -n cicd | grep mongo
mongodb-kubernetes-operator-5d9cdc4f89-s6f67   1/1     Running                      0          47h

 

kubectl get crd | grep mongo

 

4、创建必要的Secret和ConfigMap

# 创建admin密码Secret
kubectl create secret generic mongodb-admin-password \
  --namespace cicd \
  --from-literal=password="djkj@2025"

# 创建SCRAM凭证Secret(社区版需要)
kubectl create secret generic mongodb-scram \
  --namespace cicd \
  --from-literal=scram="$(openssl rand -base64 32)"

 

5、安装mongodb

vim mongodb-community.yaml

 

apiVersion: mongodbcommunity.mongodb.com/v1
kind: MongoDBCommunity
metadata:
  name: mongodb-community-instance
  namespace: cicd
spec:
  members: 1
  type: ReplicaSet
  version: "7.0.16"
  security:
    authentication:
      modes: ["SCRAM"]
  users:
    - name: admin
      db: admin
      passwordSecretRef:
        name: mongodb-admin-password
      roles:
        - name: clusterAdmin
          db: admin
        - name: userAdminAnyDatabase
          db: admin
      scramCredentialsSecretName: mongodb-scram
  # 配置存储 - 明确指定两个卷
  statefulSet:
    spec:
      volumeClaimTemplates:
        - metadata:
            name: data-volume
          spec:
            accessModes: ["ReadWriteOnce"]
            storageClassName: "alicloud-disk-ssd"
            resources:
              requests:
                storage: 20Gi
        - metadata:
            name: logs-volume
          spec:
            accessModes: ["ReadWriteOnce"]
            storageClassName: "alicloud-disk-ssd"
            resources:
              requests:
                storage: 20Gi  # 日志卷可以小一些

 

kc apply -f mongodb-community.yaml

 

posted @ 2026-03-26 15:11  苦逼yw  阅读(2)  评论(0)    收藏  举报