欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

k8s部署MongDB全過程

 更新時間:2025年01月20日 10:14:31   作者:夜夜流光相皎潔_小寧  
文章介紹了如何在Kubernetes集群中部署MongoDB,包括環(huán)境準(zhǔn)備、創(chuàng)建Secret、創(chuàng)建服務(wù)和Deployment,并通過Robo3T工具測試連接

一、環(huán)境準(zhǔn)備

1.1 環(huán)境說明

本文搭建MongoDB,基于WMware虛擬機,操作系統(tǒng)CentOS 8,且已經(jīng)基于Kubeadm搭好了k8s集群,k8s節(jié)點信息如下:

服務(wù)器IP地址
master192.168.31.80
node1192.168.31.8
node2192.168.31.9

如需知道k8s集群搭建,可跳轉(zhuǎn)我的文章《kubeadm部署k8s集群》查看。

1.2 創(chuàng)建 namespace

kubectl create ns mongdb

1.3 創(chuàng)建mongdb賬號/密碼

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

# 可自行修改為自己的賬號密碼,同時注意保存好,下文中創(chuàng)建Secret需要

二、創(chuàng)建Secret

Kubernetes專門有一種資源叫做Secret,用來解決密碼、token、密鑰等敏感數(shù)據(jù)的配置問題,而不需要把這些敏感數(shù)據(jù)暴露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 'password' | base64
  mongo-root-password: eGlhb25pbmc=

2.3 執(zhí)行命令,生成Secret資源

kubectl create -f mongo-secret.yaml

三、創(chuàng)建mongodb服務(wù)

3.1 定義 MongoDB服務(wù)

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 執(zhí)行命令生成Service

kubectl create -f mongodb-server.yaml

四、創(chuàng)建Deployment

4.1 定義Deployment 服務(wù)

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
          image: 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
              mountPath: /data/db
      volumes:
        - name: mongodb-storage
          emptyDir: {}

4.3 執(zhí)行名稱生成Deployment

kubectl create -f mongodb-deployment.yaml

五、測試

從上面兩個圖片可以看出,MongoDB服務(wù)的外網(wǎng)IP是192.168.31.8,端口是30017,是mongodb-server.yaml中的nodePort指定的;我們使用Robo 3T 這個工具,測試是否能正常連接和使用。

從上圖中,我們已經(jīng)可以看出,我們部署成功了,而且也通過連接工具成功連接上來使用。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java如何使用命令查看內(nèi)存占用情況

    Java如何使用命令查看內(nèi)存占用情況

    jhat是一個用于分析Java堆轉(zhuǎn)儲文件的工具,通過啟動Web服務(wù)器并加載堆轉(zhuǎn)儲文件,可以在瀏覽器中查看占用最多內(nèi)存的類及其詳細(xì)信息
    2025-02-02
  • SpringBoot配置Access-Control-Allow-Origin教程

    SpringBoot配置Access-Control-Allow-Origin教程

    文章介紹了三種配置Spring Boot跨域訪問的方法:1. 使用過濾器;2. 在WebConfig配置文件中設(shè)置;3. 通過注解配置,作者分享了個人經(jīng)驗,并鼓勵讀者支持腳本之家
    2025-03-03
  • 詳解Spring Security中權(quán)限注解的使用

    詳解Spring Security中權(quán)限注解的使用

    這篇文章主要為大家詳細(xì)介紹一下Spring Security中權(quán)限注解的使用方法,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定參考價值,需要的可以參考一下
    2022-05-05
  • SpringBoot整合MyCat實現(xiàn)讀寫分離的方法

    SpringBoot整合MyCat實現(xiàn)讀寫分離的方法

    這篇文章主要介紹了SpringBoot整合MyCat實現(xiàn)讀寫分離的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Spring Cloud之服務(wù)監(jiān)控turbine的示例

    Spring Cloud之服務(wù)監(jiān)控turbine的示例

    這篇文章主要介紹了Spring Cloud之服務(wù)監(jiān)控turbine的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • JDK1.8中的ConcurrentHashMap源碼分析

    JDK1.8中的ConcurrentHashMap源碼分析

    這篇文章主要介紹了JDK1.8中的ConcurrentHashMap源碼分析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • java使用httpclient發(fā)送post請求示例

    java使用httpclient發(fā)送post請求示例

    這篇文章主要介紹了java使用httpclient發(fā)送post請求示例,依賴JSON、HTTPClient等jar包,需要的朋友可以參考下
    2014-02-02
  • 項目管理利器-Maven(Windows安裝)圖文教程

    項目管理利器-Maven(Windows安裝)圖文教程

    下面小編就為大家?guī)硪黄椖抗芾砝?Maven(Windows安裝)圖文教程。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • bootstrap實現(xiàn)多個下拉框同時搜索的實例

    bootstrap實現(xiàn)多個下拉框同時搜索的實例

    下面小編就為大家?guī)硪黄猙ootstrap實現(xiàn)多個下拉框同時搜索的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Spring中集成Groovy的四種方式(小結(jié))

    Spring中集成Groovy的四種方式(小結(jié))

    這篇文章主要介紹了Spring中集成Groovy的四種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評論