我在亚马逊网络服务中有一个kubernetes集群,在以下AZ中有ec2工作节点,在每个AZ中都有相应的PersistentVolumes。
us-west-2a
us-west-2b
us-west-2c
us-west-2d我的问题是,我想创建一个具有引用PersistentVolumeClaim的卷装载的部署,并保证它们位于同一AZ中,因为现在幸运的是,部署和PersistentVolumeClaim是否都在同一AZ中。如果它们不在同一AZ中,则部署将无法找到卷挂载。
我通过在每个AZ中手动创建EBS卷并将ID复制到规范中来创建4个PersistentVolumes。
{
"apiVersion": "v1",
"kind": "PersistentVolume",
"metadata": {
"name": "pv-2"
},
"spec": {
"capacity": {
"storage": "1Gi"
},
"accessModes": [
"ReadWriteOnce"
],
"persistentVolumeReclaimPolicy": "Retain",
"awsElasticBlockStore": {
"volumeID": "vol-053f78f0c16e5f20e",
"fsType": "ext4"
}
}
}{
"kind": "PersistentVolumeClaim",
"apiVersion": "v1",
"metadata": {
"name": "mydata",
"namespace": "staging"
},
"spec": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "10Mi"
}
}
}
}{
"apiVersion": "extensions/v1beta1",
"kind": "Deployment",
"metadata": {
"name": "myapp",
"namespace": "default",
"labels": {
"app": "myapp"
}
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app": "myapp"
}
},
"template": {
"metadata": {
"labels": {
"app": "myapp"
}
},
"spec": {
"containers": [
{
"name": "hello",
"image": "centos:7",
"volumeMounts": [ {
"name":"mydata",
"mountPath":"/etc/data/"
} ]
}
],
"volumes": [ {
"name":"mydata",
"persistentVolumeClaim":{
"claimName":"mydata"
}
}]
}
}
}
}https://stackoverflow.com/questions/55310673
复制相似问题