Postgresql 我们可以在kubernetes的同一个持久卷中创建多个数据库吗? 我有一台Azure机器(kubernetes),它有2核1 GB的代理。我的两个服务在这台机器上运行,每个都有自己的Postgres(解聚、服务、Pv、PVC) 我想在同一台机器上托管我的第三个服务 所以,当我试图创建Postgres部署时(它也有自己的服务,PV,PVC),但Pod被困在status=ContainerCreating中 经过一番挖掘,我知道我的VM只支持数据磁盘
所以我想为什么不在当前服务中使用早期部署的Postgresql 我们可以在kubernetes的同一个持久卷中创建多个数据库吗? 我有一台Azure机器(kubernetes),它有2核1 GB的代理。我的两个服务在这台机器上运行,每个都有自己的Postgres(解聚、服务、Pv、PVC) 我想在同一台机器上托管我的第三个服务 所以,当我试图创建Postgres部署时(它也有自己的服务,PV,PVC),但Pod被困在status=ContainerCreating中 经过一番挖掘,我知道我的VM只支持数据磁盘,postgresql,azure,kubernetes,persistent-storage,kubectl,Postgresql,Azure,Kubernetes,Persistent Storage,Kubectl,所以我想为什么不在当前服务中使用早期部署的PVC,比如: apiVersion: extensions/v1beta1 kind: Deployment metadata: name: third-postgres labels: name: third-postgres spec: replicas: 1 template: metadata: labels: name: third-postgres spec:
PVC
,比如:
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>
apiVersion:extensions/v1beta1
种类:部署
元数据:
姓名:第三博士后
标签:
姓名:第三博士后
规格:
副本:1份
模板:
元数据:
标签:
姓名:第三博士后
规格:
容器:
-姓名:第三博士后
图片:博士后
环境:
-姓名:PGDATA
值:/var/lib/postgresql/data/pgdata
-姓名:POSTGRES_用户
值:第三个用户
-姓名:POSTGRES_密码
价值:
-姓名:POSTGRES_DB
值:第三个\u服务\u db
端口:
-集装箱港口:5432
体积数量:
-姓名:第三邮政总局
mountPath:/var/lib/postgresql/data
卷数:
-姓名:第三邮政总局
persistentVolumeClaim:
索赔名称:
- 现在,此部署已成功运行,但它不会创建新的数据库
third\u service\u db
- 可能是因为第二个
已经存在,所以它跳过了Db create部分李>PVC
- 我可以用同样的
为我的所有服务提供服务,同样的PVC
可以有多个数据库。因此,当我运行PVC
时,它从env变量中获取名称数据库配置,并在相同的kubectl create-f
PVC
对于AzureDisk,自动创建的卷只能由单个节点装载(读写访问模式),因此还有一个限制:每个部署最多只能有一个副本。您必须为每个部署创建一个PVC。一旦PVC被认领,在再次使用之前必须将其释放
在AzureDisk的情况下,自动创建的卷只能由单个节点装载(读写访问模式),因此还有一个限制:每个部署最多只能有一个副本。PVC用于请求PV,因此当您创建部署(第三服务)时,它试图为您提供一个新的PV,而status=ContainerCreating可能表明提供失败。您可以检查您的存储类吗?PVC用于请求PV,因此,当您创建部署(第三个服务)时,它会尝试为您调配新的PV,状态=ContainerCreating可能表明调配失败。你能检查一下你的存储类吗?