Sid*_*ath 0 postgresql kubernetes
我已使用此链接在 Kubernetes 上部署 Postgres。
下面是配置图:
apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-config
labels:
app: postgres
data:
POSTGRES_DB: postgresdb
POSTGRES_USER: postgresadmin
POSTGRES_PASSWORD: admin123
Run Code Online (Sandbox Code Playgroud)
和部署:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: postgres
spec:
replicas: 1
template:
metadata:
labels:
app: postgres
spec:
containers:
- name: postgres
image: postgres:10.4
imagePullPolicy: "IfNotPresent"
ports:
- containerPort: 5432
envFrom:
- configMapRef:
name: postgres-config
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: postgredb
volumes:
- name: postgredb
persistentVolumeClaim:
claimName: postgres-pv-claim
Run Code Online (Sandbox Code Playgroud)
我希望 configmap 或部署 yaml 中的简单配置将有助于在 postgres 数据库上创建新模式。
您可以使用 Kubernetes postStart 生命周期挂钩在给定的 Postgres DB 上创建架构。只需使用生命周期块更新您的部署文件即可。
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: postgres
name: postgres
spec:
containers:
- image: postgres:10.4
name: postgres
resources: {}
lifecycle:
postStart:
exec:
command: ["/bin/bash","-c","sleep 20 && PGPASSWORD=$POSTGRES_PASSWORD psql $POSTGRES_DB -U $POSTGRES_USER -c \'CREATE SCHEMA IF NOT EXISTS key;\'"]
envFrom:
- configMapRef:
name: postgres-config
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: data
dnsPolicy: ClusterFirst
restartPolicy: Never
volumes:
- name: data
emptyDir: {}
status: {}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3774 次 |
| 最近记录: |