溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

在kuebernetes上怎樣通過(guò)nfs-server持久化postgresql

發(fā)布時(shí)間:2021-12-30 10:25:05 來(lái)源:億速云 閱讀:159 作者:柒染 欄目:云計(jì)算

今天就跟大家聊聊有關(guān)在kuebernetes上怎樣通過(guò)nfs-server持久化postgresql,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

       kubernetes提供了多種持久存儲(chǔ)數(shù)據(jù)的方式,見官網(wǎng) 此處我們使用nfs-server做數(shù)據(jù)持久化的方式。直接開始部署我們的Postgresql吧

1. 初始化postgresql的配置

file: 01-postgresql-configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-config
namespace: kube-ops
labels:
app: postgres-prom
data:
POSTGRES_DB: postgresdb
POSTGRES_USER: postgresadmin
POSTGRES_PASSWORD: admin123

2. 創(chuàng)建對(duì)應(yīng)的存儲(chǔ)卷

file: 02-postgresql-pv.yaml,注意此處我們需要提前準(zhǔn)備好nfs-server,以及暴露出/data目錄供網(wǎng)絡(luò)存儲(chǔ)

apiVersion: v1
kind: PersistentVolume
metadata:
name: postgres-pv-volume
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
nfs:
server: 192.168.10.234path: /data

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-pv-claim
namespace: kube-ops
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi

3. 部署PostgraSQL

當(dāng)已有服務(wù)使用了nfs作為本地持久化存儲(chǔ)的時(shí)候,我們直接啟動(dòng)postgresql會(huì)初始化錯(cuò)誤,因此我們可以使用subPath: postgresql進(jìn)行區(qū)分
file: 03-postgresql-dp.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: postgres-prom
namespace: kube-ops
spec:
replicas: 1template:
metadata:
labels:
app: postgres-prom
spec:
containers:
- name: postgres
image: postgres:10.4imagePullPolicy: "IfNotPresent"ports:
- containerPort: 5432envFrom:
- configMapRef:
name: postgres-config
volumeMounts:
- mountPath: /var/lib/postgresql/data
subPath: postgresql
name: postgredb
volumes:
- name: postgredb
persistentVolumeClaim:
claimName: postgres-pv-claim

4. 暴露postgresql服務(wù)

file: 04-postgresql-svc.yaml

apiVersion: v1
kind: Service
metadata:
name: postgres
namespace: kube-ops
labels:
app: postgres-prom
spec:type: NodePort
ports:
- port: 5432selector:
app: postgres-prom

以上就是部署postgresql需要的文件,一切準(zhǔn)備就緒之后,我們就可以開始部署了

kubectl apply -f .

?  13-1-postgresql git:(master) ? (? kubernetes-admin@kubernetes:default) k get pods -n kube-ops -o wide -l app=postgres-prom
NAME                             READY   STATUS    RESTARTS   AGE   IP            NODE
postgres-prom-6f54c97948-fp8th   1/1     Running   0          18m   10.244.2.63   dev-k8s-node1

在kuebernetes上怎樣通過(guò)nfs-server持久化postgresql

看完上述內(nèi)容,你們對(duì)在kuebernetes上怎樣通過(guò)nfs-server持久化postgresql有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI