首页 > 数据库 >使用K8S集群运行MongoDB7.0

使用K8S集群运行MongoDB7.0

时间:2024-03-27 10:57:12浏览次数:31  
标签:name yaml mongodb app MongoDB7.0 pvc 集群 创建 K8S

参考:
https://hub.docker.com/_/mongo

  1. 创建PVC
    创建PVC用于数据持久化
# cat mongodb-pvc.yaml 
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mongodb-pvc
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 22Gi
  storageClassName: gluster-heketi-storageclass

创建pvc

# kubectl apply -f mongodb-pvc.yaml

查看创建的PVC

# kubectl get pvc  mongodb-pvc
NAME          STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                  AGE
mongodb-pvc   Bound    pvc-429a856d-ebdf-11ee-b17f-525400e71cb5   22Gi       RWO            gluster-heketi-storageclass   31m
  1. 创建Deployment
# cat mongodb-deployment.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: mongodb
  name: mongodb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mongodb
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: mongodb
    spec:
      containers:
      - image: mongo:7.0
        name: mongo
        ports:
        - containerPort: 27017
          protocol: TCP
        env:
        - name: MONGO_INITDB_ROOT_USERNAME
          value: "root"
        - name: MONGO_INITDB_ROOT_PASSWORD
          value: "password"
        volumeMounts:
        - mountPath: /data/db
          name: mongodb-pvc
      volumes:
      - name: mongodb-pvc
        persistentVolumeClaim:
          claimName: mongodb-pvc

注意添加以下环境变量用于鉴权,该变量名参考hub.docker.com得到

image

env:
- name: MONGO_INITDB_ROOT_USERNAME
  value: "root"
- name: MONGO_INITDB_ROOT_PASSWORD
  value: "qwer1234"

创建Deployment

# kubectl apply -f mongodb-deployment.yaml
  1. 创建Service
    把NodePort端口固定
# cat mongodb-servive.yaml 
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    app: mongodb
  name: mongodb
spec:
  ports:
  - port: 27017
    protocol: TCP
    targetPort: 27017
    nodePort: 47017
  selector:
    app: mongodb
  type: NodePort
status:
  loadBalancer: {}
  1. 使用NodeIP+端口访问
    下载MongoDB客户端
    下载地址
https://downloads.mongodb.com/compass/mongodb-compass-1.42.3-win32-x64.exe

使用用户名和密码连接
image

标签:name,yaml,mongodb,app,MongoDB7.0,pvc,集群,创建,K8S
From: https://www.cnblogs.com/minseo/p/18098435

相关文章

  • Rancher Dashboard 无法访问 引申发现K8S报错Unable to connect to the server: x509:
    访问RancherDashboard,发现无法访问由于笔者的rancher是用docker部署的,查看rancherlog:dockerlogs[container-name]截取一部分报错如下:..2024-03-2406:52:27.085313I|embed:readytoserveclientrequests2024-03-2406:52:27.085567I|etcdserver:published{N......
  • Hadoop集群
    今天的一套题,顺便解决了之前的一套不太会的题目,快哉!分享一下hadoop取证过程中遇到的问题!1、拿到服务器镜像,第一时间去看历史命令,因为历史命令可以清楚地看到嫌疑人之前在计算机上干过什么事情,这里我们发现在data.E01这台机子上存在docker容器,容器里面很明显是一个hadoop的集群......
  • spark-submit 主要参数详细说明及Standalone集群最佳实践
    文章目录1.前言2.参数说明3.Standalone集群最佳实践1.前言部署提交应用到spark集群,可能会用到spark-submit工具,鉴于网上的博客质量残差不齐,且有很多完全是无效且错误的配置,没有搞明白诸如--total-executor-cores、--executor-cores、--num-executors的关系......
  • 【K8s】scale缩容时删除指定pod
    PodDeletionCost是k8s1.22后默认开启的新特性,以annotation的方式作用于Pod,表示这个pod的“删除代价”,代价越小的pod删除优先级相对越高。因此在scale前给需要删除的pod加上annotation即可。//ActivePodsWithRanksisasortablelistofpodsandalistofcorresponding//r......
  • RabbitMQ工厂虚拟机集群可靠性测试报告
    高可用集群架构节点域名操作系统RabbitMQ版本Erlang版本rabbitmq1.mfg.tp-link.comCentos7.93.8.2823.3-2rabbitmq2.mfg.tp-link.comCentos7.93.8.2823.3-2rabbitmq3.mfg.tp-link.comCentos7.93.8.2823.3-2目前Centos7.9通过直接RPM包部署安装的版......
  • 1、融合通信专业术语知识学习VOIP、SIP、350M集群等
    摘自百度:1、VoIP和SIP的概念:VoIP和SIP都是通信领域中的重要概念,它们各自具有独特的功能和应用场景,但也存在一定的联系。VoIP,即VoiceoverInternetProtocol,是一种语音通话技术,它利用互联网协议(IP)进行语音通话与多媒体会议。这种技术将模拟声音信号数字化,并以数据封包的形式在IP......
  • rocketmq集群消费模式和广播消费模式代码分享
    Rocketmq消费模式在ApacheRocketMQ有两种消费模式,分别是:集群消费模式:当使用集群消费模式时,RocketMQ认为任意一条消息只需要被消费组内的任意一个消费者处理即可。(默认的消费模式)广播消费模式:当使用广播消费模式时,RocketMQ会将每条消息推送给消费组所有的消费者,保证消......
  • 查看k8s中etcd集群的状态
    1.1使用脚本下载与服务端相同版本的 etcdctl 软件包[[email protected]]$pwd/home/shutang/k8s/etcd[[email protected]]$lsdownload.sh[[email protected]]$catdownload.sh#!/bin/bashETCD_VER=v3.4.3ETCD_DIR=etcd-downloadDOWNLOAD_UR......
  • elasticsearch 组件基于单机的多实例集群
    声明:本示例主要作为测试用,生产请慎重。最近公司突发奇想,想让我们搞个单机多实例的es的集群,看看其性能咋样。通常来说,es作为搜索引擎,应用场景不乏日志分析、网络安全、搜索引擎等,有时也会用作日志数据库使用,毕竟其出色的搜索查询性能,不是同等量级关系型数据库可以比拟的,主要......
  • Docker进阶:Docker Swarm(集群搭建) —实现容器编排的利器
    Docker进阶:DockerSwarm(集群搭建)—实现容器编排的利器1、什么是DockerSwarm?2、DockerSwarm与DockerCompose的区别3、创建一个Swarm集群(1-Manager,2-Worker)1、资源准备2、初始化Swarm集群Manager节点3、添加Worker节点到Swarm集群4、Manager节点查看集群状态4、......