Dan*_*Dan 6 google-cloud-platform kubernetes google-kubernetes-engine
我正在使用Google Kubernetes Engine,希望我StatefulSet使用以前创建的磁盘,my-app-disk而不是为该集中的每个副本动态创建新的永久磁盘。我的配置如下:
PersistentVolume yaml:
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-app-data
labels:
app: my-app
spec:
capacity:
storage: 60Gi
accessModes:
- ReadWriteOnce
gcePersistentDisk:
pdName: my-app-disk
fsType: ext4
Run Code Online (Sandbox Code Playgroud)
PersistentVolumeClaim yaml:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-app-data
labels:
app: my-app
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 60Gi
selector:
matchLabels:
app: my-app
Run Code Online (Sandbox Code Playgroud)
StatefulSet yaml:
apiVersion: apps/v1beta2
kind: StatefulSet
metadata:
name: my-stateful-set
spec:
serviceName: my-stateful-set
replicas: 1
selector:
matchLabels:
app: my-app
updateStrategy:
type: RollingUpdate
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: gcr.io/projectname/my-app:0.0.3
ports:
- containerPort: 80
name: http
volumeMounts:
- name: my-app-data
mountPath: /data
volumeClaimTemplates:
- metadata:
name: my-app-data
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 50Gi
Run Code Online (Sandbox Code Playgroud)
StatefulSet将为PersistentVolumeClaim每个吊舱创建自己的一个,因此您不必自己创建一个。A PersistentVolume和a PersistentVolumeClaim将仅一对一绑定。您的PVC已绑定到您的卷,因此,由创建的任何PVC StatefulSet都无法绑定到您的卷,因此将不会使用它。
在您的情况下,您PersistentVolume和StatefulSet以下人员应该可以解决问题。请确保删除PersistentVolumeClaim您创建的,以便它不会绑定到上PersistentVolume。此外,确保存储类名称设置正确下方查看光伏并在volumeClaimTemplates你的StatefulSet下面或PVC制成由StatefulSet可能不结合到卷。
PersistentVolume.yaml:
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-app-data
labels:
app: my-app
spec:
capacity:
storage: 60Gi
storageClassName: standard
accessModes:
- ReadWriteOnce
gcePersistentDisk:
pdName: my-app-disk
fsType: ext4
Run Code Online (Sandbox Code Playgroud)
StatefulSet.yaml:
apiVersion: apps/v1beta2
kind: StatefulSet
metadata:
name: my-stateful-set
spec:
serviceName: my-stateful-set
replicas: 1
selector:
matchLabels:
app: my-app
updateStrategy:
type: RollingUpdate
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: gcr.io/projectname/my-app:0.0.3
ports:
- containerPort: 80
name: http
volumeMounts:
- name: my-app-data
mountPath: /data
volumeClaimTemplates:
- metadata:
name: my-app-data
spec:
selector:
matchLabels:
app: my-app
storageClassName: standard
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 50Gi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1171 次 |
| 最近记录: |