K8s 部署 PostgreSQL

1.Config

bash 复制代码
apiVersion: v1
kind: ConfigMap
metadata:
  name: postgres-config
  namespace: postgres
  labels:
    app: postgres
data:
  POSTGRES_DB: master
  POSTGRES_USER: postgres
  POSTGRES_PASSWORD: postgres

2. PersistentVolume

bash 复制代码
apiVersion: v1
kind: PersistentVolume
metadata:
  name: postgres-pv
spec:
  capacity:
    storage: 2Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  nfs:
    server: 192.168.11.210
    path: "/nfs/postgre-pv"

3.StatefulSet

bash 复制代码
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: postgres
  namespace: postgres
spec:
  serviceName: "postgres"
  replicas: 1
  selector:
    matchLabels:
      app: postgres
  template:
    metadata:
      labels:
        app: postgres
    spec:
      containers:
        - name: postgres
          image: postgres:9.5
          envFrom:
            - configMapRef:
                name: postgres-config
          ports:
            - containerPort: 5432
              name: postgredb
          volumeMounts:
            - name: postgres-data
              mountPath: /var/lib/postgresql/data
              subPath: postgres
  volumeClaimTemplates:
    - metadata:
        name: postgres-data
      spec:
        accessModes: ["ReadWriteOnce"]
        resources:
          requests:
            storage: 2Gi

4.Service

bash 复制代码
apiVersion: v1
kind: Service
metadata:
  name: postgres
  namespace: postgres
  labels:
    app: postgres
spec:
  ports:
    - port: 5432
      name: postgres
  type: LoadBalancer
  selector:
    app: postgres

5.运行和验证

bash 复制代码
# kubectl create ns postgres
# kubectl create -f xxxx
# kubectl get service -n postgres
NAME       TYPE           CLUSTER-IP    EXTERNAL-IP      PORT(S)          AGE
postgres   LoadBalancer   10.43.81.59   192.168.11.210   5432:31919/TCP   40s
相关推荐
阿波罗尼亚29 分钟前
容器 K8S Docker Kata 学习(一)
docker·容器·kubernetes
简单点了6 小时前
Docker部署kafka实操+Java中访问
docker·容器·kafka
MANONGMN12 小时前
【Docker实战进阶】Docker 实战命令大全
docker·容器
Jacob023413 小时前
Python与PostgreSQL实战:打造实时地理空间数据处理与管理系统
javascript·python·postgresql
独行soc13 小时前
2025年渗透测试面试题总结-15(题目+回答)
python·科技·docker·容器·面试·eureka
IvorySQL14 小时前
使用 libpq 的 COPY 协议维护自定义 PG 到 PG 连接
postgresql
果子⌂16 小时前
云原生环境 Prometheus 企业级监控实战
linux·运维·服务器·kubernetes·云计算·prometheus
探云抛雾؁ۣۖ17 小时前
云计算---k8s运维~创建pod与pod的安全策略
运维·kubernetes·云计算
小白不想白a19 小时前
【K8s】K8s控制器——复制集和deployment
云原生·容器·kubernetes
hhzz19 小时前
一键设置 NTP & 时区的脚本(亲测,适用于部署 K8S 的前置环境)
云原生·容器·kubernetes