最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

k8s部署MongDB全過程

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

一、環(huán)境準備

1.1 環(huán)境說明

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

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

如需知道k8s集群搭建,可跳轉我的文章《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、密鑰等敏感數據的配置問題,而不需要把這些敏感數據暴露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服務

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

kubectl create -f mongodb-server.yaml

四、創(chuàng)建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
          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服務的外網IP是192.168.31.8,端口是30017,是mongodb-server.yaml中的nodePort指定的;我們使用Robo 3T 這個工具,測試是否能正常連接和使用。

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

總結

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

相關文章

最新評論

法库县| 自治县| 卓尼县| 图木舒克市| 钟山县| 饶平县| 乌拉特中旗| 马龙县| 安义县| 保山市| 乌海市| 鹤壁市| 曲阳县| 博白县| 化州市| 会东县| 阿拉善左旗| 镇坪县| 连山| 承德市| 许昌县| 岑巩县| 韩城市| 运城市| 尼勒克县| 南雄市| 铁力市| 澳门| 外汇| 图们市| 迁安市| 清水河县| 澄城县| 丰城市| 紫阳县| 叙永县| 陈巴尔虎旗| 莱芜市| 阿拉善左旗| 澜沧| 嵊泗县|