Postgresql IBM Bluemix容器上的Kubernetes Postgres
我正在尝试在Bluemix容器服务(Kubernetes)上部署Postgres 我已经创建了映像,并通过以下yaml文件进行了部署:Postgresql IBM Bluemix容器上的Kubernetes Postgres,postgresql,kubernetes,containers,ibm-cloud,ibm-cloud-kubernetes,Postgresql,Kubernetes,Containers,Ibm Cloud,Ibm Cloud Kubernetes,我正在尝试在Bluemix容器服务(Kubernetes)上部署Postgres 我已经创建了映像,并通过以下yaml文件进行了部署: apiVersion: v1 kind: Service metadata: name: tripbru-postgres labels: app: tripbruREST spec: ports: - port: 5432 targetPort: 5432 nodePort: 31432 selector
apiVersion: v1
kind: Service
metadata:
name: tripbru-postgres
labels:
app: tripbruREST
spec:
ports:
- port: 5432
targetPort: 5432
nodePort: 31432
selector:
app: tripbruREST
tier: frontend
type: NodePort
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: tripbru-postgres
labels:
app: tripbruREST
spec:
strategy:
type: Recreate
template:
metadata:
labels:
app: tripbruREST
tier: postgres
spec:
containers:
- image: registry.ng.bluemix.net/eliza/postgres:9.5
name: postgres
env:
- name: POSTGRES_PASSWORD
value: MYPASSWORD
ports:
- containerPort: 5432
name: postgres
volumeMounts:
- name: pg-data
mountPath: /var/lib/postgresql/data
- name: tz-config
mountPath: /etc/localtime
volumes:
- name: pg-data
emptyDir: {}
- name: tz-config
hostPath:
path: /usr/share/zoneinfo/Europe/Madrid
这有效地部署了it:
icordoba$ kubectl get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.10.10.1 <none> 443/TCP 1d
tripbru-postgres 10.10.10.232 <nodes> 5432:31432/TCP 1d
我进入docker实例,检查Postgres是否正常运行
我肯定我错过了什么。我需要其他yaml文件吗?谢谢。我用“吊舱”而不是部署解决了这个问题。我还更改了hostPath,并注意到短暂的“emptyDir”卷格式(这是Bluemix在免费Kubernetes服务中进行的测试,因此我不能使用真正的卷)。这是工作yaml:
apiVersion: v1
kind: Pod
metadata:
name: postgres
labels:
name: postgres
spec:
containers:
- name: postgres
image: registry.ng.bluemix.net/eliza/postgres:9.5
env:
- name: POSTGRES_PASSWORD
value: MYPASSWORD
ports:
- containerPort: 5432
volumeMounts:
- name: pg-data
mountPath: /var/lib/postgresql/data
- name: tz-config
mountPath: /etc/localtime
volumes:
- name: pg-data
#emptyDir: {}
hostPath:
path: "/opt/tripbruPostgres"
- name: tz-config
hostPath:
path: /usr/share/zoneinfo/Europe/Madrid
(请注意,我仍然不知道我的“部署”方法有什么问题,但使用Pod是可行的,因为我在这一阶段不需要复制)您可以添加您尝试连接的方式(从何处,使用什么工具进行测试)?只需从Internet连接即可。我想使用节点的外部IP和端口31432访问Postgres Pod。我已经在本地尝试了Minikube,它可以工作(相同的Yaml文件)。谢谢。请从主机(您的一个节点)检查它,因为看起来您可能必须允许访问bluemix防火墙配置中的某个端口
apiVersion: v1
kind: Pod
metadata:
name: postgres
labels:
name: postgres
spec:
containers:
- name: postgres
image: registry.ng.bluemix.net/eliza/postgres:9.5
env:
- name: POSTGRES_PASSWORD
value: MYPASSWORD
ports:
- containerPort: 5432
volumeMounts:
- name: pg-data
mountPath: /var/lib/postgresql/data
- name: tz-config
mountPath: /etc/localtime
volumes:
- name: pg-data
#emptyDir: {}
hostPath:
path: "/opt/tripbruPostgres"
- name: tz-config
hostPath:
path: /usr/share/zoneinfo/Europe/Madrid