k8s部署MongDB全过程

2025-01-20 16:50

本文主要是介绍k8s部署MongDB全过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接...

一、环境准备

1.1 环境说明

本文搭建MongoDB,基于WMware虚拟机,操作系统Centos 8,且已经基于Kubeadm搭好了k8s集群,k8s节点信息如下:

服务器IP地址
master192.168.31.80
node1192.168.31.8
node2192.168.31.9

如需知道k8s集群搭建,可跳转我的文章《kubeadm部署k8s集群》查看。

1.2 创建 namespace

kubectl create ns mongdb

k8s部署MongDB全过程

1.3 创建mongdb账号/密码

echo -n 'root' | base64
# cm9vdA==
echo -n 'xiaoning' | base64
# eGlhb25pbmc=

# 可自行修改为自己的账号密码,同时注意保存好,下文中创建Secret需要

二、创建Secret

Kubernetes专门有一种资源叫做Secret,用来解决密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露PodTemplate的Spec信息中。

Secret也分三种类型,今天我们使用的是Opaque类型的Secret,它以base64编码格式存储密码、密钥等信息。

2.1 定义Secret 文件

cat > mongo-secret.yaml

2.2 生成mongo-secret.yaml

apiVersion: v1
kind: Secret
metadata:
  name: mongodb-secret
  namespace: mongdb
type: Opaque
data:
  # echo -n 'username' | base64
  mongo-root-username: cm9vdA==
  # echo -n 'pajavascriptsswpythonord' | base64
  mongo-root-password: eGlhb25pbmc=

2.3 执行命令,生成Secret资源

kubectl create -f mongo-secret.yaml

k8s部署MongDB全过程

三、创建mongodb服务

3.1 定义 MongoDB服务

cat > mongodb-server.yaml

3.2 生成mongodb-server.yaml

apiVersion: v1
kind: Service
metadata:
  name: mongodb-service
  namespace: mongdb
spec:
  type: NodePort
  selector:
    app: mongodb
  ports:
    - protocol: TCP
      port: 27017
      targetPort: 27017
      nodePort: 30017

3.3 执行命令生成Service

kubectl create -f mongodb-server.yaml

k8s部署MongDB全过程

四、创建Deployment

4.1 定义Deployment 服务

cat > mongodb-deployment.yaml

4.2 生成mongodb-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mongodb-deployment
  namespace: mongdb
  labels:
    app: mongodb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mongodb
  template:
    metadata:
      labels:
        app: mongodb
    spec:
      containers:
        - name: mongodb
          imChina编程age: mongo
          ports:
            - containerPort: 21017
          env:
            - name: MONGO_INITDB_ROOT_USERNAME
              valueFrom:
                secretKeyRef:
                  name: mongodb-secret
                  key: mongo-root-username
            - name: MONGO_INITDB_ROOT_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: mongodb-secret
                  key: mongo-root-password
          volumeMounts:
            - name: mongodb-storage
              mounhttp://www.chinasem.cntPath: /data/db
      volumes:
        - name: mongodb-storage
          emptyDir: {}

4.3 执行名称生成Deployment

kubectl create -f mongodb-deployment.yaml

k8s部署MongDB全过程

五、测试

k8s部署MongDB全过程

k8s部署MongDB全过程

从上面两个图片可以看出,MongoDB服务的外网IP是192.168.31.8,端口是30017,是mongodb-server.yaml中的nodePort指定的;我们使用Rophpbo 3T 这个工具,测试是否能正常连接和使用。

k8s部署MongDB全过程

k8s部署MongDB全过程

k8s部署MongDB全过程

k8s部署MongDB全过程

从上图中,我们已经可以看出,我们部署成功了,而且也通过连接工具成功连接上来使用。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持China编程(www.chinasem.cn)。

这篇关于k8s部署MongDB全过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1153146

相关文章

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

springboot健康检查监控全过程

《springboot健康检查监控全过程》文章介绍了SpringBoot如何使用Actuator和Micrometer进行健康检查和监控,通过配置和自定义健康指示器,开发者可以实时监控应用组件的状态,... 目录1. 引言重要性2. 配置Spring Boot ActuatorSpring Boot Act

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

mac安装redis全过程

《mac安装redis全过程》文章内容主要介绍了如何从官网下载指定版本的Redis,以及如何在自定义目录下安装和启动Redis,还提到了如何修改Redis的密码和配置文件,以及使用RedisInsig... 目录MAC安装Redis安装启动redis 配置redis 常用命令总结mac安装redis官网下

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

Kibana的安装和配置全过程

《Kibana的安装和配置全过程》Kibana是一个开源的数据分析和可视化平台,它与Elasticsearch紧密集成,提供了一个直观的Web界面,使您可以快速地搜索、分析和可视化数据,在本文中,我们... 目录Kibana的安装和配置1.安装Java运行环境2.下载Kibana3.解压缩Kibana4.配