【发布时间】:2020-11-27 10:57:54
【问题描述】:
我目前正在 OVH 公共云上托管的 Kubernetes 集群上设置一个 postgres 实例。问题是我无法访问它。我知道我必须让psql -h host -U user --password -p 30904 db 连接,但问题是我不知道该放什么来代替host。本地主机?主节点的ip?另一个ip?
感谢您的宝贵时间。
postgres-deploy.yaml:
apiVersion: v1
kind: Service
metadata:
name: postgres
spec:
type:
NodePort
ports:
- port: 5432
selector:
app: postgres
---
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: postgres
spec:
selector:
matchLabels:
app: postgres
strategy:
type: Recreate
template:
metadata:
labels:
app: postgres
spec:
containers:
- image: postgres:13.1
name: postgres
env:
- name: POSTGRES_DB
valueFrom:
secretKeyRef:
name: ident
key: POSTGRES_DB
name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: ident
key: POSTGRES_USER
name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: ident
key: POSTGRES_PASSWORD
ports:
- containerPort: 5432
name: postgres
volumeMounts:
- name: postgres-persistent-storage
mountPath: /var/lib/postgresql/data2
volumes:
- name: postgres-persistent-storage
persistentVolumeClaim:
claimName: postgres-pv-claim
【问题讨论】:
-
您需要提供有关您的环境、kubernetes 配置等的更多详细信息。您是如何部署此数据库的,您是如何公开它的。你是使用 Deployment 还是 stateful set,使用了哪种服务。如果您能提供使用应用程序重现您的环境的所有步骤,那就太好了。
-
好的谢谢!所以我使用了一个用 OVH 创建的 kubernetes 集群,在 OVH 的标准节点操作系统上运行了一组池,所以我没有做太多这部分,它几乎由 OVH 自己管理。我所做的是使用 NodePort 类型的 postgres 服务部署 postgres。我将编辑我的帖子以将我的文件内容放在上面。
标签: postgresql kubernetes connection cloud psql