gpt4 book ai didi

postgresql - SQL 脚本未运行 Kubernetes,但仅使用 Docker 运行良好

转载 作者:行者123 更新时间:2023-11-29 14:13:04 25 4
gpt4 key购买 nike

有一个非常简单的test.sql:

SELECT 'CREATE DATABASE test_dev'
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'test_dev')\gexec

\c test_dev

CREATE TABLE IF NOT EXISTS test_table (
username varchar(255)
);

INSERT INTO test_table(username)
VALUES ('test name');

按照我的预期执行以下操作:

Dockerfile.dev

FROM postgres:11-alpine
EXPOSE 5432
COPY ./db/*.sql /docker-entrypoint-initdb.d/
docker build -t testproj/postgres -f db/Dockerfile.dev .
docker run -p 5432:5432 testproj/postgres

这将创建数据库、切换到它、创建一个表并插入值。

现在我尝试在 Kubernetes 中使用 Skaffold 做同样的事情,但似乎什么都没发生:没有错误消息,但 postgres 中没有任何变化

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: init-script
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 500Mi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-storage
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres-deployment
spec:
replicas: 1
selector:
matchLabels:
component: postgres
template:
metadata:
labels:
component: postgres
spec:
volumes:
- name: postgres-storage
persistentVolumeClaim:
claimName: postgres-storage
- name: init-script
persistentVolumeClaim:
claimName: init-script
containers:
- name: postgres
image: postgres
ports:
- containerPort: 5432
volumeMounts:
- name: postgres-storage
mountPath: /var/lib/postgresql/data
subPath: postgres
- name: init-script
mountPath: /docker-entrypoint-initdb.d
---
apiVersion: v1
kind: Service
metadata:
name: postgres-cluster-ip-service
spec:
type: ClusterIP
selector:
component: postgres
ports:
- port: 5432
targetPort: 5432

我做错了什么?

基本上尝试遵循此处的答案,但没有成功。听起来我需要将 .sql 移动到持久卷。

https://stackoverflow.com/a/53069399/3123109

最佳答案

您不想在入口点文件夹上安装卷。您基本上是用一个空文件夹屏蔽图像中的脚本。此外,您没有使用修改后的图像,因此它一开始就不会有您的脚本。

关于postgresql - SQL 脚本未运行 Kubernetes,但仅使用 Docker 运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58967417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com