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可能表明提供失敗。你可以檢查你的存儲類嗎? –