zoukankan      html  css  js  c++  java
  • 在 K8S 中测试环境中搭建 mongodb

    在 K8S 测试环境搭建一个 mongodb,通过 nodeName 选定固定一个节点启动,通过 hostPath 来持久化

    vi rs-mongodb.yaml 
    
    apiVersion: apps/v1 
    kind: Deployment
    metadata:
      namespace: klvchen
      name: mongodb
      labels:
        app: mongodb
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: mongodb
      template:
        metadata:
          labels:
            app: mongodb
        spec:
          nodeName: k8s-node1    # 固定在 k8s-node1 节点
          containers:
          - name: mongodb
            image: mongo:4.2.9
            resources:
              limits:            # 限定资源
                cpu: 2000m
                memory: 8Gi
              requests:
                cpu: 100m
                memory: 8Gi
            env:
              - name: MONGO_INITDB_ROOT_USERNAME  # 设置用户名
                value: root
              - name: MONGO_INITDB_ROOT_PASSWORD  # 设置密码
                value: 'klvchen123'
            volumeMounts:
              - mountPath: /data/db                    
                name: mongodb-volume
          volumes:
            - name: mongodb-volume
              hostPath:
                path: /data/rs-mongodb-volume          # 映射的宿主机目录
                type: DirectoryOrCreate
     
    ---
    
    apiVersion: v1
    kind: Service
    metadata:
      namespace: klvchen
      name: mongodb
    spec:
      type: ClusterIP
      selector:
        app: mongodb
      ports:
      - port: 27017
        targetPort: 27017
    

    启动及访问

    # 启动
    kubectl apply -f rs-mongodb.yaml
    
    # 查看 
    kubectl get pod -n klvchen -o wide
    
    # 在 K8S 集群中的其他容器可以通过 FQDN 来访问
    mongodb.klvchen.svc.cluster.local:27017
    

    mongodb 简单操作

    # 可以通过 kubectl -n klvhcen exec -it POD_NAME /bin/bash 进入容器
    
    # 进入 mongodb 客户端
    mongo admin
    
    # 认证
    db.auth('root','klvchen123')
    
    # mongodb 创建 test 数据库,创建用户和密码
    use test
    db.createUser(
       {
         user: "test",
         pwd: "test123",
         roles: [ { role: "readWrite", db: "test" } ]
       }
     )
     
    
    # 备份,会在当前目录下默认创建名为 dump 的备份文件夹
    mongodump --host 127.0.0.1 --port 27017 -u test --authenticationDatabase test
    
    # 恢复
    mongorestore --host 127.0.0.1 --port 27017 -u test  --authenticationDatabase recommend dump
    
  • 相关阅读:
    LG5283 异或粽子
    LG2216 理想的正方形
    LG1484 种树
    洛谷3721 HNOI2017单旋(LCT+set+思维)
    洛谷3348 大森林 (LCT + 虚点 + 树上差分)
    CF1082E Increasing Frequency (multiset+乱搞+贪心)
    CF1082G Petya and Graph(最小割,最大权闭合子图)
    cf1082D Maximum Diameter Graph(构造+模拟+细节)
    洛谷3320 SDOI2015寻宝游戏(set+dfs序)(反向迭代器的注意事项!)
    CF613D Kingdom and its Cities(虚树+贪心)
  • 原文地址:https://www.cnblogs.com/klvchen/p/13685380.html
Copyright © 2011-2022 走看看