[zh] Sync storage/storage-classes.md
This commit is contained in:
parent
db816e5490
commit
12bc4ff170
|
|
@ -371,28 +371,7 @@ Instead, you can use node selector for `kubernetes.io/hostname`:
|
||||||
|
|
||||||
{{< /note >}}
|
{{< /note >}}
|
||||||
|
|
||||||
```yaml
|
{{% code_sample language="yaml" file="storage/storageclass/pod-volume-binding.yaml" %}}
|
||||||
apiVersion: v1
|
|
||||||
kind: Pod
|
|
||||||
metadata:
|
|
||||||
name: task-pv-pod
|
|
||||||
spec:
|
|
||||||
nodeSelector:
|
|
||||||
kubernetes.io/hostname: kube-01
|
|
||||||
volumes:
|
|
||||||
- name: task-pv-storage
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: task-pv-claim
|
|
||||||
containers:
|
|
||||||
- name: task-pv-container
|
|
||||||
image: nginx
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
name: "http-server"
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: "/usr/share/nginx/html"
|
|
||||||
name: task-pv-storage
|
|
||||||
```
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
## Allowed topologies
|
## Allowed topologies
|
||||||
|
|
@ -416,22 +395,7 @@ supported plugins.
|
||||||
这个例子描述了如何将制备卷的拓扑限制在特定的区域,
|
这个例子描述了如何将制备卷的拓扑限制在特定的区域,
|
||||||
在使用时应该根据插件支持情况替换 `zone` 和 `zones` 参数。
|
在使用时应该根据插件支持情况替换 `zone` 和 `zones` 参数。
|
||||||
|
|
||||||
```yaml
|
{{% code_sample language="yaml" file="storage/storageclass/storageclass-topology.yaml" %}}
|
||||||
apiVersion: storage.k8s.io/v1
|
|
||||||
kind: StorageClass
|
|
||||||
metadata:
|
|
||||||
name: standard
|
|
||||||
provisioner: kubernetes.io/example
|
|
||||||
parameters:
|
|
||||||
type: pd-standard
|
|
||||||
volumeBindingMode: WaitForFirstConsumer
|
|
||||||
allowedTopologies:
|
|
||||||
- matchLabelExpressions:
|
|
||||||
- key: topology.kubernetes.io/zone
|
|
||||||
values:
|
|
||||||
- us-central-1a
|
|
||||||
- us-central-1b
|
|
||||||
```
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
## Parameters
|
## Parameters
|
||||||
|
|
@ -476,24 +440,7 @@ Kubernetes 项目建议你转为使用 [AWS EBS](https://github.com/kubernetes-s
|
||||||
|
|
||||||
以下是一个针对 AWS EBS CSI 驱动程序的 StorageClass 示例:
|
以下是一个针对 AWS EBS CSI 驱动程序的 StorageClass 示例:
|
||||||
|
|
||||||
```yaml
|
{{% code_sample language="yaml" file="storage/storageclass/storageclass-aws-ebs.yaml" %}}
|
||||||
apiVersion: storage.k8s.io/v1
|
|
||||||
kind: StorageClass
|
|
||||||
metadata:
|
|
||||||
name: ebs-sc
|
|
||||||
provisioner: ebs.csi.aws.com
|
|
||||||
volumeBindingMode: WaitForFirstConsumer
|
|
||||||
parameters:
|
|
||||||
csi.storage.k8s.io/fstype: xfs
|
|
||||||
type: io1
|
|
||||||
iopsPerGB: "50"
|
|
||||||
encrypted: "true"
|
|
||||||
allowedTopologies:
|
|
||||||
- matchLabelExpressions:
|
|
||||||
- key: topology.ebs.csi.aws.com/zone
|
|
||||||
values:
|
|
||||||
- us-east-2c
|
|
||||||
```
|
|
||||||
|
|
||||||
### AWS EFS
|
### AWS EFS
|
||||||
|
|
||||||
|
|
@ -503,17 +450,7 @@ To configure AWS EFS storage, you can use the out-of-tree [AWS_EFS_CSI_DRIVER](h
|
||||||
要配置 AWS EFS 存储,你可以使用树外
|
要配置 AWS EFS 存储,你可以使用树外
|
||||||
[AWS_EFS_CSI_DRIVER](https://github.com/kubernetes-sigs/aws-efs-csi-driver)。
|
[AWS_EFS_CSI_DRIVER](https://github.com/kubernetes-sigs/aws-efs-csi-driver)。
|
||||||
|
|
||||||
```yaml
|
{{% code_sample language="yaml" file="storage/storageclass/storageclass-aws-efs.yaml" %}}
|
||||||
kind: StorageClass
|
|
||||||
apiVersion: storage.k8s.io/v1
|
|
||||||
metadata:
|
|
||||||
name: efs-sc
|
|
||||||
provisioner: efs.csi.aws.com
|
|
||||||
parameters:
|
|
||||||
provisioningMode: efs-ap
|
|
||||||
fileSystemId: fs-92107410
|
|
||||||
directoryPerms: "700"
|
|
||||||
```
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
- `provisioningMode`: The type of volume to be provisioned by Amazon EFS. Currently, only access point based provisioning is supported (`efs-ap`).
|
- `provisioningMode`: The type of volume to be provisioned by Amazon EFS. Currently, only access point based provisioning is supported (`efs-ap`).
|
||||||
|
|
@ -540,17 +477,7 @@ To configure NFS storage, you can use the in-tree driver or the
|
||||||
要配置 NFS 存储,
|
要配置 NFS 存储,
|
||||||
你可以使用树内驱动程序或[针对 Kubernetes 的 NFS CSI 驱动程序](https://github.com/kubernetes-csi/csi-driver-nfs#readme)(推荐)。
|
你可以使用树内驱动程序或[针对 Kubernetes 的 NFS CSI 驱动程序](https://github.com/kubernetes-csi/csi-driver-nfs#readme)(推荐)。
|
||||||
|
|
||||||
```yaml
|
{{% code_sample language="yaml" file="storage/storageclass/storageclass-nfs.yaml" %}}
|
||||||
apiVersion: storage.k8s.io/v1
|
|
||||||
kind: StorageClass
|
|
||||||
metadata:
|
|
||||||
name: example-nfs
|
|
||||||
provisioner: example.com/external-nfs
|
|
||||||
parameters:
|
|
||||||
server: nfs-server.example.com
|
|
||||||
path: /share
|
|
||||||
readOnly: "false"
|
|
||||||
```
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
- `server`: Server is the hostname or IP address of the NFS server.
|
- `server`: Server is the hostname or IP address of the NFS server.
|
||||||
|
|
@ -747,25 +674,7 @@ This internal provisioner of Ceph RBD is deprecated. Please use
|
||||||
Ceph RBD 的内部驱动程序已被弃用。请使用 [CephFS RBD CSI驱动程序](https://github.com/ceph/ceph-csi)。
|
Ceph RBD 的内部驱动程序已被弃用。请使用 [CephFS RBD CSI驱动程序](https://github.com/ceph/ceph-csi)。
|
||||||
{{< /note >}}
|
{{< /note >}}
|
||||||
|
|
||||||
```yaml
|
{{% code_sample language="yaml" file="storage/storageclass/storageclass-ceph-rbd.yaml" %}}
|
||||||
apiVersion: storage.k8s.io/v1
|
|
||||||
kind: StorageClass
|
|
||||||
metadata:
|
|
||||||
name: fast
|
|
||||||
provisioner: kubernetes.io/rbd
|
|
||||||
parameters:
|
|
||||||
monitors: 10.16.153.105:6789
|
|
||||||
adminId: kube
|
|
||||||
adminSecretName: ceph-secret
|
|
||||||
adminSecretNamespace: kube-system
|
|
||||||
pool: kube
|
|
||||||
userId: kube
|
|
||||||
userSecretName: ceph-secret-user
|
|
||||||
userSecretNamespace: default
|
|
||||||
fsType: ext4
|
|
||||||
imageFormat: "2"
|
|
||||||
imageFeatures: "layering"
|
|
||||||
```
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
- `monitors`: Ceph monitors, comma delimited. This parameter is required.
|
- `monitors`: Ceph monitors, comma delimited. This parameter is required.
|
||||||
|
|
@ -846,17 +755,7 @@ Kubernetes 项目建议你转为使用
|
||||||
-->
|
-->
|
||||||
### Azure 文件(已弃用) {#azure-file}
|
### Azure 文件(已弃用) {#azure-file}
|
||||||
|
|
||||||
```yaml
|
{{% code_sample language="yaml" file="storage/storageclass/storageclass-azure-file.yaml" %}}
|
||||||
apiVersion: storage.k8s.io/v1
|
|
||||||
kind: StorageClass
|
|
||||||
metadata:
|
|
||||||
name: azurefile
|
|
||||||
provisioner: kubernetes.io/azure-file
|
|
||||||
parameters:
|
|
||||||
skuName: Standard_LRS
|
|
||||||
location: eastus
|
|
||||||
storageAccount: azure_storage_account_name
|
|
||||||
```
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
- `skuName`: Azure storage account SKU tier. Default is empty.
|
- `skuName`: Azure storage account SKU tier. Default is empty.
|
||||||
|
|
@ -913,17 +812,7 @@ be read by other users.
|
||||||
-->
|
-->
|
||||||
### Portworx 卷(已弃用) {#portworx-volume}
|
### Portworx 卷(已弃用) {#portworx-volume}
|
||||||
|
|
||||||
```yaml
|
{{% code_sample language="yaml" file="storage/storageclass/storageclass-portworx-volume.yaml" %}}
|
||||||
apiVersion: storage.k8s.io/v1
|
|
||||||
kind: StorageClass
|
|
||||||
metadata:
|
|
||||||
name: portworx-io-priority-high
|
|
||||||
provisioner: kubernetes.io/portworx-volume
|
|
||||||
parameters:
|
|
||||||
repl: "1"
|
|
||||||
snap_interval: "70"
|
|
||||||
priority_io: "high"
|
|
||||||
```
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
- `fs`: filesystem to be laid out: `none/xfs/ext4` (default: `ext4`).
|
- `fs`: filesystem to be laid out: `none/xfs/ext4` (default: `ext4`).
|
||||||
|
|
@ -969,14 +858,7 @@ parameters:
|
||||||
-->
|
-->
|
||||||
### 本地 {#local}
|
### 本地 {#local}
|
||||||
|
|
||||||
```yaml
|
{{% code_sample language="yaml" file="storage/storageclass/storageclass-local.yaml" %}}
|
||||||
apiVersion: storage.k8s.io/v1
|
|
||||||
kind: StorageClass
|
|
||||||
metadata:
|
|
||||||
name: local-storage
|
|
||||||
provisioner: kubernetes.io/no-provisioner
|
|
||||||
volumeBindingMode: WaitForFirstConsumer
|
|
||||||
```
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Local volumes do not support dynamic provisioning in Kubernetes {{< skew currentVersion >}};
|
Local volumes do not support dynamic provisioning in Kubernetes {{< skew currentVersion >}};
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: task-pv-pod
|
||||||
|
spec:
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/hostname: kube-01
|
||||||
|
volumes:
|
||||||
|
- name: task-pv-storage
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: task-pv-claim
|
||||||
|
containers:
|
||||||
|
- name: task-pv-container
|
||||||
|
image: nginx
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
name: "http-server"
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: "/usr/share/nginx/html"
|
||||||
|
name: task-pv-storage
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
apiVersion: storage.k8s.io/v1
|
||||||
|
kind: StorageClass
|
||||||
|
metadata:
|
||||||
|
name: ebs-sc
|
||||||
|
provisioner: ebs.csi.aws.com
|
||||||
|
volumeBindingMode: WaitForFirstConsumer
|
||||||
|
parameters:
|
||||||
|
csi.storage.k8s.io/fstype: xfs
|
||||||
|
type: io1
|
||||||
|
iopsPerGB: "50"
|
||||||
|
encrypted: "true"
|
||||||
|
tagSpecification_1: "key1=value1"
|
||||||
|
tagSpecification_2: "key2=value2"
|
||||||
|
allowedTopologies:
|
||||||
|
- matchLabelExpressions:
|
||||||
|
- key: topology.ebs.csi.aws.com/zone
|
||||||
|
values:
|
||||||
|
- us-east-2c
|
||||||
|
|
||||||
|
# `tagSpecification`: 带有这个前缀的 tag 被应用到动态制备的 EBS 卷
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
kind: StorageClass
|
||||||
|
apiVersion: storage.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: efs-sc
|
||||||
|
provisioner: efs.csi.aws.com
|
||||||
|
parameters:
|
||||||
|
provisioningMode: efs-ap
|
||||||
|
fileSystemId: fs-92107410
|
||||||
|
directoryPerms: "700"
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
apiVersion: storage.k8s.io/v1
|
||||||
|
kind: StorageClass
|
||||||
|
metadata:
|
||||||
|
name: azurefile
|
||||||
|
provisioner: kubernetes.io/azure-file
|
||||||
|
parameters:
|
||||||
|
skuName: Standard_LRS
|
||||||
|
location: eastus
|
||||||
|
storageAccount: azure_storage_account_name # 示例值
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
apiVersion: storage.k8s.io/v1
|
||||||
|
kind: StorageClass
|
||||||
|
metadata:
|
||||||
|
name: fast
|
||||||
|
provisioner: kubernetes.io/rbd # 这个 provisioner 已被弃用
|
||||||
|
parameters:
|
||||||
|
monitors: 198.19.254.105:6789
|
||||||
|
adminId: kube
|
||||||
|
adminSecretName: ceph-secret
|
||||||
|
adminSecretNamespace: kube-system
|
||||||
|
pool: kube
|
||||||
|
userId: kube
|
||||||
|
userSecretName: ceph-secret-user
|
||||||
|
userSecretNamespace: default
|
||||||
|
fsType: ext4
|
||||||
|
imageFormat: "2"
|
||||||
|
imageFeatures: "layering"
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
apiVersion: storage.k8s.io/v1
|
||||||
|
kind: StorageClass
|
||||||
|
metadata:
|
||||||
|
name: local-storage
|
||||||
|
provisioner: kubernetes.io/no-provisioner # 表示这个 StorageClass 不支持自动制备
|
||||||
|
volumeBindingMode: WaitForFirstConsumer
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
apiVersion: storage.k8s.io/v1
|
||||||
|
kind: StorageClass
|
||||||
|
metadata:
|
||||||
|
name: example-nfs
|
||||||
|
provisioner: example.com/external-nfs
|
||||||
|
parameters:
|
||||||
|
server: nfs-server.example.com
|
||||||
|
path: /share
|
||||||
|
readOnly: "false"
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
apiVersion: storage.k8s.io/v1
|
||||||
|
kind: StorageClass
|
||||||
|
metadata:
|
||||||
|
name: portworx-io-priority-high
|
||||||
|
provisioner: kubernetes.io/portworx-volume # 这个 provisioner 已被弃用
|
||||||
|
parameters:
|
||||||
|
repl: "1"
|
||||||
|
snap_interval: "70"
|
||||||
|
priority_io: "high"
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
apiVersion: storage.k8s.io/v1
|
||||||
|
kind: StorageClass
|
||||||
|
metadata:
|
||||||
|
name: standard
|
||||||
|
provisioner: example.com/example
|
||||||
|
parameters:
|
||||||
|
type: pd-standard
|
||||||
|
volumeBindingMode: WaitForFirstConsumer
|
||||||
|
allowedTopologies:
|
||||||
|
- matchLabelExpressions:
|
||||||
|
- key: topology.kubernetes.io/zone
|
||||||
|
values:
|
||||||
|
- us-central-1a
|
||||||
|
- us-central-1b
|
||||||
Loading…
Reference in New Issue