Rancher 部署 MongoDB

9 篇文章 1 订阅

前置

背景:在 K8S 集群用 bitnami 部署 MongoDB 有一定的学习成本,有兴趣可以参考 k8s 部署 mongodb 三种模式,且部署后发现 MongoDB 会随着时间推移占用越来越多的内存,暂没找到原有,现介绍一种简单易用的部署方式

必要条件:部署 Rancher,可以参考 docker 部署 rancher
为什么选择 Rancher 呢,因为 Rancher 是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。 Rancher 可以轻松地管理各种环境的 Kubernetes,满足 IT 需求并为 DevOps 团队提供支持。

讨论:该选择部署 deployment 还是 SatefulSet,这里简单做个归纳

deployment 的主要功能

  • 管理无状态应用
  • 管理Pod和ReplicaSet
  • 具有上线部署、副本设定、滚动升级、回滚等功能
  • 提供声明式更新,例如只更新一个新的Image
  • 应用场景:web服务

SatefulSet 的主要功能

  • 管理有状态应用
  • 解决Pod独立生命周期,保持 Pod 启动顺序和唯一性
  • 稳定,唯一的网络标识符,持久存储(例如:etcd配置文件,节点地址发生变化,将无法使用)
  • 有序,优雅的部署和扩展、删除和终止(例如:mysql主从关系,先启动主,再启动从),有序,滚动更新
  • 应用场景:数据库

由于 MongoDB 是数据库,持久存储是重中之重,所以选择 SatefulSet

 

部署

创建 Headless

为什么要先创建 Headless,因为没有 Headless,创建 SatefulSet 时,Service Name 将无法选择,而 Service Name 是必填项
在这里插入图片描述

  1. 选择 Headless 在这里插入图片描述
  2. 自定义命名
    在这里插入图片描述
  3. 配置端口
    在这里插入图片描述
  4. 配置关键字
    在这里插入图片描述

开始部署

  1. 选择 SatefulSet,点击 create
    在这里插入图片描述

  2. 自定义命名
    在这里插入图片描述

  3. 配置镜像名,这里使用最新 MongoDB 的 4.2 版本
    在这里插入图片描述

  4. 配置端口,Cluster IP:集群内部访问端口, Node Port:外部访问端口
    在这里插入图片描述

  5. 配置环境变量,分别是登录账号和登录密码
    在这里插入图片描述

  6. 创建 pvc
    在这里插入图片描述

  7. 自定义 pvc 名称,选择集群的 StorageClass,自定义 point 位置
    在这里插入图片描述

  8. 完成

 

测试

使用 navicat 连接部署成功的 MongoDB

  • 连接名:自定义
  • 连接:选择 Standalone
  • 主机:集群 IP
  • 端口:Node Port 定义的端口
  • 验证:选择 Password
  • 用户名:由 MONGO_INITDB_ROOT_USERNAME 配置
  • 密码:由 MONGO_INITDB_ROOT_PASSWORD 配置

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值