PostgreSQL 學(xué)習(xí)筆記(2):Kubernetes 單節(jié)點(diǎn)部署

一、創(chuàng)建 PersistentVolume

apiVersion: v1
kind: PersistentVolume
metadata:
  name: postgresql-pv
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/tmp/pgdb"

注:這里用的是 hostPath ,按我的理解應(yīng)該用可以支持分布式的存儲方式。

二、創(chuàng)建 PersistentVolumeClaim

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: postgresql-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi

三、創(chuàng)建 Deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: postgresql-deployment
spec:
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: postgresql
  template:
    metadata:
      labels:
        app: postgresql
    spec:
      containers:
        - image: postgres:12.4
          name: postgresql
          env:
            - name: POSTGRES_PASSWORD
              value: 123456
          ports:
            - containerPort: 5432
              name: postgresql
          volumeMounts:
            - name: postgresql-persistent-storage
              mountPath: /var/lib/postgresql/data
      volumes:
        - name: postgresql-persistent-storage
          persistentVolumeClaim:
            claimName: postgresql-pv-claim

四、創(chuàng)建 Service

apiVersion: v1
kind: Service
metadata:
  name: postgresql-client-service
  labels:
    app: postgresql
spec:
  type: NodePort
  ports:
    - port: 5432
      targetPort: 5432
      nodePort: 30432
      protocol: TCP
  selector:
    app: postgresql

注:這里是設(shè)定對外開發(fā)的端口為 30432 。

五、測試連接

psql -U postgres -h localhost -p 30432
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容