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

k8s部署MongDB全過程

 更新時(shí)間: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虛擬機(jī),操作系統(tǒng)CentOS 8,且已經(jīng)基于Kubeadm搭好了k8s集群,k8s節(jié)點(diǎn)信息如下:

服務(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=

# 可自行修改為自己的賬號密碼,同時(shí)注意保存好,下文中創(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

五、測試

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

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

總結(jié)

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

相關(guān)文章

最新評論

五莲县| 南木林县| 遵义市| 武川县| 云浮市| 即墨市| 繁峙县| 仁怀市| 石林| 阳泉市| 田林县| 壤塘县| 抚远县| 旅游| 伊川县| 武穴市| 瑞安市| 巢湖市| 大埔县| 当涂县| 左贡县| 湖北省| 称多县| 文成县| 扎赉特旗| 高淳县| 日土县| 大连市| 涿州市| 彭泽县| 独山县| 开江县| 周至县| 湘乡市| 武功县| 宁德市| 景德镇市| 彰武县| 阳城县| 华阴市| 兰溪市|