1
- 我有Azure机器(kubernetes)有2核心,1 GB的代理。我的两台服务在本机上运行,每台服务都有自己的Postgres(Deplyment,Service,Pv,PVC)。
- 我想在同一台机器上托管我的第三项服务。
- 所以当我试图创建Postgres部署(这也有自己的服务,光伏,PVC),但波德卡在
status=ContainerCreating
。 - 经过一番挖掘,我得知我的只支持
data-disks
。
所以我想,为什么在当前的服务没有使用早期部署的PVC
像:我们可以在kubernetes的相同持久卷中创建多个数据库吗?
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: third-postgres
labels:
name: third-postgres
spec:
replicas: 1
template:
metadata:
labels:
name: third-postgres
spec:
containers:
- name: third-postgres
image: postgres
env:
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
- name: POSTGRES_USER
value: third-user
- name: POSTGRES_PASSWORD
value: <password>
- name: POSTGRES_DB
value: third_service_db
ports:
- containerPort: 5432
volumeMounts:
- name: third-postgresdata
mountPath: /var/lib/postgresql/data
volumes:
- name: third-postgresdata
persistentVolumeClaim:
claimName: <second-postgres-data>
- 现在这个部署成功运行,但它不会创建新的数据库
third_service_db
- 可能因为第二个
PVC
已经存在,所以它跳过了Db创建部分? - 所以他们的任何方式我可以使用相同的
PVC
为我的所有服务和PVC
可以有多个数据库。所以,当我运行kubectl create -f <path-to-thirst-postgres.yaml>
它从ENV变量名称数据库配置和相同PVC
PVC用于请求PV,因此当您创建部署(第三服务)时,它会尝试为您配置一个* NEW * PV,并且状态= ContainerCreating可能表明提供失败。你可以检查你的存储类吗? –