在 K8S 中测试环境中搭建 mongodb

news2024/9/29 9:22:29

 1.可在服务器上面创建

https://kubernetes.io/docs/home/   #k8s官网

 搜索Deployment  第一个就是例子

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    #资源类型,创建service
metadata:
  namespace: klvchen
  name: mongodb
spec:
  type: ClusterIP
  selector:                   #唯一性与Deployment上的保持一致性
    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

2.也可以直接在阿里云的ack上创建

 

apiVersion: apps/v1 
kind: Deployment
metadata:
  namespace: default
  name: mongodb
  labels:
    app: mongodb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mongodb
  template:
    metadata:
      labels:
        app: mongodb
    spec:
      containers:
      - name: mongodb
        image: mongo:4.2.9
        resources:
          limits:            # 限定资源
            cpu: 500m
            memory: 2Gi
          requests:
            cpu: 100m
            memory: 2Gi
        env:
          - name: MONGO_INITDB_ROOT_USERNAME  # 设置用户名
            value: root
          - name: MONGO_INITDB_ROOT_PASSWORD  # 设置密码
            value: 'znst@123'
        volumeMounts:
          - mountPath: /data/db       #容器的实际数据目录             
            name: mongodb-volume
      volumes:
        - name: mongodb-volume
          hostPath:
            path: /data/rs-mongodb-volume          # 映射的宿主机目录
            type: DirectoryOrCreate
---


apiVersion: v1
kind: Service   #资源类型,创建service
metadata:
  namespace: default
  name: mongodb
spec:
  type: ClusterIP
  selector:                  #唯一性与Deployment上的保持一致性
    app: mongodb
  ports:
  - port: 27017
    targetPort: 27017

---  #区分每个资源的开始

3.mongodb常用命令

mongo --port 27017 -u "root" -p "znst@123"   #登录mongodb  

show dbs             #查看数据库

use test    #创建数据库

db.demo.insert({"name":"测试数据库"})            #需要插入数据才能显示数据库

db.dropDatabase()           #删除数据库,需要use test到需要删除的库

db             #显示当前使用的数据。


                

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/128990.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32CubeMX学习笔记(50)——USB接口使用(DFU固件升级)

一、USB简介 USB(Universal Serial BUS)通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在 PC 领域的接口技术。USB 接口支持设备的即插即用和热插拔功能。USB 是在 1994 年底由英特尔、康柏、IBM、…

量子+智慧交通!玻色量子中标北京城市轨道交通项目

​2022年11月,玻色量子与北京交通大学国家重点实验室组成联合体,接受北京城市轨道交通咨询有限公司委托,三方共同探索和实施量子计算在智慧地铁中的应用场景研究工作。 北京城市轨道交通咨询有限公司 此次科研合作,玻色量子将充分…

IB学生申请牛津剑桥需要注意什么?

HL要选修3门颇具挑战性的课程,SL还要再选3门课程,写好IA,通过包括EE\CAS\TOK在内的3门核心科目,IB课程的学习压力确实挺大。。 对于志在牛剑这样顶尖高校的IB学生而言,压力更大,因为牛剑等顶尖高校对于IB小…

【JavaEE】在Linux上搭建一个Java部署环境

努力经营当下,直至未来明朗! 文章目录在Linux上搭建一个Java部署环境1. 安装jdk2. 安装tomcat3. 安装mysql小结普通小孩也要热爱生活! 在Linux上搭建一个Java部署环境 为了部署java web程序,需要安装:jdk、tomcat、m…

Pandas处理大数据的性能优化技巧

Pandas是Python中最著名的数据分析工具。在处理数据集时,每个人都会使用到它。但是随着数据大小的增加,执行某些操作的某些方法会比其他方法花费更长的时间。所以了解和使用更快的方法非常重要,特别是在大型数据集中,本文将介绍一…

百趣代谢组学文献分享:《Food Function》发表过的封面文章

百趣代谢组学今日分享西北大学食品科学与工程学院曹炜教授团队在食品科学领域国际著名学术期刊《Food& Function》上发表封面文章:Effects of honey-extracted polyphenols on serum antioxidant capacity and metabolic phenotype in rats。该研究在国际上首次…

Springboot定时调度任务动态管理

前言 现在智能手表、手环,相信很多人都使用过,其中有一个功能,就是会有各种的提醒,如喝水提醒、运动提醒、远眺提醒,本质上根据用户的设置,间隔一定时间执行一个调度任务,提醒用户做某件事情。这…

myBaits Expert Human Affinities Kit ——捕获人类样本中的 SNPs 信息,化石、法医样本和降解 DNA 样本均适用

myBaits Expert Human Affinities Kit用于人类基因组SNPs富集,该试剂盒与古人类种群遗传学领域的专家合作设计和开发,针对古代和现代人类种群中已知的2M以上多态位点设计,特异性捕获人类基因组文库中标志性的有效信息,提高人类种群…

ardupilot EKF3核心算法《可以使用的传感器》

目录 文章目录 目录摘要1.可以使用的传感器2.可以使用的传感器如果从代码中提供原始数据2.1 IMU传感器提供的有用数据2.2地磁传感器提供的有用数据2.3 GPS传感器提供的有用数据2.4 气压计传感器提供的有用数据摘要 本节主要讲解Ardupilot EKF3核心算法《可以使用的传感器》。 …

java租房app房东直租系统租房网站

简介 本系统是前后端分离的项目,前端使用mui开发科打包成为安卓的apk。后端采用springboot开发。主要是房东登录注册后,可以发布房源信息,可以上架下架编辑删除房源信息等,租房者可以搜索自己需要的房子,然后进入详情…

Maven基础知识

第1章 Maven 介绍 1.1 什么是 Maven 1.1.1 什么是 Maven Maven 的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven 在美国是一个口语化的词 语,代表专家、内行的意思。 一个对 Maven 比较正式的定义是这么说的:Maven 是一个项…

代码随想录算法训练营第二天 java : 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,

文章目录Leecode977.有序数组的平方题目链接题目暴力解法双指针解法小结Leecode209.长度最小的子数组。题目连接题目难点 :滑动窗口Leecode59.螺旋矩阵II题目链接题目思路用到的变量代码总结今日收获Leecode977.有序数组的平方 题目链接 题目 给你一个按 非递减顺…

攻防世界-shrine

题目 访问题目场景 这个界面很乱奥,我们访问网页源代码,我们就能看见我们需要审计的源码了 我们把python源码复制下来,进行分析 import flask import osapp flask.Flask(__name__)app.config[FLAG] os.environ.pop(FLAG)app.route(/) def…

如何对企业内部进行知识内容有效性管理

企业内部文档管理版本的场景,如果日常没有比较好的工具进行内容控制,经常出现意外,有些意外很小、但是有些意外可能就伤筋动骨,例如标书里边的文件放错了,如果定性为串标,那么就非常严重了。JVS 企业文档管…

细刨进程状态,浅谈僵尸进程,孤儿进程,进程切换

文章目录进程状态宏观上操作系统层面上理解进程状态具体Linux操作系统的状态kill -19 pid :停止进程kill -18 pid :继续进程D(disk sleep)深度睡眠$和 $^僵尸状态和死亡状态僵尸进程孤儿进程进程优先级由此衍生出另外几个概念进程…

目标检测指标IOU和mAP

IOU(交并比) 交并比(loU)函数做的是计算两个边界框交集和并集之比。可以用来判断定位算法的好坏。 一般来说,IoU大于等于0.5,那么结果是可以接受的,就说检测正确。如果预测器和实际边界框完美重叠,loU就是…

HTML5中的FileReader对象

FileReader FileReader主要用于将文件内容读入内存,通过一系列异步接口,可以在主线程中访问本地文件。 方法 readAsArrayBuffer(file):void : 异步按字节读取文件内容,结果用ArrayBuffer对象表示readAsBinaryString(file):void : 异步按字…

重磅!中国电信物联网用户超4亿

近日,中国电信物联网发展规模取得新突破,物联网用户超4亿,物联网用户数超过移动电话用户数,全面迈入“物超人”时代。 “物超人”,即代表“物”的移动物联网终端用户数超出代表“人”的移动电话用户数。工信部公布的数…

591页22万字城市智慧应急指挥中心信息化设计方案

【版权声明】本资料来源网络,仅用于行业知识分享,供个人学习参考,请勿商用。【侵删致歉】如有侵权请联系小编,将在收到信息后第一时间进行删除!完整资料领取见文末,部分资料内容: 目 录 第1章 项…

为有状态应用而生,云原生本地存储Carina正式进入CNCF沙箱

12月14日,云原生本地存储开源项目 Carina 通过了全球顶级开源基金会 CNCF 技术监督委员会(TOC)的评定,正式成为 CNCF 沙箱级项目(Sandbox Projects)。 Carina是由博云于2021年10月主导发起的云原生本地存储…